欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Note: Python学习笔记 -- Anaconda install jqdata

程序员文章站 2022-04-15 18:05:50
...
  • 运行代码下列代码,提示错误 没有安装 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的权限改一下试试,我改了之后解决问题了

Note: Python学习笔记 -- Anaconda install jqdata

如果使用命令行安装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) #用于存放落后的行业