选择器算法组件
实现标的、系统策略的评估和选取算法。
公共参数:
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选择器实例
自定义选择器策略
自定义选择器策略接口:
SelectorBase.is_match_af()
- 【必须】判断是否和AF匹配SelectorBase.get_selected_on_open()
- 【必须】获取指定时刻开盘时选择的系统实例列表SelectorBase.get_selected_on_close()
- 【必须】获取指定时刻收盘时选择的系统实例列表SelectorBase._calculate()
- 【必须】计算接口SelectorBase._reset()
- 【可选】重置私有属性SelectorBase._clone()
- 【必须】克隆接口
选择器策略基类
- 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_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)
【重载接口】子类克隆接口