返回主题列表
聚宽新手指南-获取数据教程
JoinQuant技术支持 发布于2019-09-25
回复 15
浏览 75239
103
listen
分享到:
微信
微博
雪球
《聚宽新手指南》系列教程从平台简介、获取数据、投资研究使用和常见问题处理四个方面介绍了聚宽平台,使初入平台的用户从整体上熟悉聚宽平台的使用。
之前的教程都是分一个一个知识点展开的,本教程将整体串起来。
本篇是《聚宽新手指南》系列教程中的第二篇 。
### 目录:
(1) [初识聚宽量化投研平台](https://www.joinquant.com/view/community/detail/85ae46566640c0e5a9dd6f4e1f183a7a)
(2) [获取数据教程](https://www.joinquant.com/view/community/detail/5e4d0eac18d9ddb774452a7eb8f58bd4)
(3) [常见报错及警告解决方法](https://www.joinquant.com/view/community/detail/dc97ed907cd6c189a2106133dc72ccd4)
(4) [投资研究使用教程](https://www.joinquant.com/view/community/detail/22673)
## 目前提供哪些数据
### 在哪查找提供的所有数据
[数据字典](< https://www.joinquant.com/data>)
### 数据更新频率
[数据更新频率](< https://www.joinquant.com/help/api/help?name=JQData#JQData提供哪些数据及数据更新频率>)
### 常见数据列表
- 股票数据:提供2005年至今沪深A股全面的行情、财务、基本面等数据;
- 期货数据:涵盖中金所、上期所、郑商所和大商所的所有期货合约数据;
- 期权数据:提供股票期权和商品期权的合约资料和行情数据;
- 场内基金数据:包含ETF、LOF、分级基金、货币基金完整的行情、净值数据;
- 场外基金数据:提供场外基金单位净值、复权净值、投资组合等数据;
- 聚宽因子库:包含数百个质量、情绪、风险、成长等六大类因子;
## 数据获取方法
### 在哪找获取数据的方法
[API 数据获取函数](< https://www.joinquant.com/help/api/help?name=api#数据获取函数>)
[Query的简单教程](< https://www.joinquant.com/view/community/detail/433d0e9ed9fed11fc9f7772eab8d9376>)
[数据相关集合贴](< https://www.joinquant.com/view/community/detail/881bec72247daa104540d7baaf70d70d>)
[有关数据获取方法]([https://joinquant.com/view/community/detail/90f9f2600ed92f9f59b450d772ee8559](https://www.joinquant.com/view/community/detail/90f9f2600ed92f9f59b450d772ee8559))
[数据提取逻辑 get_price/attribute_history/history/get_bars](< https://www.joinquant.com/view/community/detail/21f5ae92675a7a4bf3654a976d3f3a5f>)
### 典型获取数据的示例
#### get_price
```python
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 的天数据
```python
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
```python
q = query(
valuation
).filter(
valuation.code == '000001.XSHE'
)
df = get_fundamentals(q, '2015-10-15')
print(df)
```
例:查询贵州茅台2015年之后公布的业绩预告信息,限定返回条数为10条
```python
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条数据
```python
from jqdata import jy
df = jy.run_query(query(jy.LC_StockArchives).limit(10))
print(df)
```
#### macro.run_query: 获取聚宽宏观数据
查询分地区农林牧渔业总产值表(季度累计) 的前10条数据
```python
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 ,然后选择按单季度统计。
#### 如何查询聚源数据?
- 聚源数据在哪:[聚源数据](< https://www.joinquant.com/help/data/data?name=jy>);
- 聚源数据提供哪些数据,搜索聚源数据内容/字段的方法;
- [查询聚源数据的简单例子](< https://www.joinquant.com/view/community/detail/e9f64cbc6ac5408402e216beb84afb60>)
#### 发现数据有问题怎么办?
- [查看下我们关于数据问题的说明](https://www.joinquant.com/view/community/detail/1226a48b1f9b7bd90dc3516feea8b5cc?type=2);
- 在社区发帖,详细描述下您的问题,包括以下内容:
- 具体是什么问题;
- 发下查询语句;
- 发下查询结果并标记下觉得有问题的地方;
- 发下对比截图;
- 发帖参考贴;
- [参考提数据问题贴](< https://www.joinquant.com/view/community/detail/8b33e139c11f13d90c26a51ebc90505e?type=2>)
## 本地数据
### JQData
#### JQData是什么
[本地数据JQData介绍](< https://www.joinquant.com/default/index/sdk?utm_campaign=JQData申请&utm_medium=网页&utm_source=聚宽&gio_link_id=xRxqAjP5>)
JQData是聚宽数据团队专门为金融机构、学术团体和量化研究者们提供的本地量化金融数据服务。使用JQData,可快速查看和计算金融数据,无障碍解决本地、Web、金融终端调用数据的需求。历经3年沉淀,15万宽客及数百家机构投研交易验证。使用上,JQData适用Windows、Mac、Linux多种操作系统,支持python2、python3和以及任意编程语言。数据通过简洁的API方式提供,pip即可直接安装使用,挣脱使用束缚,实现更多场景。只需三行代码,即可随取随用~
#### JQData安装方法
[JQData安装](< https://www.joinquant.com/view/community/detail/cdf86c624992fc86ed51d920ef8c637b>)
#### JQData数据的使用
- 示例代码
```python
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](< https://www.joinquant.com/help/api/help?name=JQData>)
- [通过Jupyter一秒开箱JQData本地数据](< https://www.joinquant.com/view/community/detail/58c22b26cce25ad09a23da08a1a484ae>)
- [更多使用教程>>>](< https://www.joinquant.com/user/c38d19ea9250c7ccf284baa5913ec83b>)
### HTTP-JQData
#### HTTP-JQData是什么
[HTTP-JQData介绍](< https://dataapi.joinquant.com/docs>)
是基于JQData数据,提供的开放式网络接口。用户可以不受语言和开发环境限制,以更低成本,更高效率,更简单的方式使用聚宽数据。
#### HTTP-JQData使用方法
[API文档](< https://dataapi.joinquant.com/docs>)
[示例教程(Python)](< https://www.joinquant.com/view/community/detail/760b93dae0b43b32736fab93c5f2e4a7>)
[示例教程(R)](< https://www.joinquant.com/view/community/detail/4b9edefc5ed0c0bae637c97d8b37ea82>)
### 本地数据常见问题
- [jqdatasdk及http常见问题](< https://www.joinquant.com/view/community/detail/ee1882a8e01abae33410f5093647e4d2>)
- [您的账号最多只能开启 3 个链接](< https://www.joinquant.com/help/api/help?name=JQData#您的账号最多只能开启3个链接>)
- [认证失败](< https://www.joinquant.com/help/api/help?name=JQData#认证失败>)
- JQData,jqdatasdk和jqdata的关系。
- JQData和jqdatasdk是同一个产品不同的名称,是一个Python库(或模块),是聚宽提供的数据接口,在您自己搭建的本地环境中使用(可以脱离官网和客户端独立使用),具体方法见JQData的API;
- jqdata是官网的数据产品,主要在官网及客户端使用,具体使用方法见官网的API;
- jqdata和jqdatasdk中的获取数据的函数及使用方法稍微不同,使用对应的API就没问题;
- 再强调一下,jqdatasdk不能在官网的回测、模拟、研究中使用,客户端使用的话需要安装jqdatasdk这个python库,具体安装方法请参考在聚宽客户端安装Python库;
- 一言以蔽之,最关键的是,使用环境不一致
103
listen
分享到:
微信
微博
雪球
评论
晴雪
你好,能给下具体的 desc()怎么使用吗?
==================
from jqdata import *
df= finance.run_query(query(finance.STK_XUEQIU_PUBLIC).filter(finance.STK_XUEQIU_PUBLIC.code=='600519.XSHG').order_by('day').desc().limit(10))
===================
报错如下
===================
AttributeError: 'Query' object has no attribute 'desc'
2020-03-31
向日葵向阳花
你好,如何得到连续三个季度净利润增长为正?不会用get_fundamentals接口,谢谢。
2020-07-10
JoinQuant-Supercritical
@向日葵向阳花 https://www.joinquant.com/view/community/detail/433d0e9ed9fed11fc9f7772eab8d9376
2020-10-20
JoinQuant-Supercritical
@晴雪 https://www.joinquant.com/view/community/detail/433d0e9ed9fed11fc9f7772eab8d9376
2020-10-20
bing5tui3
聚源数据链接404了,哪里可以看?
2021-11-29
中国巴韭特分特
想请教一下如果想获取实时数据,怎么操作,爬虫?
2022-01-13
FinalVisi
请问如果使用JQdata在本地编辑策略的话,回测函数是否得自行编辑
2022-01-20
lyx_0208
@FinalVisi 请问有答案了吗~我也想知道
2022-02-11
FinalVisi
@lyx_0208 没有哦,jqdata里面应该有内置的回测函数,可以尝试找找看
2022-02-13
lyx_0208
@FinalVisi 我今天看到了一篇教程,讲了回测的函数和参数分析可视化 https://www.joinquant.com/view/community/detail/80ee3db068254e1e9aadbdd9b2420270
2022-02-13
FinalVisi
@lyx_0208 好的,非常感谢!!!
2022-02-14
@Z123
聚宽新手指南-获取数据教程
2024-04-07
秀才遇到兵
获取到的数据怎么导出保存为csv文件?
2025-04-15
妖刀破军
请问如何获取聚宽平台上面关于当日集合实时数据呢(分钟级或者TICK级)
2025-06-13
您尚未登录,请 登录 或者 注册 聚宽发表回复。
取 消
提 交
关于
关于我们
联系我们
加入我们
数据
指数数据
基金数据
国泰安数据
股票财务数据
金融期货数据
行业概念数据
帮助
常见问题
API文档
Python教程
共享函数库
Python 2 to 3
友情链接
果仁网
关注我们
知乎专栏
雪球
微信公众号
用户协议 | 隐私政策
@2025 @joinquant.com | 京ICP备17068639号-5 | 增值电信业务经营许可证:京B2-20212305
关于
关于我们
加入我们
联系我们
数据
指数数据
基金数据
国泰安数据
股票财务数据
金融期货数据
行业概念数据
帮助
常见问题
API文档
Python教程
@2025 @joinquant.com | 京ICP备17068639号-5 | 增值电信业务经营许可证:京B2-20212305