Python量化交易之四_聚宽数据
Python 量化交易之四 _ 聚宽数据
介绍
之前测试过一些免费 API,比如 tushare 现在只能下载两年半数据,163 有的股票数据无法下载,pandas_reader 速度很慢,并且只能下载 A 股的各股数据,对基金和指数支持不佳。这两天尝试了聚宽平台提供的 API,它提供的功能基本够用,总结如下。
聚宽平台提供自 2005 年至今的股票相关数据(包含各股数据、指数、基金等等),需要申请一个免费试用帐号,使用期为一年,每天可下载最多 100 万条数据(所有 A 股历史数据不到 200 万条)。一天内不能下载所有数据,用两三天时间下载所有,然后每天更新数据肯定够用,而且速度较快。
聚宽数据以 Python 三方库方式提供,一直在更新维护中,最近一次 SDK 升级时间为 2019 年 5 月。
建议读者封装数据获取模块,下载后转换成自定义数据格式,这样数据源变化了,也不影响整体软件框架。
安装
安装方法如下:
1 | $ pip install git+https://github.com/JoinQuant/jqdatasdk.git |
(需要 python3.6 以上支持)
用法
1. 登录
1 | import jqdatasdk |
从网站 https://www.joinquant.com/ 注册。
2. 获取 K 线数据
1 | get_price(security="000001.XSHE", frequency='daily') |
用 security 股票或者指数的代码,frequency 指定频率,默认为日 K 线,还可以指定开始结束时间。
3. 获取股票或基金列表
1 | get_all_securities(types=[‘stock’]) |
用 types 指定需要获取的类型,stock 为获取股票列表,fund 为基金列表,index 指数列表,futures 期货列表……
4. 获取指数成份股
1 | jqdatasdk.get_index_stocks('000300.XSHG') |
上例为获取沪深 300 成份股的股票列表。
5. 获取股票所在的行业
1 | jqdatasdk.get_industry("600519.XSHG",date="2018-06-01") |
行业包括申万三级行业分类,聚宽二级行业分类,证监会行业分类,参数可通过列表,一次取多支股票。
6.查询财务数据
1 | get_fundamentals(query_object) |
query_object 是一个 sqlalchemy.orm.query.Query 对象,用于指定具体的查询内容,还可以用参数 statDate 指定查询财报的具体年份和季度。
7.查看还剩下多少条
1 | jqdatasdk.get_query_count() |
免费账号限制每日最多下载 100 万条,查看当日剩余可调用条数。
8.将股票代码转化成标准格式
1 | jqdatasdk.normalize_code('000001') |
转换结果为 '000001.XSHE'
参考
说明文档具体见:https://www.joinquant.com/data/dict/jqDataSdk