DataSource
- class
rqalpha.interface.
AbstractDataSource
[源代码] - 数据源接口。RQAlpha 中通过
DataProxy
进一步进行了封装,向上层提供更易用的接口。
在扩展模块中,可以通过调用 env.set_data_source
来替换默认的数据源。可参考 BaseDataSource
。
availabledata_range
(_frequency)[源代码]- 此数据源能提供数据的时间范围
参数:frequency (str) – 周期频率,1d 表示日周期, 1m 表示分钟周期返回:(earliest, latest)
currentsnapshot
(_instrument, frequency, dt)[源代码]- 获得当前市场快照数据。只能在日内交易阶段调用,获取当日调用时点的市场快照数据。市场快照数据记录了每日从开盘到当前的数据信息,可以理解为一个动态的day bar数据。在目前分钟回测中,快照数据为当日所有分钟线累积而成,一般情况下,最后一个分钟线获取到的快照数据应当与当日的日线行情保持一致。需要注意,在实盘模拟中,该函数返回的是调用当时的市场快照情况,所以在同一个handle_bar中不同时点调用可能返回的数据不同。如果当日截止到调用时候对应股票没有任何成交,那么snapshot中的close, high, low, last几个价格水平都将以0表示。
参数:
- **instrument** (<code>Instrument</code>) – 合约对象
- **frequency** (_str_) – 周期频率,_1d_ 表示日周期, _1m_ 表示分钟周期
- **dt** (_datetime.datetime_) – 时间返回:
Snapshot
get_all_instruments
()[源代码]- 获取所有Instrument。
返回:list[Instrument
]
getbar
(_instrument, dt, frequency)[源代码]- 根据 dt 来获取对应的 Bar 数据
参数:
- **instrument** (<code>Instrument</code>) – 合约对象
- **dt** (_datetime.datetime_) – calendar_datetime
- **frequency** (_str_) – 周期频率,_1d_ 表示日周期, _1m_ 表示分钟周期返回:
numpy.ndarray | dict
getcommission_info
(_instrument)[源代码]获取合约的手续费信息:param instrument::return:
getdividend
(_order_book_id)[源代码]- 获取股票/基金分红信息
参数:order_book_id (str) – 合约名返回:
getmerge_ticks
(_order_book_id_list, trading_date, last_dt=None)[源代码]- 获取合并的 ticks
参数:
- **order_book_id_list** (_list_) – 合约名列表
- **trading_date** (_datetime.date_) – 交易日
- **last_dt** (_datetime.datetime_) – 仅返回 last_dt 之后的时间返回:
Iterable object of Tick
getsettle_price
(_instrument, date)[源代码]- 获取期货品种在 date 的结算价
参数:
- **instrument** (<code>Instrument</code>) – 合约对象
- **date** (_datetime.date_) – 结算日期返回:
str
getshare_transformation
(_order_book_id)[源代码]获取股票转换信息:param order_book_id: 合约代码:return: (successor, conversion_ratio), (转换后的合约代码,换股倍率)
getsplit
(_order_book_id)[源代码]- 获取拆股信息
参数:order_book_id (str) – 合约名返回:pandas.DataFrame
gettick_size
(_instrument)[源代码]获取合约的 tick size:param instrument::return:
get_trading_calendar
()[源代码]- 获取交易日历
返回:list[pandas.Timestamp]
gettrading_minutes_for
(_instrument, trading_dt)[源代码]- 获取证券某天的交易时段,用于期货回测
参数:
- **instrument** (<code>Instrument</code>) – 合约对象
- **trading_dt** (_datetime.datetime_) – 交易日。注意期货夜盘所属交易日规则。返回:
list[datetime.datetime]
getyield_curve
(_start_date, end_date, tenor=None)[源代码]- 获取国债利率
参数:
- **str start_date** (_pandas.Timestamp_) – 开始日期
- **end_date** (_pandas.Timestamp_) – 结束日期
- **tenor** (_str_) – 利率期限返回:
pandas.DataFrame, [start_date, end_date]
historybars
(_instrument, bar_count, frequency, fields, dt, skip_suspended=True, include_now=False, adjust_type='pre', adjust_orig=None)[源代码]- 获取历史数据
参数:
- **instrument** (<code>Instrument</code>) – 合约对象
- **bar_count** (_int_) – 获取的历史数据数量
- **frequency** (_str_) – 周期频率,_1d_ 表示日周期, _1m_ 表示分钟周期
- **fields** (_str_) – 返回数据字段
fields字段名datetime时间戳open开盘价high最高价low最低价close收盘价volume成交量total_turnover成交额datetimeint类型时间戳open_interest持仓量(期货专用)basis_spread期现差(股指期货专用)settlement结算价(期货日线专用)prev_settlement结算价(期货日线专用)
参数:
- **dt** (_datetime.datetime_) – 时间
- **skip_suspended** (_bool_) – 是否跳过停牌日
- **include_now** (_bool_) – 是否包含当天最新数据
- **adjust_type** (_str_) – 复权类型,’pre’, ‘none’, ‘post’
- **adjust_orig** (_datetime.datetime_) – 复权起点;返回:
numpy.ndarray
historyticks
(_instrument, count, dt)[源代码]- 获取历史tick数据
参数:
- **instrument** (<code>Instrument</code>) – 合约对象
- **count** (_int_) – 获取的历史数据数量
- **fields** (_str_) – 返回数据字段
- **dt** (_datetime.datetime_) – 时间返回:
list of Tick