其他接口

update_universe - 更新合约池

rqalpha.api.update_universe(id_or_symbols)

该方法用于更新现在关注的证券的集合(e.g.:股票池)。PS:会在下一个bar事件触发时候产生(新的关注的股票池更新)效果。并且update_universe会是覆盖(overwrite)的操作而不是在已有的股票池的基础上进行增量添加。比如已有的股票池为['000001.XSHE', '000024.XSHE']然后调用了update_universe(['000030.XSHE'])之后,股票池就会变成000030.XSHE一个股票了,随后的数据更新也只会跟踪000030.XSHE这一个股票了。

Parameters

id_or_symbols (Union[str, Instrument, Iterable[str], Iterable[Instrument]]) -- 标的物

Return type

None

subscribe - 订阅合约

rqalpha.api.subscribe(id_or_symbols)

订阅合约行情。

在日级别回测中不需要订阅合约。

在分钟回测中,若策略只设置了股票账户则不需要订阅合约;若设置了期货账户,则需要订阅策略关注的期货合约,框架会根据订阅的期货合约品种触发对应交易时间的 handle_bar。为了方便起见,也可以以直接订阅主力连续合约。

在 tick 回测中,策略需要订阅每一个关注的股票/期货合约,框架会根据订阅池触发对应标的的 handle_tick。

Parameters

id_or_symbols (Union[str, Instrument, Iterable[str], Iterable[Instrument]]) -- 标的物

Return type

None

unsubscribe - 取消订阅合约

rqalpha.api.unsubscribe(id_or_symbols)

取消订阅合约行情。取消订阅会导致合约池内合约的减少,如果当前合约池中没有任何合约,则策略直接退出。

Parameters

id_or_symbols (Union[str, Instrument, Iterable[str], Iterable[Instrument]]) -- 标的物

Return type

None

subscribe_event - 订阅事件

rqalpha.api.subscribe_event(event_type, handler)

订阅框架内部事件,注册事件处理函数

Parameters
  • event_type (EVENT) -- 事件类型

  • handler (Callable[[StrategyContext, Event], None]) -- 处理函数

Return type

None

plot - 画图

rqalpha.api.plot(series_name, value)

在策略运行结束后的收益图中,加入自定义的曲线。 每次调用 plot 函数将会以当前时间为横坐标,value 为纵坐标加入一个点,series_name 相同的点将连成一条曲线。

Parameters
  • series_name (str) -- 曲线名称

  • value (number) -- 点的纵坐标值

Example

def handle_bar(context, bar_dict):
    plot("OPEN", bar_dict["000001.XSHE"].open)