JQData 本地数据调用的一些技巧(人民币香港银行同业拆息 CNH Hibor)
引言
由于笔者最近在做一点小研究,需要人民币香港银行同业拆息 CNH Hibor 的数据,发现 JoinQuant 的 数据库JQData 内有该数据,同时有一个本地调用的数据接口 jqdatasdk。在这里,分享一些使用时的小技巧。
安装
安装过程与安装其他python库类似,但也有一些注意点,这里,给大家推荐一篇很全面的JQData安装指南,相信这篇指南足以解决大部分安装时遇到的困惑。
数据调用
导入数据包及认证身份
数据包的导入及身份的认证方法如下:
from jqdatasdk import *
auth('ID','password') # ID是在joinquant的账号,password是密码
上述代码执行后,出现:
auth success
便说明导入及认证成功,可以调用数据了。
数据调用
JQData数据包支持的数据种类很多,具体可以参考官方文档。
这里,我们以获取人民币香港银行同业拆息 CNH Hibor 的数据为例,给大家演示一下利用 JQData 调用数据的方法:
from jqdatasdk import macro
#利用MAC_LEND_RATE字段获取银行同业拆借利率
q = query(macro.MAC_LEND_RATE).filter(
macro.MAC_LEND_RATE.market_id=='3') #market_id值为3即代表香港银行同业拆借利率
df = macro.run_query(q)
hibor = df.sort_values(by = 'day') #按 day 排序
hibor.head() #查看前5行数据
这样就得到了Hibor的数据,具体的形式如下:
上面仅仅是对单一条件(market_id = ‘3’),即为香港银行同业拆借利率的数据的调用,如果我们想要在 filter 内写入多个条件,可以参考下面的方法:
from jqdatasdk import macro
q = query(macro.MAC_LEND_RATE).filter(
macro.MAC_LEND_RATE.currency_id =='1',
macro.MAC_LEND_RATE.market_id== '3').limit(10)
df = macro.run_query(q)
df.head()
这样,便得到了货币为人民币,利率为上海银行间同业拆放利率两个条件下的数据:
个条件下的数据的调用可依此类推。
导出数据
数据的导出到本地的方法如下:
hibor.to_excel('hibor.xls')
这样,我们便将数据导出到了本地:
打开后,其形式如下:
大家是否感觉很方便呢,如想试用JQData本地量化金融数据,可以在此申请试用。