请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3353155 新帖:38

聚宽新手指南-获取数据教程

耶伦发表于:9 月 25 日 13:42回复(1)

《聚宽新手指南》系列教程从平台简介、获取数据、投资研究使用和常见问题处理四个方面介绍了聚宽平台,使初入平台的用户从整体上熟悉聚宽平台的使用。

之前的教程都是分一个一个知识点展开的,本教程将整体串起来。
本篇是《聚宽新手指南》系列教程中的第二篇 。

目录:

(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库;
    • 一言以蔽之,最关键的是,使用环境不一致

全部回复

0/140

量化课程

    移动端课程