JQData说明书
由于内容较多,可以使用Ctrl F搜索您需要的数据。
注意:query函数的更多用法详见:query简易教程
JQData是什么
JQData聚宽数据团队为金融机构、学术团体和定量研究人员提供当地定量金融数据服务。JQData,可快速查看和计算金融数据,无障碍解决本地问题Web、对金融终端调用数据的需求。经过三年的沉淀,15万宽客和数百家机构进行了投资研究和交易验证。
使用上,JQData适用Windows、Mac、Linux支持多种操作系统python2、python3和任何编程语言。通过简单的数据API方式提供,pip它可以直接安装和使用,以摆脱使用的束缚,实现更多的场景。只需三行代码用三行代码~
JQData提供哪些数据
为了满足用户的需求,聚宽数据团队JQData此外,JQData还介绍了聚宽因子库、舆情数据等因子数据和特征数据,Alpha特色因子,技术分析指标因素,tick数据和百度因子数据,帮助您更好地完成量化研究和投资决策。详细数据清单如下表所示:
沪深a股市场数据 时间范围 更新频率 股票列表数据 2005至今 8:00更新 行业概念和指数成分股 2005至今 8:00更新 日行情 2005至今 盘中实时更新(1分钟刷新一次) 分钟行情 2005至今 盘前9:00更新 盘中实时更新(1分钟刷新一次)盘后24:00更新 分红分股 2005至今 8:00更新 融资融券 2010至今 下一个交易日10点前更新 资金流向 2010至今 盘后20:00更新 龙虎榜数据 2005至今 盘后18:00更新 限售解禁股 2005至今 盘后20:00更新 停复牌数据 2005至今 盘前9点更新 沪深市场日交易概况 2005年至今 20:30-24:00 沪股通、深股通、港股通 上市至今 20:30-24:00 上市公司财务数据 时间范围 更新频率 估值数据 2005至今 交易日18:00-24:00更新 财务指标 2005至今 20:30-24:00 资产负债表 2005至今 20:30-24:00 现金流量表 2005至今 20:30-24:00 利润表 2005至今 20:30-24:00 银行专项指标表 2005至今 20:30-24:00 券商专项指标表 2005至今 20:30-24:00 专项保险指标表 2005至今 20:30-24:00 上市公司概况 2005年至今 20:30-24:00 上市公司股东股本 2005年至今 20:30-24:00 现场基金数据 时间范围 更新频率 现场基金列表数据 2005至今 8:00更新 分级基金数据 2005至今 8:00更新 日行情 2005至今 盘中实时更新(1分钟刷新一次) 分钟行情 2005至今 盘前9:00更新 盘中实时更新(1分钟刷新一次)盘后24:00更新 净值数据 2005至今 盘前9:00更新 盘中实时更新(1分钟刷新一次)盘后24:00更新 融资融券 2010至今 下一个交易日10点前更新 指数数据 时间范围 更新频率 指数列表数据 2005至今 8:00更新 指数成分股数据 2005至今 8:00更新 日行情 2005至今 盘中实时更新(1分钟刷新一次) 分钟行情 2005至今 盘前9:00更新 盘中实时更新(1分钟刷新一次)盘后24:00更新 国际指数日市场 上市至今 盘后18:00更新 期货数据 时间范围 更新频率 期货列表数据 2005至今 8:00更新 日行情 2005至今 盘中实时更新(1分钟刷新一次) 分钟行情 2005至今 盘前9:00更新 盘中实时更新(1分钟刷新一次)盘后24:00更新 期货主合约 2005至今 盘前8:00更新 期货连续指数 2005至今 盘前8:00更新 期货龙虎榜数据 2005年至今 盘后19:00更新 期货仓单数据 2005年至今 盘后19:00更新 期权数据 时间范围 更新频率 期权合约资料 上市至今 盘后18:00更新 调整期权合约记录 上市至今 盘前18:00更新 期权每日盘前静态文件 上市至今 盘前9:05更新 期权日行情 上市至今 盘后17:55更新 期权分钟市场 2017-01-01至今 盘后20:30更新 股票期权交易和持仓排名统计 上市至今 盘前8:05更新 期权风险指标 上市至今 盘后19:50更新 期权交付信息 上市至今 每日10:45更新 场外基金 时间范围 更新频率 基金主体信息 上市至今 盘后24:00更新 基金净值信息 上市至今 盘前9:00更新 基金持股信息 上市至今 盘后24:00更新 基金持有债券信息 上市至今 盘后24:00更新 基金资产组合概况 上市至今 盘后24:00更新 基金财务指标信息 上市至今 盘后24:00更新 基金收益日报信息 上市至今 盘后24:00更新 分红合并信息 上市至今 盘后24:00更新 宏观经济数据 时间范围 更新频率 国民经济 统计局统计开始至今 交易日8:30前更新 保险业 统计局统计开始至今 交易日8:30前更新 人民生活 统计局统计开始至今 交易日8:30前更新 人口 统计局统计开始至今 交易日盘前8:30之前更新 国内贸易 统计局统计开始至今 交易日8:30前更新 就业与工资 统计局统计开始至今 交易日8:30前更新 资源环境 统计局统计开始至今 交易日8:30前更新 房地产行业 统计局统计开始至今 交易日8:30前更新 财政政策 统计局统计开始至今 交易日8:30前更新 固定资产投资 统计局统计开始至今 交易日8:30前更新 对外经济贸易 统计局统计开始至今 交易日8:30前更新 景气指数 统计局统计开始至今 交易日8:30前更新 工业 统计局统计开始至今 交易日8:30前更新 农林牧渔业 统计局统计开始至今 交易日8:30前更新 金融业 统计局统计开始至今 交易日8:30前更新 舆情数据 时间范围 更新频率 雪球热数据 2015年至今 每日3:00前更新 新闻联播文本数据 2009年6月至今 每天20:30前更新 聚宽因子库 时间范围 更新频率 质量因子 2005年至今 每日5:00前更新 基础因子 2005年至今 每日5:00前更新 情绪因子 2005年至今 每日5:00前更新 成长因子 2005年至今 每日5:00前更新 风险因子 2005年至今 每日5:00前更新 每股因子 2005年至今 每日5:00前更新 Alpha特色因子 时间范围 更新频率 Alpha101因子 2005至今 实时计算指定日期 Alpha191因子 2005至今 实时计算指定日期 技术指标因素 时间范围 更新频率 超买超卖型技术指标 2005至今 实时计算指定日期 趋势型技术指标 2005至今 实时计算指定日期 能量技术指标 2005至今 实时计算指定日期 交易量技术指标 2005至今 实时计算指定日期 均线技术指标 2005至今 实时计算指定日期 路径技术指标 2005至今 实时计算指定日期 其他 2005至今 实时计算指定日期 tick快照数据(仅限机构用户) 时间范围 更新频率 沪深A股tick数据 2010-01-01至今 交易日盘后21:30 金融期货和商品期货tick数据 2010-01-01至今 交易日盘后21:30 50ETF期权tick数据 2017-01-01至今 交易日盘后20:30 百度因子数据(仅限机构用户) 时间范围 更新频率 中证800指数成分股百度全网搜索量 2017-09-01至今 每天上午12:30前更新前一天的搜索数据,节假日推迟到下一个工作日。 百度中证800指数成分股 2017-09-01至今 每天上午12:30前更新前一天的搜索数据,节假日推迟到下一个工作日。 谁在使用JQData
聚宽量化平台聚集了国内优秀的量化研究人员和金融机构。他们使用聚宽数据生产数百万的高质量策略。如果你对量化感兴趣,你很快就会成为其中之一。他们是:
金融机构:聚宽机构用户遍布国内主要券商、公募基金和私募基金 研究人员:券商研究所、大学教师是深度用户,收集广泛的数据 学生:这些学校的学生使用聚宽数据,无论是985还是211。 量化研究者:成千上万的量化研究者 为什么选择JQData
为什么JQData能受到这么多用户的青睐吗?原因是聚宽数据从一开始就是量化的,本地使用,易于量化,调用方便,数据精度高,基础数据都是免费的JQData与国内其他量化平台的主要特点不同,我相信您在使用过程中可以有更深入的体验。具体来说:
本地使用:JQData适用于避免每个量化平台的限制Windows,Mac,Linux用户只需要三行多种操作系统Python本地安装和调用代码可以帮助您实现一套完整的本地化部署量化投资研究。Python2和Python3)
易量化:为避免用户在指定日期获取未来数据,JQData在设计过程中,提供指定的日期参数,用户获取截至日期市场的数据,避免用户提前获取未来数据的上帝视角。
方便调用:在JQData在其中,可以通过同一接口获得不同品种的相同属性的数据。例如,使用get_price所有股票、基金、指数、期货行情数据,从而大大减少用户的学习成本,代码也更加简洁;与之相反,大部分传统数据商提供的数据分散在不同的数据表中,需要用户自己来回查找。
数据精度高:JQData的历史行情提供日行情和分钟行情,更精确的还有tick行情,而大部分量化平台最多提供到日行情这种精度。
基础数据免费试用:为了让更多的用户使用上优质的金融数据,生产出更多的量化研究成果,JQData对基础数据全部免费开放试用,JQData的基础数据包含沪深A股行情数据,上市公司财务数据,指数数据,场内基金数据,期货数据和宏观经济数据;相比之下,大部分数据平台提供的本地化数据少则几万,多则十几万,费用高企让大部分量化研究者望而却步。
因子数据和特色数据:除基础数据外,我们还特别提供了Alpha特色因子,技术指标因子,tick数据以及百度搜索因子,让您在投资研究中加入更多的数据维度。
如何开通JQData
申请试用账号: 聚宽作为国内量化行业的领军企业,本着推动量化行业快速发展的良好愿景,现已开放试用JQData。想要使用JQData的用户只需提交试用申请,就能开通JQData一年有效期的试用账号。试用账号在试用期间可免费调用JQData的全部基础数据,每天可调用100万条,具体试用权限如下表所示。(注:JQData基础数据包含沪深A股行情数据,上市公司财务数据,指数数据,场内基金数据,期货数据和宏观经济数据)
账户类型 试用账户(免费) 账户有效期 1年 可用数据 全部基础数据 可查询数据时间范围 2005年至今 每天调用数据限制 100万条/天 单个账号可同时开启连接数 3个 因子和特色数据 无 开通正式账号: 如果您觉得每天100万条的数据不够用,或者想要使用诸如Alpha特色因子,技术指标因子,tick数据以及百度因子等聚宽的特色数据,可以升级到JQData正式版、标准版或专业版,升级后每天可调用2亿条数据,详情请与我们的运营人员联系。正式账号享有的权益如下表所示。(联系方式:添加管理员微信 JQData01;或发送邮箱至:jqdatasdk@joinquant.com)
账户权益 权益说明 正式版 标准版 专业版 账户有效期 按年付费 √ √ √ 数据时间范围 2005年至今 √ √ √ 每天调用数据限制 2亿条/天 √ √ √ 单个账号可同时开启连接数 3个 √ √ √ 可用数据 全部基础数据 √ √ √ Alpha101 √ √ Alpha191 √ √ 聚宽因子库 √ √ 技术指标因子 √ √ 沪深A股tick数据 √ 期货tick数据 √ 百度因子 如何安装使用JQData
开通权限后,您可以在本地安装和使用JQData。Python用户请按以下教程安装使用,其他编程语言用户请查看JQData HTTP接口文档。如在使用中遇到问题,还可以添加JQData管理员微信咨询,微信号:jqdata01,添加时请留言"JQData"。
安装JQData: 如您本地已有python环境,打开本地cmd终端或Mac终端,将路径切换到python目录下,直接使用pip语法即可安装。在安装中出现任何问题,可查看JQData安装教程,内有详细解答。
pip install jqdatasdk 如您是windows用户:可以直接下载JQData高校版,一键完成安装。本方式不需另外配置python环境,直接在本地创建一套包含JQData的独立python环境,点击查看高校版安装教程。
升级JQData:JQData预计每2周会发布一次迭代版本,增加更多维度的基础数据以及因子类数据,已有python环境的用户可以使用如下语句完成升级:
pip install -U jqdatasdk windows用户可以直接点击新版本链接下载安装。或打开cmd终端,切换到JQData所在路径下,通过下述语句升级到最新版本。
C:\JQData>python.exe -m pip install jqdatasdk 登录JQData:安装完成后,导入JQData,并认证用户身份。认证完毕显示“auth success”后即可使用,认证步骤如下:
from jqdatasdk import * auth(‘账号’,‘密码’) #账号是申请时所填写的手机号;密码为聚宽官网登录密码,新申请用户默认为手机号后6位 调用数据:详见数据调用方法
每天可访问数据条数:由于用户访问数据会给服务器造成一定的压力,JQData开放给试用账号的每天可访问数据为100万条,基本上能够满足大部分用户的需要;如需更多的访问条数,您可以付费升级为正式账号,我们将为您开放每天2亿条数据的访问权限。
因子数据和特色数据:如果您还想使用Alpha特色因子,技术指标因子,tick数据以及百度因子数据,您可以将账号升级到正式版、标准版或专业版,详情请联系我们的运营同事。我们会为您提供定制化的JQData,尽可能满足您的数据需求。如需咨询,请添加管理员微信:JQData01 ;或发送邮箱至:jqdatasdk@joinquant.com。
问题反馈和其他数据需求:如果您在使用JQData的过程中遇到问题,或者希望JQData能够加入更多的数据,请您通过社区提问的方式或者发送邮件至jqdatasdk@joinquant.com告诉我们。另外,为了增进用户之间的交流,我们还提供了JQData微信讨论组,想要加入讨论的用户可以添加JQData管理员,和我们一起更好的完善和使用JQData。(管理员微信号:JQData01,添加时请留言"JQData"。)
商务合作
聚宽作为国内领先的量化平台,欢迎数据行业的各位同仁,和我们共同构建起一整套领先的量化分析数据体系,如贵公司有这方面的数据资源和合作意向,请添加管理员微信:JQData01,或发送邮件至jqdatasdk@joinquant.com说明合作意向,欢迎加入聚宽JQData。
版本信息
V1.5.0 2018.12.06
新增数据: 1.期权数据 2.场外基金 3.聚宽因子库 4.期货龙虎榜和仓单信息 5.雪球热度数据
V1.4.4 2018.6.15
新增数据: 上市公司概况 上市公司股东和股本信息
数据调用方法
由于内容较多,可使用Ctrl+F搜索您需要的数据。
注意:query函数的更多用法详见:sqlalchemy.orm.query.Query对象
登录JQData
打开代码编辑器(第三方编辑器请指定运行环境为已安装JQData的Python环境),输入如下代码认证用户身份。认证完毕后显示“auth success”即可开始调用数据,认证步骤如下:
from jqdatasdk import * auth(‘ID’,‘Password’) #ID是申请时所填写的手机号;Password为聚宽官网登录密码,新申请用户默认为手机号后6位 查询版本信息
描述:查看当前jqdatasdk版本
返回
一个str,当前jqdatasdk版本:
示例
#查看当前jqdatasdk版本 print()
‘1.5.0’ 查询当日剩余可调用条数
get_query_count() 描述:查看当日剩余可调用条数,试用账号默认是每日100万条;正式账号是每日2亿条。
返回
一个dict,字段说明如下:
字段名 说明 total 当日可调用数据总条数 spare 当日剩余可调用条数 示例
#查询当日剩余可调用数据条数 count=get_query_count() print(count) {‘total’: 1000000,‘spare’: 996927} 获取标的基本信息
JQData证券代码标准格式
由于同一代码可能代表不同的交易品种,JQData给每个交易品种后面都添加了该市场特定的代码后缀,用户在调用API时,需要将参数security传入带有该市场后缀的证券代码,如security=‘600519.XSHG’,以便于区分实际调用的交易品种。以下列出了每个交易市场的代码后缀和示例代码。
交易市场 代码后缀 示例代码 证券简称 上海证券交易所 .XSHG ‘600519.XSHG’ 贵州茅台 深圳证券交易所 .XSHE ‘000001.XSHE’ 平安银行 中金所 .CCFX ‘IC9999.CCFX’ 中证500主力合约 大商所 .XDCE ‘A9999.XDCE’ 豆一主力合约 上期所 .XSGE ‘AU9999.XSGE’ 黄金主力合约 郑商所 .XZCE ‘CY8888.XZCE’ 棉纱期货指数 上海国际能源期货交易所 .XINE ‘SC9999.XINE’ 原油主力合约 get_all_securities - 获取所有标的信息
get_all_securities(types=[], date=None) 获取平台支持的所有股票、基金、指数、期货信息
参数
types: list: 用来过滤securities的类型, list元素可选: ‘stock’, ‘fund’, ‘index’, ‘futures’, ‘etf’, ‘lof’, ‘fja’, ‘fjb’。types为空时返回所有股票, 不包括基金,指数和期货 date: 日期, 一个字符串或者 [datetime.datetime]/[datetime.date] 对象, 用于获取某日期还在上市的股票信息. 默认值为 None, 表示获取所有日期的股票信息 返回 [pandas.DataFrame], 比如:get_all_securities()[:2]返回:
— display_name name start_date end_date type 000001.XSHE 平安银行 PAYH 1991-04-03 9999-01-01 stock 000002.XSHE 万 科A WKA 1991-01-29 9999-01-01 stock display_name: 中文名称 name: 缩写简称 start_date: 上市日期 end_date: 退市日期,如果没有退市则为2200-01-01 type: 类型,stock(股票),index(指数),etf(ETF基金),fja(分级A),fjb(分级B) 示例
#将所有股票列表转换成数组
stocks = list(get_all_securities(['stock']).index)
#获得所有指数列表
get_all_securities(['index'])
#获得所有基金列表
df = get_all_securities(['fund'])
#获取所有期货列表
get_all_securities(['futures'])
#获得etf基金列表
df = get_all_securities(['etf'])
#获得lof基金列表
df = get_all_securities(['lof'])
#获得分级A基金列表
df = get_all_securities(['fja'])
#获得分级B基金列表
df = get_all_securities(['fjb'])
#获得2015年10月10日还在上市的所有股票列表
get_all_securities(date='2015-10-10')
#获得2015年10月10日还在上市的 etf 和 lof 基金列表
get_all_securities(['etf', 'lof'], '2015-10-10')
get_security_info - 获取单个标的信息
get_security_info(code) 获取股票/基金/指数的信息.
参数
code: 证券代码 返回值
一个对象, 有如下属性:
display_name: 中文名称 name: 缩写简称 start_date: 上市日期, [datetime.date] 类型 end_date: 退市日期, [datetime.date] 类型, 如果没有退市则为2200-01-01 type: 类型,stock(股票),index(指数),etf(ETF基金),fja(分级A),fjb(分级B) parent: 分级基金的母基金代码 示例
获取基金的母基金, 下面的判断为真.
assert get_security_info(‘502050.XSHG’).parent == ‘502048.XSHG’ get_index_stocks - 获取指数成份股
get_index_stocks(index_symbol, date=None) 获取一个指数给定日期在平台可交易的成分股列表,请点击指数列表查看指数信息
参数
index_symbol: 指数代码 date: 查询日期, 一个字符串(格式类似’2015-10-15’)或者[datetime.date]/[datetime.datetime]对象, 可以是None, 返回 返回股票代码的list
示例
获取所有沪深300的股票
stocks = get_index_stocks(‘000300.XSHG’) print(stocks) normalize_code-股票代码格式转化
normalize_code(code) 将其他形式的股票代码转换为jqdatasdk函数可用的股票代码形式。 仅适用于A股市场股票代码以及基金代码 示例
#输入 for code in (‘000001’, ‘SZ000001’, ‘000001SZ’, ‘000001.sz’, ‘000001.XSHE’): print normalize_code(code)
#输出 000001.XSHE 000001.XSHE 000001.XSHE 000001.XSHE 000001.XSHE get_margincash_stocks - 获取融资标的列表
get_margincash_stocks(dt) 参数 dt:默认为None,不指定时返回上交所、深交所最近一次披露的的可融资标的列表的list。
返回结果 返回指定日期上交所、深交所披露的的可融资标的列表的list。
示例
获取融资标的列表,并赋值给 margincash_stocks
margincash_stocks = get_margincash_stocks(dt=‘2018-07-02’)
判断平安银行是否在可融资列表
‘000001.XSHE’ in get_margincash_stocks(dt=‘2018-07-02’) True get_marginsec_stocks - 获取融券标的列表
get_marginsec_stocks(dt) 参数 dt:默认为None,不指定时返回上交所、深交所最近一次披露的的可融券标的列表的list。
返回结果 返回指定日期上交所、深交所披露的的可融券标的列表的list。
示例
获取融券标的列表,并赋值给 marginsec_stocks
marginsec_stocks= get_marginsec_stocks(dt=‘2018-07-05’)
判断平安银行是否在可融券列表
‘000001.XSHE’ in get_marginsec_stocks(dt=‘2018-07-05’) True get_extras - 获取基金净值/期货结算价等
get_extras(info, security_list, start_date=‘2015-01-01’, end_date=‘2015-12-31’, df=True, count=None) 参数
info: [‘is_st’, ‘acc_net_value’, ‘unit_net_value’, ‘futures_sett_price’, ‘futures_positions’] 中的一个
指定info字段 返回信息 is_st 是否是ST,是则返回 True,否则返回 False acc_net_value 基金累计净值 unit_net_value 基金单位净值 futures_sett_price 期货结算价 futures_positions 期货持仓量 adj_net_value 场外基金的复权净值 security_list: 股票列表
start_date/end_date: 开始结束日期, 同 [get_price]
df: 返回[pandas.DataFrame]对象还是一个dict, 同 [history]
count: 数量, 与 start_date 二选一, 不可同时使用, 必须大于 0. 表示取 end_date 往前的 count 个交易日的数据
返回值
df=True: 返回[pandas.DataFrame]对象, 列索引是股票代号, 行索引是[datetime.datetime], 比如 get_extras(‘acc_net_value’, [‘510300.XSHG’, ‘510050.XSHG’], start_date=‘2015-12-01’, end_date=‘2015-12-03’) 返回结果:
— 510300.XSHG 510050.XSHG 2015-12-01 00:00:00 1.395 3.119 2015-12-02 00:00:00 1.4432 3.251 2015-12-03 00:00:00 1.4535 3.254 get_extras(‘is_st’, [‘000001.XSHE’, ‘000018.XSHE’], start_date=‘2013-12-01’, end_date=‘2013-12-03’) 返回结果:
— 000001.XSHE 000018.XSHE 2013-12-02 00:00:00 False True 2013-12-03 00:00:00 False True df=False 返回一个dict, key是基金代号, value是[numpy.ndarray], 比如 get_extras(‘acc_net_value’, [‘510300.XSHG’, ‘510050.XSHG’], start_date=‘2015-12-01’, end_date=‘2015-12-03’, df=False) 返回结果: { u’510050.XSHG’: array([ 3.119, 3.251, 3.254]), u’510300.XSHG’: array([ 1.395 , 1.4432, 1.4535]) }
get_locked_shares - 获取限售解禁数据
get_locked_shares(stock_list, start_date, end_date, forward_count) 获取指定日期区间内的限售解禁数据
参数
stock_list: 一个股票代码的 list start_date: 开始日期 end_date: 结束日期 forward_count: 交易日数量, 可以与 start_date 同时使用, 表示获取 start_date 到 forward_count 个交易日区间的数据 返回值
pandas.DataFrame, 各 column 的含义如下:
day: 解禁日期 code: 股票代码 num: 解禁股数 rate1: 解禁股数/总股本 rate2: 解禁股数/总流通股本 示例
在策略中获取个股未来500天的解禁情况
get_locked_shares(stock_list=[‘000001.XSHE’, ‘000002.XSHE’], start_date=‘2018-08-01’, forward_count=500) get_index_weights -获取指数成份股权重(月度)
get_index_weights(index_id, date=None) 获取指数成份股给定日期的权重数据,每月更新一次,请点击指数列表查看指数信息
参数
index_id: 代表指数的标准形式代码, 形式:指数代码.交易所代码,例如"000001.XSHG"。 date: 查询权重信息的日期,形式:"%Y-%m-%d",例如"2018-05-03"; 返回
查询到对应日期,且有权重数据,返回 pandas.DataFrame, code(股票代码),display_name(股票名称), date(日期), weight(权重); 查询到对应日期,且无权重数据, 返回距离查询日期最近日期的权重信息; 找不到对应日期的权重信息, 返回距离查询日期最近日期的权重信息; 示例
#获取2018年5月9日这天的上证指数的成份股权重 df = get_index_weights(index_id=“000001.XSHG”, date=“2018-05-09”) print(df)
#输出 code display_name date weight 603648.XSHG 畅联股份 2018-05-09 0.023 603139.XSHG 康惠制药 2018-05-09 0.007 603138.XSHG 海量数据 2018-05-09 0.015 603136.XSHG 天目湖 2018-05-09 0.009 603131.XSHG 上海沪工 2018-05-09 0.011 … … … 603005.XSHG 晶方科技 2018-05-09 0.023 603007.XSHG 花王股份 2018-05-09 0.013 603006.XSHG 联明股份 2018-05-09 0.008 603009.XSHG 北特科技 2018-05-09 0.014 603008.XSHG 喜临门 2018-05-09 0.022 获取行业概念成分股
get_industries - 获取行业列表
get_industries(name=‘zjw’) 按照行业分类获取行业列表。
参数
name: 行业代码, 取值如下:
“sw_l1”: 申万一级行业 “sw_l2”: 申万二级行业 “sw_l3”: 申万三级行业 “jq_l1”: 聚宽一级行业 “jq_l2”: 聚宽二级行业 “zjw”: 证监会行业 返回值
pandas.DataFrame, 各 column 的含义如下:
index: 行业代码 name: 行业名称 start_date: 开始日期 get_industry_stocks - 获取行业成份股
get_industry_stocks(industry_code, date=None) 获取在给定日期一个行业的所有股票,行业分类列表见数据页面-行业概念数据。
参数
industry_code: 行业编码 date: 查询日期, 一个字符串(格式类似’2015-10-15’)或者[datetime.date]/[datetime.datetime]对象, 可以是None. 返回 返回股票代码的list
示例
获取计算机/互联网行业的成分股
stocks = get_industry_stocks(‘I64’) get_concepts - 获取概念列表
get_concepts() 获取概念板块列表
返回值
pandas.DataFrame, 各 column 的含义如下:
index: 概念代码 name: 概念名称 start_date: 开始日期 get_concept_stocks - 获取概念成份股
get_concept_stocks(concept_code, date=None) 获取在给定日期一个概念板块的所有股票,概念板块分类列表见数据页面-行业概念数据。
参数
concept_code: 概念板块编码 date: 查询日期, 一个字符串(格式类似’2015-10-15’)或者[datetime.date]/[datetime.datetime]对象, 可以是None. 返回 返回股票代码的list
示例
获取风力发电概念板块的成分股
stocks = get_concept_stocks(‘GN036’) get_industry - 查询股票所属行业
get_industry(security, date=None) 参数
security:标的代码,类型为字符串,形式如"000001.XSHE";或为包含标的代码字符串的列表,形如[“000001.XSHE”, “000002.XSHE”] date:查询的日期。类型为字符串,形如"2018-06-01"或"2018-06-01 09:00:00";或为datetime.datetime对象和datetime.date。注意传入对象的时分秒将被忽略。 返回
返回结果是一个dict,key是传入的股票代码
示例
#获取贵州茅台(“600519.XSHG”)的所属行业数据 d = get_industry(“600519.XSHG”,date=“2018-06-01”) print(d)
{‘600519.XSHG’: {‘sw_l1’: {‘industry_code’: ‘801120’, ‘industry_name’: ‘食品饮料I’}, ‘sw_l2’: {‘industry_code’: ‘801123’, ‘industry_name’: ‘饮料制造II’}, ‘sw_l3’: {‘industry_code’: ‘851231’, ‘industry_name’: ‘白酒III’}, ‘zjw’: {‘industry_code’: ‘C15’, ‘industry_name’: ‘酒、饮料和精制茶制造业’}, ‘jq_l2’: {‘industry_code’: ‘HY478’, ‘industry_name’: ‘白酒与葡萄酒指数’}, ‘jq_l1’: {‘industry_code’: ‘HY005’, ‘industry_name’: ‘日常消费指数’}}}
#同时获取多只股票的所属行业信息 stock_list = [‘000001.XSHE’,‘000002.XSHE’] d = get_industry(security=stock_list, date=“2018-06-01”) print(d)
{‘000001.XSHE’: {‘sw_l1’: {‘industry_code’: ‘801780’, ‘industry_name’: ‘银行I’}, ‘sw_l2’: {‘industry_code’: ‘801192’, ‘industry_name’: ‘银行II’}, ‘sw_l3’: {‘industry_code’: ‘851911’, ‘industry_name’: ‘银行III’}, ‘zjw’: {‘industry_code’: ‘J66’, ‘industry_name’: ‘货币金融服务’}, ‘jq_l2’: {‘industry_code’: ‘HY493’, ‘industry_name’: ‘多元化银行指数’}, ‘jq_l1’: {‘industry_code’: ‘HY007’, ‘industry_name’: ‘金融指数’}}, ‘000002.XSHE’: {‘sw_l1’: {‘industry_code’: ‘801180’, ‘industry_name’: ‘房地产I’}, ‘sw_l2’: {‘industry_code’: ‘801181’, ‘industry_name’: ‘房地产开发II’}, ‘sw_l3’: {‘industry_code’: ‘851811’, ‘industry_name’: ‘房地产开发III’}, ‘zjw’: {‘industry_code’: ‘K70’, ‘industry_name’: ‘房地产业’}, ‘jq_l2’: {‘industry_code’: ‘HY509’, ‘industry_name’: ‘房地产开发指数’}, ‘jq_l1’: {‘industry_code’: ‘HY011’, ‘industry_name’: ‘房地产指数’}}} 获取交易行情数据
get_trade_days - 获取指定范围交易日
get_trade_days(start_date=None, end_date=None, count=None) 获取指定日期范围内的所有交易日, 返回 [numpy.ndarray], 包含指定的 start_date 和 end_date, 默认返回至 datatime.date.today() 的所有交易日
参数
start_date: 开始日期, 与 count 二选一, 不可同时使用. str/[datetime.date]/[datetime.datetime] 对象 end_date: 结束日期, str/[datetime.date]/[datetime.datetime] 对象, 默认为 datetime.date.today() count: 数量, 与 start_date 二选一, 不可同时使用, 必须大于 0. 表示取 end_date 往前的 count 个交易日,包含 end_date 当天。 get_all_trade_days - 获取所有交易日
get_all_trade_days() 获取所有交易日, 不需要传入参数, 返回一个包含所有交易日的 [numpy.ndarray], 每个元素为一个 [datetime.date] 类型.
get_price - 获取行情数据
get_price(security, start_date=None, end_date=None, frequency=‘daily’, fields=None, skip_paused=False, fq=‘pre’, count=None) 获取一支或者多只股票的实时行情和历史行情, 按天或者按分钟,这里在使用时注意 end_date 的设置,不要引入未来的数据。
参数
security: 一支股票代码或者一个股票代码的list
count: 与 start_date 二选一,不可同时使用. 数量, 返回的结果集的行数, 即表示获取 end_date 之前几个 frequency 的数据
start_date: 与 count 二选一,不可同时使用. 字符串或者 [datetime.datetime]/[datetime.date] 对象, 开始时间.
如果 count 和 start_date 参数都没有, 则 start_date 生效, 值是 ‘2015-01-01’. 注意: 当取分钟数据时, 时间可以精确到分钟, 比如: 传入 datetime.datetime(2015, 1, 1, 10, 0, 0) 或者 ‘2015-01-01 10:00:00’. 当取分钟数据时, 如果只传入日期, 则日内时间是当日的 00:00:00. 当取天数据时, 传入的日内时间会被忽略 end_date: 格式同上, 结束时间, 默认是’2015-12-31’, 包含此日期. 注意: 当取分钟数据时, 如果 end_date 只有日期, 则日内时间等同于 00:00:00, 所以返回的数据是不包括 end_date 这一天的.
frequency: 单位时间长度, 几天或者几分钟, 现在支持’Xd’,‘Xm’, ‘daily’(等同于’1d’), ‘minute’(等同于’1m’), X是一个正整数, 分别表示X天和X分钟(不论是按天还是按分钟回测都能拿到这两种单位的数据), 注意, 当X > 1时, fields只支持[‘open’, ‘close’, ‘high’, ‘low’, ‘volume’, ‘money’]这几个标准字段. 默认值是daily
fields: 字符串list, 选择要获取的行情数据字段, 默认是None(表示[‘open’, ‘close’, ‘high’, ‘low’, ‘volume’, ‘money’]这几个标准字段), 支持SecurityUnitData里面的所有基本属性,,包含:[‘open’, ’ close’, ‘low’, ‘high’, ‘volume’, ‘money’, ‘factor’, ‘high_limit’,’ low_limit’, ‘avg’, ’ pre_close’, ‘paused’]
skip_paused: 是否跳过不交易日期(包括停牌, 未上市或者退市后的日期). 如果不跳过, 停牌时会使用停牌前的数据填充(具体请看SecurityUnitData的paused属性), 上市前或者退市后数据都为 nan, 但要注意:
默认为 False 当 skip_paused 是 True 时, 只能取一只股票的信息 关于停牌: 因为此API可以获取多只股票的数据, 可能有的股票停牌有的没有, 为了保持时间轴的一致,我们默认没有跳过停牌的日期, 停牌时使用停牌前的数据填充(请看 [SecurityUnitData] 的 paused 属性). 如想跳过, 请使用 skip_paused=True 参数, 同时只取一只股票的信息 fq: 复权选项:
‘pre’: 前复权 None: 不复权, 返回实际价格 ‘post’: 后复权 返回
请注意, 为了方便比较一只股票的多个属性, 同时也满足对比多只股票的一个属性的需求, 我们在security参数是一只股票和多只股票时返回的结构完全不一样
如果是一支股票, 则返回[pandas.DataFrame]对象, 行索引是[datetime.datetime]对象, 列索引是行情字段名字, 比如’open’/‘close’. 比如: get_price(‘000300.XSHG’)[:2] 返回:
— open close high low volume money 2015-01-05 00:00:00 3566.09 3641.54 3669.04 3551.51 451198098.0 519849817448.0 2015-01-06 00:00:00 3608.43 3641.06 3683.23 3587.23 420962185.0 498529588258.0 如果是多支股票, 则返回[pandas.Panel]对象, 里面是很多[pandas.DataFrame]对象, 索引是行情字段(open/close/…), 每个[pandas.DataFrame]的行索引是[datetime.datetime]对象, 列索引是股票代号. 比如get_price([‘000300.XSHG’, ‘000001.XSHE’])[‘open’][:2]返回:
— 000300.XSHG 000001.XSHE 2015-01-05 00:00:00 3566.09 13.21 2015-01-06 00:00:00 3608.43 13.09 示例
获取一支股票
df = get_price(‘000001.XSHE’) # 获取000001.XSHE的2015年的按天数据 df = get_price(‘000001.XSHE’, start_date=‘2015-01-01’, end_date=‘2015-01-31 23:00:00’, frequency=‘minute’, fields=[‘open’, ‘close’]) # 获得000001.XSHG的2015年01月的分钟数据, 只获取open+close字段 df = get_price(‘000001.XSHE’, count = 2, end_date=‘2015-01-31’, frequency=‘daily’, fields=[‘open’, ‘close’]) # 获取获得000001.XSHG在2015年01月31日前2个交易日的数据 df = get_price(‘000001.XSHE’, start_date=‘2015-12-01 14:00:00’, end_date=‘2015-12-02 12:00:00’, frequency=‘1m’) # 获得000001.XSHG的2015年12月1号14:00-2015年12月2日12:00的分钟数据
获取多只股票
panel = get_price(get_index_stocks(‘000903.XSHG’)) # 获取中证100的所有成分股的2015年的天数据, 返回一个[pandas.Panel] df_open = panel[‘open’] # 获取开盘价的[pandas.DataFrame], 行索引是[datetime.datetime]对象, 列索引是股票代号 df_volume = panel[‘volume’] # 获取交易量的[pandas.DataFrame]
df_open[‘000001.XSHE’] # 获取平安银行的2015年每天的开盘价数据 get_bars - 获取指定时间周期的行情数据
get_bars(security, count, unit=‘1d’, fields=[‘date’,‘open’,‘high’,‘low’,‘close’], include_now=False, end_dt=None, fq_ref_date=None) 获取各种时间周期的bar数据,bar的分割方式与主流股票软件相同, 同时还支持返回当前时刻所在 bar 的数据。
参数
security: 股票代码 count: 大于0的整数,表示获取bar的个数。如果行情数据的bar不足count个,返回的长度则小于count个数。 unit: bar的时间单位, 支持如下周期:‘1m’, ‘5m’, ‘15m’, ‘30m’, ‘60m’, ‘120m’, ‘1d’, ‘1w’, ‘1M’。其中m表示分钟,d表示天,w表示周,M表示月。 fields: 获取数据的字段, 支持如下值:‘date’, ‘open’, ‘close’, ‘high’, ‘low’, ‘volume’, ‘money’。 include_now: 取值True 或者False。 表示是否包含当前bar, 比如策略时间是9:33,unit参数为5m, 如果 include_now=True,则返回9:30-9:33这个分钟 bar。 end_dt:查询的截止时间,支持的类型为datetime.datetime或None,默认为datetime.now()。 fq_ref_date:复权基准日期,为None时为不复权数据。 返回
返回一个pandas.dataframe对象,可以按任意周期返回股票的开盘价、收盘价、最高价、最低价,同时也可以利用date数据查看所返回的数据是什么时刻的。
示例
#获取贵州茅台按天为周期以"2018-12-05"为基础往前10个交易日的数据 df = get_bars(‘600519.XSHG’, 10, unit=‘1d’,fields=[‘date’,‘open’,‘high’,‘low’,‘close’],include_now=False,end_dt=‘2018-12-05’) print(df) date open high low close 0 2018-11-21 554.00 568.90 553.68 564.70 1 2018-11-22 565.15 567.33 558.00 564.50 2 2018-11-23 564.00 567.30 556.90 556.90 3 2018-11-26 558.00 560.20 552.00 552.11 4 2018-11-27 552.00 554.99 546.50 548.10 5 2018-11-28 550.85 559.19 545.50 557.00 6 2018-11-29 566.03 569.80 549.01 551.60 7 2018-11-30 557.00 568.89 553.00 565.00 8 2018-12-03 589.00 605.00 584.77 601.20 9 2018-12-04 602.99 604.26 595.00 602.23 get_mtss - 获取融资融券信息
get_mtss(security_list, start_date=None, end_date=None, fields=None, count=None) 获取一只或者多只股票在一个时间段内的融资融券信息
注: 需导入 jqdatasdk 模块,即在策略或研究起始位置加入from jqdatasdk import *
参数
security_list: 一只股票代码或者一个股票代码的 list
start_date: 开始日期, 与 count 二选一, 不可同时使用. 一个字符串或者 [datetime.datetime]/[datetime.date] 对象, 默认为平台提供的数据的最早日期
end_date: 结束日期, 一个字符串或者 [datetime.date]/[datetime.datetime] 对象, 默认为 datetime.date.today()
count: 数量, 与 start_date 二选一,不可同时使用, 必须大于 0. 表示返回 end_date 之前 count 个交易日的数据, 包含 end_date
fields: 字段名或者 list, 可选. 默认为 None, 表示取全部字段, 各字段含义如下:
字段名 含义 date 日期 sec_code 股票代码 fin_value 融资余额(元) fin_buy_value 融资买入额(元) fin_refund_value 融资偿还额(元) sec_value 融券余量(股) sec_sell_value 融券卖出量(股) sec_refund_value 融券偿还量(股) fin_sec_value 融资融券余额(元) 返回
返回一个 [pandas.DataFrame] 对象,默认的列索引为取得的全部字段. 如果给定了 fields 参数, 则列索引与给定的 fields 对应.
示例
获取一只股票的融资融券信息
get_mtss(‘000001.XSHE’, ‘2016-01-01’, ‘2016-04-01’) get_mtss(‘000001.XSHE’, ‘2016-01-01’, ‘2016-04-01’, fields=[“date”, “sec_code”, “fin_value”, “fin_buy_value”]) get_mtss(‘000001.XSHE’, ‘2016-01-01’, ‘2016-04-01’, fields=“sec_sell_value”)
获取多只股票的融资融券信息
get_mtss([‘000001.XSHE’, ‘000002.XSHE’, ‘000099.XSHE’], ‘2015-03-25’, ‘2016-01-25’) get_mtss([‘000001.XSHE’, ‘000002.XSHE’, ‘000099.XSHE’], ‘2015-03-25’, ‘2016-01-25’, fields=[“date”, “sec_code”, “sec_value”, “fin_buy_value”, “sec_sell_value”])
获取股票 000001.XSHE 在日期 2016-06-30 往前 20 个交易日的融资融券信息
get_mtss(‘000001.XSHE’, end_date=“2016-06-30”, count=20)
获取股票 000001.XSHE 往前 20 个交易日的融资融券信息
get_mtss(‘000001.XSHE’, count=20) get_money_flow - 获取资金流信息
get_money_flow(security_list, start_date=None, end_date=None, fields=None, count=None) 获取一只或者多只股票在一个时间段内的资金流向数据,仅包含股票数据,不可用于获取期货数据。
注: 需导入 jqdatasdk 模块,即在策略或研究起始位置加入from jqdatasdk import *
参数
security_list: 一只股票代码或者一个股票代码的 list
start_date: 开始日期, 与 count 二选一, 不可同时使用, 一个字符串或者 [datetime.datetime]/[datetime.date] 对象, 默认为平台提供的数据的最早日期
end_date: 结束日期, 一个字符串或者 [datetime.date]/[datetime.datetime] 对象, 默认为 datetime.date.today()
count: 数量, 与 start_date 二选一,不可同时使用, 必须大于 0. 表示返回 end_date 之前 count 个交易日的数据, 包含 end_date
fields: 字段名或者 list, 可选. 默认为 None, 表示取全部字段, 各字段含义如下:
字段名 含义 备注 date 日期 — sec_code 股票代码 — change_pct 涨跌幅(%) — net_amount_main 主力净额(万) 主力净额 = 超大单净额 + 大单净额 net_pct_main 主力净占比(%) 主力净占比 = 主力净额 / 成交额 net_amount_xl 超大单净额(万) 超大单:大于等于50万股或者100万元的成交单 net_pct_xl 超大单净占比(%) 超大单净占比 = 超大单净额 / 成交额 net_amount_l 大单净额(万) 大单:大于等于10万股或者20万元且小于50万股或者100万元的成交单 net_pct_l 大单净占比(%) 大单净占比 = 大单净额 / 成交额 net_amount_m 中单净额(万) 中单:大于等于2万股或者4万元且小于10万股或者20万元的成交单 net_pct_m 中单净占比(%) 中单净占比 = 中单净额 / 成交额 net_amount_s 小单净额(万) 小单:小于2万股或者4万元的成交单 net_pct_s 小单净占比(%) 小单净占比 = 小单净额 / 成交额 返回
返回一个 [pandas.DataFrame] 对象,默认的列索引为取得的全部字段. 如果给定了 fields 参数, 则列索引与给定的 fields 对应.
示例
获取一只股票在一个时间段内的资金流量数据
get_money_flow(‘000001.XSHE’, ‘2016-02-01’, ‘2016-02-04’) get_money_flow(‘000001.XSHE’, ‘2015-10-01’, ‘2015-12-30’, fields=“change_pct”) get_money_flow([‘000001.XSHE’], ‘2010-01-01’, ‘2010-01-30’, [“date”, “sec_code”, “change_pct”, “net_amount_main”, “net_pct_l”, “net_amount_m”])
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
获取多只股票在一个时间段内的资金流向数据
get_money_flow([‘000001.XSHE’, ‘000040.XSHE’, ‘000099.XSHE’], ‘2010-01-01’, ‘2010-01-30’)
获取多只股票在某一天的资金流向数据
get_money_flow([‘000001.XSHE’, ‘000040.XSHE’, ‘000099.XSHE’], ‘2016-04-01’, ‘2016-04-01’)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
获取股票 000001.XSHE 在日期 2016-06-30 往前 20 个交易日的资金流量数据
get_money_flow(‘000001.XSHE’, end_date=“2016-06-30”, count=20)
获取股票 000001.XSHE 往前 20 个交易日的资金流量数据
get_money_flow(‘000001.XSHE’, count=20) get_billboard_list - 获取龙虎榜数据
get_billboard_list(stock_list, start_date, end_date, count) 获取指定日期区间内的龙虎榜数据
参数
stock_list: 一个股票代码的 list。 当值为 None 时, 返回指定日期的所有股票。 start_date:开始日期 end_date: 结束日期 count: 交易日数量, 可以与 end_date 同时使用, 表示获取 end_date 前 count 个交易日的数据(含 end_date 当日) 返回值
pandas.DataFrame, 各 column 的含义如下:
code: 股票代码 day: 日期 direction: ALL 表示『汇总』,SELL 表示『卖』,BUY 表示『买』 abnormal_code: 异常波动类型 abnormal_name: 异常波动名称 sales_depart_name: 营业部名称 rank: 0 表示汇总, 1~5 表示买一到买5, 6~10 表示卖一到卖五 buy_value:买入金额 buy_rate:买入金额占比(买入金额/市场总成交额) sell_value:卖出金额 sell_rate:卖出金额占比(卖出金额/市场总成交额) net_value:净额(买入金额 - 卖出金额) amount:市场总成交额 示例
获取2018-08-01的龙虎榜数据
get_billboard_list(stock_list=None, end_date = ‘2018-08-01’, count =1) get_future_contracts-获取期货可交易合约列表
get_future_contracts(underlying_symbol, dt) 获取某期货品种在指定日期下的可交易合约标的列表
参数
security: 期货合约品种,如 ‘AG’(白银) dt:指定日期,默认为None,不指定时返回当前日期下可交易的合约标的列表 返回
某一期货品种在指定日期下的可交易合约标的列表 示例
获取某一天的主力合约对应的期货合约代码
get_future_contracts(‘AU’,‘2017-01-05’)
输出
[‘AU1701.XSGE’, ‘AU1702.XSGE’, ‘AU1703.XSGE’, ‘AU1704.XSGE’, ‘AU1706.XSGE’, ‘AU1708.XSGE’, ‘AU1710.XSGE’, ‘AU1712.XSGE’] get_dominant_future-获取主力合约对应的标的
get_dominant_future(underlying_symbol,dt) 参数
underlying_symbol: 期货合约品种,如 ‘AG’(白银) dt:指定日期参数,获取历史上该日期的主力期货合约 返回
主力合约对应的期货合约 示例
获取某一天的主力合约对应的期货合约代码,指定日期为’2018-05-06’
get_dominant_future(‘AU’,‘2018-05-06’) ‘AU1812.XSGE’ 什么是主力连续合约
关于主力合约:
期货合约的生存周期是有限的,到合约最后交易日后就要交割。因此我们根据持仓量对期货合约进行拼接,形成主力连续合约。
合约代码:品种代号+9999,例如AG9999(白银主力合约)、Y9999(豆油主力合约)。
主力合约定义:如果某合约持仓量连续2天为同一个品种中最大的,且该合约相对于当前主力合约为远期合约,则自动变成主力合约。不会在日内进行主力合约切换。
关于品种指数: 期货品种指数是反映某一品种的价格总体水平和波动情况的指标,由聚宽根据各合约的持仓量作为加权平均计算所得。用户可以通过get_price()接口来调用期货指数的行情信息。
下面是主要期货交易所的主力合约列表和指数列表:
上海国际能源交易中心
名称 主力合约代码 指数合约代码 原油合约 SC9999.XINE SC8888.XINE 上期所
名称 主力合约代码 指数合约代码 白银合约 AG9999.XSGE AG8888.XSGE 铝合约 AL9999.XSGE AL8888.XSGE 黄金合约 AU9999.XSGE AU8888.XSGE 沥青合约 BU9999.XSGE BU8888.XSGE 铜合约 CU9999.XSGE CU8888.XSGE 燃料油合约 FU9999.XSGE FU8888.XSGE 热轧卷板合约 HC9999.XSGE HC8888.XSGE 镍合约 NI9999.XSGE NI8888.XSGE 铅合约 PB9999.XSGE PB8888.XSGE 螺纹钢合约 RB9999.XSGE RB8888.XSGE 天然橡胶合约 RU9999.XSGE RU8888.XSGE 锡合约 SN9999.XSGE SN8888.XSGE 线材合约 WR9999.XSGE WR8888.XSGE 锌合约 ZN9999.XSGE ZN8888.XSGE 纸浆合约 SP9999.XSGE SP8888.XSGE 郑商所
名称 主力合约代码 指数合约代码 备注 苹果合约 AP9999.XZCE AP8888.XZCE 棉花合约 CF9999.XZCE CF8888.XZCE 棉纱合约 CY9999.XZCE CY8888.XZCE 早籼稻合约 ER9999.XZCE ER8888.XZCE 玻璃合约 FG9999.XZCE FG8888.XZCE 绿豆合约 GN9999.XZCE GN8888.XZCE 粳稻谷合约 JR9999.XZCE JR8888.XZCE 晚籼稻合约 LR9999.XZCE LR8888.XZCE 甲醇合约 MA9999.XZCE MA8888.XZCE MA为新的甲醇合约代码,自MA1506开始执行 甲醇合约 ME9999.XZCE ME8888.XZCE ME为旧的甲醇合约代码,自ME1505停止执行 菜籽油合约 OI9999.XZCE OI8888.XZCE 普麦合约 PM9999.XZCE PM8888.XZCE 早籼稻合约 RI9999.XZCE RI8888.XZCE 菜籽粕合约 RM9999.XZCE RM8888.XZCE 菜籽油合约 RO9999.XZCE RO8888.XZCE 油菜籽合约 RS9999.XZCE RS8888.XZCE 硅铁合约 SF9999.XZCE SF8888.XZCE 锰硅合约 SM9999.XZCE SM8888.XZCE 白糖合约 SR9999.XZCE SR8888.XZCE PTA合约 TA9999.XZCE TA8888.XZCE 动力煤合约 TC9999.XZCE TC8888.XZCE 强麦合约 WH9999.XZCE WH8888.XZCE WH为新的强麦合约代码,自WH1307开始执行 强麦合约 WS9999.XZCE WS8888.XZCE WS为旧的强麦合约代码,自WS1305停止执行 硬白小麦合约 WT9999.XZCE WT8888.XZCE 动力煤合约 ZC9999.XZCE ZC8888.XZCE 大商所
名称 主力合约代码 指数合约代码 豆一合约 A9999.XDCE A8888.XDCE 豆二合约 B9999.XDCE B8888.XDCE 胶合板合约 BB9999.XDCE BB8888.XDCE 玉米合约 C9999.XDCE C8888.XDCE 玉米淀粉合约 CS9999.XDCE CS8888.XDCE 纤维板合约 FB9999.XDCE FB8888.XDCE 铁矿石合约 I9999.XDCE I8888.XDCE 焦炭合约 J9999.XDCE J8888.XDCE 鸡蛋合约 JD9999.XDCE JD8888.XDCE 焦煤合约 JM9999.XDCE JM8888.XDCE 聚乙烯合约 L9999.XDCE L8888.XDCE 豆粕合约 M9999.XDCE M8888.XDCE 棕榈油合约 P9999.XDCE P8888.XDCE 聚丙烯合约 PP9999.XDCE PP8888.XDCE 聚氯乙烯合约 V9999.XDCE V8888.XDCE 豆油合约 Y9999.XDCE Y8888.XDCE 乙二醇合约 EG9999.XDCE EG8888.XDCE 获取期货龙虎榜数据
from jqdatasdk import finance finance.run_query(query(finance.FUT_MEMBER_POSITION_RANK).filter(finance.FUT_MEMBER_POSITION_RANK.code==code).limit(n)) 描述:记录各个期货交易所对不同商品下的期货合约,记录该交易所会员持仓排名前20的信息。(每天更新)
获取期货交易所会员持仓(龙虎榜)
参数:
query(finance.FUT_MEMBER_POSITION_RANK):表示从finance.FUT_MEMBER_POSITION_RANK这张表中查询期货龙虎榜数据,还可以指定所要查询的字段名,格式如下:query(库名.表名.字段名1,库名.表名.字段名2),多个字段用逗号分隔进行提取;query函数的更多用法详见:sqlalchemy.orm.query.Query对象 finance.FUT_MEMBER_POSITION_RANK:收录了期货龙虎榜数据,表结构和字段信息如下: 字段设计
字段名称 中文名称 字段类型 含义 day 交易日 date code 合约编码 varchar(12) 同一商品根据交割日的不同对应不同的期货合约,比如:‘CU1807.XSGE’ exchange 交易所编码 varchar(10) 英文编码 XSGE:上海期货交易所, XDCE:大连商品交易所, XZCE:郑州商品交易所, CCFX:中国金融期货交易所 exchange_name 交易所名称 varchar(30) underlying_code 标的编码 varchar(10) underlying_name 标的名称 varchar(50) rank_type_ID 排名类别编码 int 501001-成交量排名, 501002-持买单量排名, 501003-持卖单量排名 rank_type 排名类别 varchar(50) 包含:成交量排名,持买单量排名,持卖单量排名 rank 排名 int member_name 会员简称 varchar(50) indicator 统计指标 int 统计指标根据排名类别确定,分别代表:成交量,持买单量,持卖单量。单位:手 indicator_increase 统计指标比上交易日增减 int 单位:手 一手:是指交易单位,也就是一张合约所代表的单位数量的标的物,一般根据品种有所不同,比如:大豆一手是10吨,铜一手是5吨,国债期货交易单位是钱,一手几万元。
交易所编码
交易所名称 编码 上海期货交易所 XSGE 大连商品交易所 XDCE 郑州商品交易所 XZCE 中国金融期货交易所 CCFX 排名类别编码
交易所名称 编码 成交量排名 501001 持买单量排名 501002 持卖单量排名 501003 filter(finance.FUT_MEMBER_POSITION_RANK.codecode):指定筛选条件,通过finance.FUT_MEMBER_POSITION_RANK.codecode可以指定你想要查询的合约编码;除此之外,还可以对表中其他字段指定筛选条件,如finance.FUT_MEMBER_POSITION_RANK.rank_type_ID==“501001”,表示按成交量排名查询龙虎榜数据;多个筛选条件用英文逗号分隔。 limit(n):限制返回的数据条数,n指定返回条数。 返回结果:
返回一个 dataframe,每一行对应数据表中的一条数据, 列索引是您所查询的字段名称 注意:
为了防止返回数据量过大, 我们每次最多返回3000行 不能进行连表查询,即同时查询多张表的数据 示例:
#查询A1905.XDCE最新一个交易日的持仓量龙虎榜数据 q=query(finance.FUT_MEMBER_POSITION_RANK.day, finance.FUT_MEMBER_POSITION_RANK.code, finance.FUT_MEMBER_POSITION_RANK.rank_type, finance.FUT_MEMBER_POSITION_RANK.rank, finance.FUT_MEMBER_POSITION_RANK.member_name, finance.FUT_MEMBER_POSITION_RANK.indicator,).filter(finance.FUT_MEMBER_POSITION_RANK.code==‘A1905.XDCE’,finance.FUT_MEMBER_POSITION_RANK.rank_type_ID==501002).order_by(finance.FUT_MEMBER_POSITION_RANK.day.desc()).limit(20) df=finance.run_query(q) print(df)
day code rank_type rank member_name indicator
0 2018-12-05 A1905.XDCE 持买单量排名 7 兴证期货 1753 1 2018-12-05 A1905.XDCE 持买单量排名 8 广发期货 1575 2 2018-12-05 A1905.XDCE 持买单量排名 6 华泰期货 1792 3 2018-12-05 A1905.XDCE 持买单量排名 5 永安期货 1977 4 2018-12-05 A1905.XDCE 持买单量排名 4 一德期货 2072 5 2018-12-05 A1905.XDCE 持买单量排名 3 五矿经易 2424 6 2018-12-05 A1905.XDCE 持买单量排名 2 国投安信 2959 7 2018-12-05 A1905.XDCE 持买单量排名 1 华安期货 4525 8 2018-12-05 A1905.XDCE 持买单量排名 20 宏源期货 621 9 2018-12-05 A1905.XDCE 持买单量排名 9 广州金控 1271 10 2018-12-05 A1905.XDCE 持买单量排名 10 国泰君安 1184 11 2018-12-05 A1905.XDCE 持买单量排名 11 浙商期货 1121 12 2018-12-05 A1905.XDCE 持买单量排名 18 中国国际 681 13 2018-12-05 A1905.XDCE 持买单量排名 17 南华期货 746 14 2018-12-05 A1905.XDCE 持买单量排名 16 申银万国 772 15 2018-12-05 A1905.XDCE 持买单量排名 15 北京首创 921 16 2018-12-05 A1905.XDCE 持买单量排名 14 中信期货 1013 17 2018-12-05 A1905.XDCE 持买单量排名 13 东证期货 1067 18 2018-12-05 A1905.XDCE 持买单量排名 12 信达期货 1079 19 2018-12-05 A1905.XDCE 持买单量排名 19 徽商期货 625 获取期货仓单数据
from jqdatasdk import finance finance.run_query(query(finance.FUT_WAREHOUSE_RECEIPT).filter(finance.FUT_WAREHOUSE_RECEIPT.underlying_code==underlying_code).limit(n)) 描述:期货仓单是指由期货交易所指定交割仓库,按照期货交易所指定的程序,签发的符合合约规定质量的实物提货凭证。记录了交易所所有期货实物的库存情况以及变更情况。
参数:
query(finance.FUT_WAREHOUSE_RECEIPT):表示从finance.FUT_WAREHOUSE_RECEIPT这张表中查询期货仓单数据,还可以指定所要查询的字段名,格式如下:query(库名.表名.字段名1,库名.表名.字段名2),多个字段用逗号分隔进行提取;query函数的更多用法详见:sqlalchemy.orm.query.Query对象 finance.FUT_WAREHOUSE_RECEIPT:收录了期货仓单数据,表结构和字段信息如下: 字段设计
字段名称 中文名称 字段类型 注释 day 日期 date exchange 交易所编码 varchar(10) 英文编码 exchange_name 交易所名称 varchar(30) 上海期货交易所,大连商品交易所,郑州商商品交易所,中国金融期货交易所 underlying_code 品种编码 varchar(10) product_name 品种名称 varchar(20) warehouse_name 仓库名称 varchar(20) 上期所:将地区和仓库数据合并成一条,仓库名称=“地区”+“仓库”。大商所:仓库名称存在多个不同的名字的,取第一个字体加粗的仓库名称。郑商所:不区分品牌,对每个仓库取仓库小计值 warehouse_receipt_number 今日期货仓单 int unit 单位 varchar(10) warehouse_receipt_number_increase 比昨日增减 int 交易所名称编码
交易所名称 编码 上海期货交易所 XSGE 大连商品交易所 XDCE 郑州商商品交易所 XZCE 中国金融期货交易所 CCFX filter(finance.FUT_WAREHOUSE_RECEIPT.underlying_codeunderlying_code):指定筛选条件,通过finance.FUT_WAREHOUSE_RECEIPT.underlying_codeunderlying_code可以指定你想要查询的品种;除此之外,还可以对表中其他字段指定筛选条件;多个筛选条件用英文逗号分隔。 limit(n):限制返回的数据条数,n指定返回条数。 返回结果:
返回一个 dataframe,每一行对应数据表中的一条数据, 列索引是您所查询的字段名称 注意:
为了防止返回数据量过大, 我们每次最多返回3000行 不能进行连表查询,即同时查询多张表的数据 示例:
#查询品种为铜(‘CU’)的2018年12月05日的仓单数据 q=query(finance.FUT_WAREHOUSE_RECEIPT.day, finance.FUT_WAREHOUSE_RECEIPT.underlying_code, finance.FUT_WAREHOUSE_RECEIPT.warehouse_name, finance.FUT_WAREHOUSE_RECEIPT.warehouse_receipt_number).filter(finance.FUT_WAREHOUSE_RECEIPT.underlying_code==‘CU’,finance.FUT_WAREHOUSE_RECEIPT.day==‘2018-12-05’).order_by(finance.FUT_WAREHOUSE_RECEIPT.day.desc()) df=finance.run_query(q) print(df)
day underlying_code warehouse_name warehouse_receipt_number
0 2018-12-05 CU 上海-上海裕强 0 1 2018-12-05 CU 上海-上港物流 3524 2 2018-12-05 CU 上海-世天威洋山 0 3 2018-12-05 CU 上海-中储临港(保税) 0 4 2018-12-05 CU 上海-中储吴淞 5238 5 2018-12-05 CU 上海-中储大场 224 6 2018-12-05 CU 上海-中海华东宝山 2804 7 2018-12-05 CU 上海-同盛松江 177 8 2018-12-05 CU 上海-同盛洋山(保税) 0 9 2018-12-05 CU 上海-国储外高桥 0 10 2018-12-05 CU 上海-国储天威 199 11 2018-12-05 CU 上海-外运华东张华浜 25 12 2018-12-05 CU 上海-期晟公司 200 13 2018-12-05 CU 上海-裕强闵行 2111 14 2018-12-05 CU 广东-八三O黄浦 9141 15 2018-12-05 CU 广东-南储仓储 5025 16 2018-12-05 CU 江苏-上港物流苏州 0 17 2018-12-05 CU 江苏-中储无锡 10517 18 2018-12-05 CU 江苏-常州融达 6787 19 2018-12-05 CU 江苏-无锡国联 1349 20 2018-12-05 CU 江苏-添马行物流 202 21 2018-12-05 CU 江西-江西国储 1238 22 2018-12-05 CU 浙江-国储837处 4205 23 2018-12-05 CU 浙江-宁波九龙仓 0 上市公司分红送股(除权除息)数据
from jqdatasdk import finance finance.run_query(query(finance.STK_XR_XD).filter(finance.STK_XR_XD.code==code).order_by(finance.STK_XR_XD.report_date).limit(n) 记录由上市公司年报、中报、一季报、三季报统计出的