《聚宽新手指南》系列教程从平台简介、获取数据、投资研究使用和常见问题处理四个方面介绍了聚宽平台,使初入平台的用户从整体上熟悉聚宽平台的使用。
之前的教程都是分一个一个知识点展开的,本教程将整体串起来。
本篇是《聚宽新手指南》系列教程中的第二篇 。
目录:
(1) 初识聚宽量化交易平台
(2) 获取数据教程(本篇)
(3) 常见报错及警告解决方法(链接待续)
(4) 投资研究使用教程(链接待续)
目前提供哪些数据
在哪查找提供的所有数据
数据字典
数据更新频率
数据更新频率
常见数据列表
股票数据:提供2005年至今沪深A股全面的行情、财务、基本面等数据;
期货数据:涵盖中金所、上期所、郑商所和大商所的所有期货合约数据;
期权数据:提供股票期权和商品期权的合约资料和行情数据;
场内基金数据:包含ETF、LOF、分级基金、货币基金完整的行情、净值数据;
场外基金数据:提供场外基金单位净值、复权净值、投资组合等数据;
聚宽因子库:包含数百个质量、情绪、风险、成长等六大类因子;
数据获取方法
在哪找获取数据的方法
API 数据获取函数
Query的简单教程
数据相关集合贴
有关数据获取方法)
数据提取逻辑 get_price/attribute_history/history/get_bars
典型获取数据的示例
get_price
get_price('000001.XSHE', start_date='2015-01-01', end_date='2015-01-31 23:00:00', frequency='1m', fields=['open', 'close'])# 获得000001.XSHG的2015年01月的分钟数据, 只获取open close字段
get_bars
设置复权基准日为 2018-01-05 , 取得的最近5条包括 end_dt 的天数据
get_bars('600507.XSHG',5,unit='1d', fields=('date','open', 'high', 'low', 'close'),
include_now=True, end_dt='2018-01-05 11:00:00', fq_ref_date=datetime.date(2018,1,5))
get_fundamentals: 查询财务数据
get_fundamentals_continuously: 查询多日的财务数据
基本的查询方式
query() 填写需要查询的对象,可以是整张表,也可以是表中的多个字段或计算出的结果
filter 填写过滤条件,多个过滤条件可以用逗号隔开,或者用and,or这样的语法
order_by 填写排序条件
.desc() 降序排列
.asc() 升序排列
limit 限制返回的个数
order_by 分组统计
例:查询'000001.XSHE'的所有市值数据, 时间是2015-10-15
q = query(
valuation
).filter(
valuation.code == '000001.XSHE'
)
df = get_fundamentals(q, '2015-10-15')
print(df)
例:查询贵州茅台2015年之后公布的业绩预告信息,限定返回条数为10条
from jqdata import finance
q=query(finance.STK_FIN_FORCAST).filter(finance.STK_FIN_FORCAST.code=='600519.XSHG',finance.STK_FIN_FORCAST.pub_date>='2015-01-01').limit(10)
df=finance.run_query(q)
print(df)
jy.run_query: 更多财务及宏观数据
查询'股票基本信息表 - STK_STOCKINFO'的数据, 并返回前10条数据
from jqdata import jy
df = jy.run_query(query(jy.LC_StockArchives).limit(10))
print(df)
macro.run_query: 获取聚宽宏观数据
查询分地区农林牧渔业总产值表(季度累计) 的前10条数据
from jqdata import *
q = query(macro.MAC_INDUSTRY_AREA_AGR_OUTPUT_VALUE_QUARTER
).limit(10)
df = macro.run_query(q)
print(df)
获取数据常见问题
数据后缀是怎么定义的?
交易市场 | 代码后缀 | 示例代码 | 证券简称 |
---|---|---|---|
上海证券交易所 | .XSHG | '600519.XSHG' | 贵州茅台 |
深圳证券交易所 | .XSHE | '000001.XSHE' | 平安银行 |
中金所 | .CCFX | 'IC9999.CCFX' | 中证500主力合约 |
大商所 | .XDCE | 'A9999.XDCE' | 豆一主力合约 |
上期所 | .XSGE | 'AU9999.XSGE' | 黄金主力合约 |
郑商所 | .XZCE | 'CY8888.XZCE' | 棉纱期货指数 |
上海国际能源期货交易所 | .XINE | 'SC9999.XINE' | 原油主力合约 |
获取到的股票的历史价格与其他平台上的数据不同?
- 因为两者的复权方式不同:比如您在聚宽上默认使用的是前复权,在别的网站上看到的是其他复权方式,这就导致了股票的历史价格不同;
- 复权算法不同:不同平台的复权算法不同,我们使用的等比复权,与新浪一致;
财务指标数据与其他平台不一致
注意区分单季度和报告期,一般财经网站上提供的财务指标数据都是根据财报公布日期统计的。上市公司公布财报分四种,一季度报、中期年度报、前三季度报、全年年报,统计的周期跨度分别为第一季度、前两个季度、前三个季度、全年,而聚宽考虑到量化分析,所以提供了单季度财务数据(get_fundamentals接口)此接口获取到的财务指标数据全是单季度的。所以因为财报的统计周期不同,导致了一些指标上的不一致。如果想要获取报告期数据,可以使用finance.run_query调用报告期数据 ; 如果大家想对比别的网站的单季度统计数值,可以到同花顺上查看,如 http://stockpage.10jqka.com.cn/000759/finance/#finance ,然后选择按单季度统计。
如何查询聚源数据?
- 聚源数据在哪:聚源数据;
聚源数据提供哪些数据,搜索聚源数据内容/字段的方法;
查询聚源数据的简单例子
发现数据有问题怎么办?
- 查看下我们关于数据问题的说明;
- 在社区发帖,详细描述下您的问题,包括以下内容:
- 具体是什么问题;
- 发下查询语句;
- 发下查询结果并标记下觉得有问题的地方;
- 发下对比截图;
- 发帖参考贴;
- 参考提数据问题贴
本地数据
JQData
JQData是什么
本地数据JQData介绍
JQData是聚宽数据团队专门为金融机构、学术团体和量化研究者们提供的本地量化金融数据服务。使用JQData,可快速查看和计算金融数据,无障碍解决本地、Web、金融终端调用数据的需求。历经3年沉淀,15万宽客及数百家机构投研交易验证。使用上,JQData适用Windows、Mac、Linux多种操作系统,支持python2、python3和以及任意编程语言。数据通过简洁的API方式提供,pip即可直接安装使用,挣脱使用束缚,实现更多场景。只需三行代码,即可随取随用~
JQData安装方法
JQData安装
JQData数据的使用
- 示例代码
import jqdatasdk
from jqdatasdk import *
jqdatasdk.auth('Mob','Password')
jqdatasdk.get_price(security='000001.XSHE', start_date='2008-08-08 09:30:00', end_date='2008-08-08 15:30:00', freqency='1m')
- JQData的API
- 通过Jupyter一秒开箱JQData本地数据
- 更多使用教程>>>
HTTP-JQData
HTTP-JQData是什么
HTTP-JQData介绍
是基于JQData数据,提供的开放式网络接口。用户可以不受语言和开发环境限制,以更低成本,更高效率,更简单的方式使用聚宽数据。
HTTP-JQData使用方法
API文档
示例教程(Python)
示例教程(R)
本地数据常见问题
jqdatasdk及http常见问题
您的账号最多只能开启 3 个链接
认证失败
JQData,jqdatasdk和jqdata的关系。
- JQData和jqdatasdk是同一个产品不同的名称,是一个Python库(或模块),是聚宽提供的数据接口,在您自己搭建的本地环境中使用(可以脱离官网和客户端独立使用),具体方法见JQData的API;
- jqdata是官网的数据产品,主要在官网及客户端使用,具体使用方法见官网的API;
- jqdata和jqdatasdk中的获取数据的函数及使用方法稍微不同,使用对应的API就没问题;
- 再强调一下,jqdatasdk不能在官网的回测、模拟、研究中使用,客户端使用的话需要安装jqdatasdk这个python库,具体安装方法请参考在聚宽客户端安装Python库;
- 一言以蔽之,最关键的是,使用环境不一致