- 运行代码下列代码,提示错误 没有安装 jqdata。
- 打开Anaconda Prompt 输入 pip install jqdata 提示cannot find command 'git'
- 然后百度了半天,有人说 pip install git 出错可以使用 conda install git 但是依然出错。
- 最后去官网下载了Git:https://git-scm.com/download/win
- 点击可执行文件进行安装,一路next, 然后将安装的有git.exe文件的路径添加到电脑的系统环境变量中。
- Git就安装好了。再去Anaconda Prompt 输入 下列两个中任意一个。
pip install git+https://github.com/JoinQuant/jqdatasdk.git
pip install git+https://github.com/JoinQuant/jqdatasdk.git -i https://mirrors.aliyun.com/pypi/simple/
- 如果提示成功就算安装好了,如果还是有提示没有git 就尝试将Anaconda Users的权限改一下试试,我改了之后解决问题了
如果使用命令行安装Jqdata包有问题,也可以选择下载到本地:https://codeload.github.com/JoinQuant/jqdatasdk/zip/master
然后打开Anaconda Prompt 转到文件放置的位置,cd mu\lu
转到setup.py文件所在目录后 运行 python setup.py install 安装即可。
####基于利润率中位数的行业分析
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
from jqdata import *#--设置参数----------------------------------------------------industry_name='sw_l2' #选择行业划分方法'''行业划分方法, 取值如下:"sw_l1": 申万一级行业"sw_l2": 申万二级行业"sw_l3": 申万三级行业"jq_l1": 聚宽一级行业"jq_l2": 聚宽二级行业"zjw": 证监会行业
'''
years=["2015","2016","2017","2018","2019"] #使用过去5年的财报数据进行分析
#-------------------------------------------------------------------------------------aa=get_industries(name=industry_name) #按照行业分类获取行业列表。
# print(aa)
aa=aa[['name']] #aa用于存放行业名称
a=list(aa.index) #a用于存放行业代码bb = pd.DataFrame() ####用于存放所有的财务数据!!!!!!for i in range (len(a)): #i用于行业的循环stocks= get_industry_stocks(a[i]) #获取行业的股票for j in years: #j用于年的循环pd1= get_fundamentals(query(indicator.code,indicator.net_profit_margin).filter(indicator.code.in_(stocks) #这里不能使用 in 操作, 要使用in_()函数),statDate=j) pd1["year"]=j #在数据中加入年的信息pd1["industry"]=aa.loc[a[i],"name"] #在数据中加入行业名称信息bb=bb.append(pd1)cc=bb.groupby('industry').median() ####算出行业利润率的median,并排序# df['net_profit_margin'].values.tolist()
cc=cc.sort_values("net_profit_margin",ascending=False) #按行业Median排序,
dd=cc.head(10) #用于存放优秀的行业
ee=cc.tail(10) #用于存放落后的行业
安装好后的JQdata在运行时会提示:run jqdatasdk.auth first
因为在使用JQdata库的时候需要验证
需要在开始的代码中加一句
auth('聚宽账号(手机号)','密码')
对于账号和密码需要你自己 去官网注册申请
链接:https://www.joinquant.com/user/login/index?type=login