选择器算法组件

实现标的、系统策略的评估和选取算法。

公共参数:

  • freq (int | 1) :变化频度,选股的变化周期,以Bar为单位

内建选择器

hikyuu.trade_sys.SE_Fixed([stk_list, sys])

固定选择器,即始终选择初始划定的标的及其系统策略原型

参数:
  • stk_list (list) – 初始划定的标的

  • sys (System) – 系统策略原型

返回:

SE选择器实例

hikyuu.trade_sys.SE_Signal([stk_list, sys])

信号选择器,仅依靠系统买入信号进行选中

参数:
  • stk_list (list) – 初始划定的标的

  • sys (System) – 系统策略原型

返回:

SE选择器实例

hikyuu.trade_sys.SE_MultiFactor(inds[, topn=10, ic_n=5, ic_rolling_n=120, ref_stk=None, spearman=True, mode="MF_ICIRWeight"])

创建基于多因子评分的选择器,两种创建方式:

  • 直接指定 MF: SE_MultiFactor(mf, topn=10)

  • 参数直接创建: SE_MultiFactor(inds, topn=10, ic_n=5, ic_rolling_n=120, ref_stk=None, mode=”MF_ICIRWeight”)

参数:
  • inds (sequense(Indicator)) – 原始因子列表

  • topn (int) – 只选取时间截面中前 topn 个系统, 小于等于0时代表不限制

  • ic_n (int) – 默认 IC 对应的 N 日收益率

  • ic_rolling_n (int) – IC 滚动周期

  • ref_stk (Stock) – 参考证券 (未指定时,默认为 sh000300 沪深300)

  • spearman (bool) – 默认使用 spearman 计算相关系数,否则使用 pearson

  • mode (str) – “MF_ICIRWeight” | “MF_ICWeight” | “MF_EqualWeight” 因子合成算法名称

返回:

SE选择器实例

自定义选择器策略

自定义选择器策略接口:

选择器策略基类

class hikyuu.trade_sys.SelectorBase

选择器策略基类,实现标的、系统策略的评估和选取算法

name 名称
proto_sys_list 原型系统列表
real_sys_list 运行时的实际系统列表
__init__(self[, name="SelectorBase])

初始化构造函数

参数:

name (str) – 名称

get_param(self, name)

获取指定的参数

参数:

name (str) – 参数名称

返回:

参数值

引发:

out_of_range – 无此参数

set_param(self, name, value)

设置参数

参数:
  • name (str) – 参数名称

  • value (int | bool | float | string) – 参数值

引发:

logic_error – Unsupported type! 不支持的参数类型

reset(self)

复位操作

clone(self)

克隆操作

add_stock(self, stock, sys)

加入初始标的及其对应的系统策略原型

参数:
  • stock (Stock) – 加入的初始标的

  • sys (System) – 系统策略原型

add_stock_list(self, stk_list, sys)

加入初始标的列表及其系统策略原型

参数:
  • stk_list (StockList) – 加入的初始标的列表

  • sys (System) – 系统策略原型

remove_all(self)

清除所有已加入的原型系统

is_match_af(self)

【重载接口】判断是否和 AF 匹配

参数:

af (AllocateFundsBase) – 资产分配算法

get_selected_on_open(self, datetime)

【重载接口】获取指定时刻开盘时选取的系统实例

参数:

datetime (Datetime) – 指定时刻

返回:

选取的系统实例列表

返回类型:

SystemList

get_selected_on_close(self, datetime)

【重载接口】获取指定时刻收盘时选取的系统实例

param Datetime datetime:

指定时刻

return:

选取的系统实例列表

rtype:

SystemList

_calculate(self)

【重载接口】子类计算接口

_reset(self)

【重载接口】子类复位接口,复位内部私有变量

_clone(self)

【重载接口】子类克隆接口