介绍

之前测试过一些免费API,比如tushare现在只能下载两年半数据,163有的股票数据无法下载,pandas_reader速度很慢,并且只能下载A股的各股数据,对基金和指数支持不佳。这两天尝试了聚宽平台提供的API,它提供的功能基本够用,总结如下。

聚宽平台提供自2005年至今的股票相关数据(包含各股数据、指数、基金等等),需要申请一个免费试用帐号,使用期为一年,每天可下载最多100万条数据(所有A股历史数据不到200万条)。一天内不能下载所有数据,用两三天时间下载所有,然后每天更新数据肯定够用,而且速度较快。

聚宽数据以Python三方库方式提供,一直在更新维护中,最近一次SDK升级时间为2019年5月。
建议读者封装数据获取模块,下载后转换成自定义数据格式,这样数据源变化了,也不影响整体软件框架。

安装

安装方法如下:

$ pip install git+https://github.com/JoinQuant/jqdatasdk.git

(需要python3.6以上支持)

用法

1. 登录

import jqdatasdk
jqdatasdk.auth("用户名","密码") 

从网站https://www.joinquant.com/ 注册。

2. 获取K线数据

get_price(security="000001.XSHE", frequency='daily')

用security股票或者指数的代码,frequency指定频率,默认为日K线,还可以指定开始结束时间。

3. 获取股票或基金列表

get_all_securities(types=[‘stock’])

用types指定需要获取的类型,stock为获取股票列表,fund为基金列表,index指数列表,futures期货列表……

4. 获取指数成份股

jqdatasdk.get_index_stocks('000300.XSHG')

上例为获取沪深300成份股的股票列表。

5. 获取股票所在的行业

jqdatasdk.get_industry("600519.XSHG",date="2018-06-01")

行业包括申万三级行业分类,聚宽二级行业分类,证监会行业分类,参数可通过列表,一次取多支股票。

6.查询财务数据

get_fundamentals(query_object)

query_object是一个sqlalchemy.orm.query.Query对象,用于指定具体的查询内容,还可以用参数statDate指定查询财报的具体年份和季度。

7.查看还剩下多少条

jqdatasdk.get_query_count() 

免费账号限制每日最多下载100万条,查看当日剩余可调用条数。

8.将股票代码转化成标准格式

jqdatasdk.normalize_code('000001')

转换结果为 '000001.XSHE'

参考

说明文档具体见:https://www.joinquant.com/data/dict/jqDataSdk

posted on 2019-09-27 08:51  xieyan0811  阅读(233)  评论(0编辑  收藏  举报