文章目录
- 学习目标:
- 一、数据接口种类
- 二、获取韩各样、板块以及概念股票列表
- 2.1 关于股票代码以及代码补齐
- RiceQuant上的股票代码标记:
- 2.2 获取行业
- industry - 行业股票列表
- 参数
- 返回
- 范例
- 2.3 获取板块
- sector - 板块股票列表
- 参数
- 返回
- 2.4 获取概念
- 2.5 获取指数成分股
- index_components - 指数成分股
- 常见的指数获取代码为
- 2.6 自定义股票池,提供给handle_bar使用
- 三、获取股票合约数据
- 3.1 history_bars - 某一合约历史数据
- 参数
- 获取的字段内容如下
- 3.2 代码以及注意的问题
- 3.3 其它-通过bar_dict获取
- Bar对象
- 只能获取当前的交易信息
- 四、获取财务数据
- 4.1 get_fundamentals - 查询财务数据
- 参数
- 返回
- 4.2 如何获取指标-query查询
- 4.3 过滤指标条件
- 五、scheduler定时器定时数据获取
- 5.1 API介绍
- 5.1.1 scheduler.run_daily - 每天运行
- 5.1.2 scheduler.run_monthly - 每月运行
- 5.2 添加定时器之后的策略运行顺序
- 5.3 代码
学习目标:
应用industry实现行业股票列表的获取
应用history_bars实现股票合约历史行情数据获取
应用get_fundamentals实现股票基本面数据获取
使用query的过滤条件完成股票数据的过滤
应用scheduler定时器实现股票数据定期获取
一、数据接口种类
获取指定行业、板块股票列表
history_bars - 指定股票合约历史数据
get_fundamentals - 查询财务数据
二、获取韩各样、板块以及概念股票列表
2.1 关于股票代码以及代码补齐
RiceQuant上的股票代码标记:
股票自动搜索及补全
Windows 用户 : 输入ctrl + i
Mac 用户 :输入command + i
Linux 用户 :输入ctrl + i
当您输入了这个组合键之后,Ricequant在线IDE就会进入股票代码搜索和自动完成模式,接着您可以输入任何一种进行搜索和自动补全:
股票数字代码 - 自动补全为股票数字代码,比如"000024.XSHE":
股票中文全称 - 自动补全为股票中文全称,比如"招商地产"
股票拼音缩写 - 这里比较特殊,自动补全为股票中文全称,因为股票拼音缩写并不是独一无二的,比如ZSDC补全为"招商地产"
2.2 获取行业
industry - 行业股票列表
获得属于某一行业的所有股票列表。
参数
返回
获得属于某一行业的所有股票的order_book_id list。
范例
2.3 获取板块
sector - 板块股票列表
获得属于某一板块的所有股票列表。
参数
返回
属于该板块的股票order_book_id或order_book_id list.
范例
支持的行业获取如下,想要了解全球行业划分标准参考全球行业标准分类:
2.4 获取概念
参考:https://www.ricequant.com/api/python/chn#data-methods-concept
2.5 获取指数成分股
index_components - 指数成分股
获取某一指数的股票构成列表,也支持指数的历史构成查询。
返回
构成该指数股票的order_book_id list
常见的指数获取代码为
2.6 自定义股票池,提供给handle_bar使用
我们可以通过context的参数,相当于提供一个全局变量来获取
三、获取股票合约数据
3.1 history_bars - 某一合约历史数据
获取指定合约的历史行情,同时支持日以及分钟历史数据。不能在init中调用。
参数
返回
ndarray ,方便直接与talib等计算库对接,效率较history返回的DataFrame更高。
获取的字段内容如下
3.2 代码以及注意的问题
因为撮合逻辑是当前bar收盘或者下一个bar开盘,所以history_bars()可以获取到包含当前bar及之前所有的bar数据
获取当天的数据
获取前十天的数据
获取每天的每分钟分钟的数据?获取每分钟之前的几分钟数据?
问题:这里的频率跟回测的频率区别?
3.3 其它-通过bar_dict获取
获取合约当前价格的bar_dict,
Bar对象
注意,在股票策略中bar对象可以拿到所有股票合约的bar信息
只能获取当前的交易信息
注:只能获取当前运行日期的,不能获取之前日期
四、获取财务数据
4.1 get_fundamentals - 查询财务数据
获取历史财务数据表格。目前支持中国市场超过400个指标,具体请参考 财务数据文档 。目前仅支持中国市场。需要注意,一次查询过多股票的财务数据会导致系统运行缓慢。(entry_date在回测当中不去要提供)
注意这里的数据指标类别虽然有400多种,但是RQ平台的这些指标数据质量不高,很多指标没有经过运算处理成需要的指标,跟我们在讲金融数据处理的时候列出来的那些财务指标差别比较大
参数
返回
pandas DataPanel 如果查询结果为空,返回空pandas DataFrame 如果给定间隔为1d, 1m, 1q, 1y,返回pandas DataFrame
4.2 如何获取指标-query查询
通过fundamentals获取以上的属性
4.3 过滤指标条件
query().filter:过滤大小
query().order_by:排序
query().limit():限制数量
fundamentals.stockcode.in_():在指定的股票池当中过滤
问题:一般选择一些满足财务数据的股票时间并不是每天去获取,而是间隔一周、一个月去获取一次?怎么取获取呢?
五、scheduler定时器定时数据获取
scheduler.run_daily - 每天运行
scheduler.run_weekly - 每周运行
scheduler.run_monthly - 每月运行
5.1 API介绍
5.1.1 scheduler.run_daily - 每天运行
scheduler.run_daily(function)
每日运行一次指定的函数,只能在init内使用。
注意,schedule一定在其对应时间点的handle_bar之前执行,如果定时运行函数运行时间较长,则中间的handle_bar事件将会被略过。
参数:
返回
无
5.1.2 scheduler.run_monthly - 每月运行
每月运行一次指定的函数,只能在init内使用。
注意:
tradingday的负数表示倒数。
tradingday表示交易日,如某月只有三个交易日,则此月的tradingday=3与tradingday=-1表示同一。
参数:
返回
无
5.2 添加定时器之后的策略运行顺序
比如我们添加了这样一段代码:
5.3 代码