寻找金融数据的利器——JQData聚宽
缘起
最近要写毕业论文,研究的是金融市场风险问题,需要用到沪深300指数成分股的5分钟高频数据。接下来,我就去百度一下,搜索结果要不答非所问,要不是6位数的价格,令人难以接受。由于以前有做量化的经历,想起来以前用过的那几个平台也许能获得数据,经过反复的比较,最终选择了聚宽。
优势
选择了JQData,有以下几个原因:
第一、轻量化。像Wind之类的终端,不安装终端是没可能获取数据的,而终端有滚动7日1000万条数据(按字段)的限制,一条标准的1分钟K线数据包含:【时间戳、开盘价、最高价、最低价、收盘价、持仓量、成交量】,一条数据就有7个字段。所以看起来1000万不小实际没多少。只要用完,wind终端其他数据查询功能也用不了。而JQData现在是每天100万条数据,记住,是条!这一条中1个字段是一条,10个字段还是一条!
第二、质量。质量高不高,是用出来的、对不出来的,经过与多个数据源对比,质量很可靠。
第三、高效反馈。JoinQuant的社区真不是摆设,官方人员长期潜伏,遇到问题瞬间冒头这事儿真的容易圈粉,扛不住啊扛不住。而且,社区里高质量的帖子很多,潜水大神很多。当然啦,谁都有事情要忙的嘛,关于提问,给一个建议:能用搜索解决的问题一定别放过百度/Google。
第四、使用门槛低、成本无。时间成本不用考虑,用什么都需要时间。但JQData除了需要申请一下,其他啥成本也没有了。付费??不存在的。福利之所以称之为福利原因有2个:1、够不着付费的门槛。2、穷。 没错,金融的世界就是这么现实!
一年期试用账号申请入口:www.joinquant.com
安装
直接在cmd命令行下使用python的pip方式安装即可:
pip install jqdatasdk
如果安装过程中出现如下错误:
Cannot uninstall 'sqlalchemy’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
可以对安装命令增加一个参数–ignore-installed,即使用如下命令:
pip install --ignore-installed jqdatasdk
其作用是忽略已安装的某些模块。
一般而言,如果你的Python环境没有魔改过,或者多个版本在一层内并存的话,不会出现什么问题。如果真的遇到了问题,没关系,社区有安装问答贴—>https://www.joinquant.com/post/12479
使用
使用前,首先引入jqdata所有方法:
from jqdatasdk import *
引入后,可以通过是否能够成功登陆来测试,
auth(‘账号’,‘密码’) #账号是申请时所填写的手机号;密码为聚宽官网登录密码,新申请用户默认为手机号后6位
对于jqdata的登录,原版auth的登录无论是否登录成功都不会有结果返回,如果自动化任务定时执行时,需要对是否登录成功进行判断,利用官方接口中如果登录失败会报错,登录成功则打印信息的逻辑,封装一个登录方法:
def login(user, pw):
try:
auth(user, pw)
return True
except Exception as e:
print(e)
return False
get_price是获取行情的方法。具体用法参见官方文档(非常详细)。
对于get_price方法,是可以传入多个合约/股票代码的。更加高效和简洁。
写到这里,基本上JQData的最基础用法已经介绍完了,而行情对于聚宽所能提供的数据来说,只是沧海一粟,完全不值得单独拿出来讲,但既然用到了,说一说还是有必要的。那JQData还能提供啥呢?
我想一句话能够概括——“你想到的金融数据,聚宽都有。如果,它没有,它可以有。”
最后,感谢所有帮助过我的朋友们、平台们。谢谢。