简介:本教程面向量化开发者与策略研究人员,系统讲解量化策略的本质,以及从因子想法到实盘部署的完整步骤。读者将掌握如何用前视收益与因子值计算每日IC、汇总ICIR等稳定性指标,并理解回测、风控、仿真与实盘上线中的关键注意事项与排查思路。
本教程要帮助读者完成两件事:第一,理解量化策略的本质——它并非预测未来的“水晶球”,而是一套可复现、可验证、可执行的规则系统,通过系统化地捕捉市场中的统计规律来获取收益;第二,掌握一个完整量化策略从想法到实盘的标准流程,并重点掌握因子有效性评估这一核心环节,包括IC序列计算、ICIR等稳定性指标的含义与实现方式。
适合阅读本教程的读者包括:刚接触量化领域的开发者、希望把主观交易经验转化为系统化策略的研究人员、需要评估因子质量的技术负责人,以及负责策略上线与运维的工程人员。
本教程适用于以下典型场景:
在开始之前,请确认你具备以下基础:
注意:数据质量是量化策略的生命线。在计算任何指标之前,请务必检查缺失值、异常值、复权处理和时间对齐问题,否则后续所有结论都不可靠。
量化策略的起点是一个可检验的假设,例如“低估值股票未来收益更高”或“近期成交量放大的股票短期动量更强”。你需要把这个想法转化为明确的因子表达式,例如“市净率的倒数”或“过去N日成交量均值与长期均值的比值”。
为什么这么做:模糊的想法无法验证,只有转化为可计算的因子值,才能进入定量评估环节。同时要明确预测目标,通常是未来一段时间的前视收益(forward return)。
注意点:因子定义必须严格避免使用未来信息。所有计算只能基于当前时点及之前可得的数据。
前视收益是因子评估的“标尺”。常见做法是把未来若干期的收盘价向前平移,与当前价格对比:
# 伪代码示意:构造未来N日收益forward_ret = close.pct_change(periods=N).shift(-N)
shift(-periods) 的作用是把未来的收盘价往前挪,使其与当前时点的因子值对齐。这样每一行代表“在当前时点观察到因子值,未来N期的实际收益是多少”。
为什么这么做:只有把因子值与未来收益对齐,才能计算两者之间的相关性,从而判断因子是否具有预测能力。
注意点:shift 的期数必须与你的预测周期一致;复权处理要统一;最后N行会因为缺少未来数据而变成缺失值,需要剔除。
IC(信息系数)衡量因子值与未来收益之间的相关程度。关键点在于:IC不是对整段时间算一个相关系数,而是每个交易日单独算一次,这样每天得到一个数,连起来就是IC序列。
ic_values = {}for dt in factor.index:f = factor.loc[dt] # 当天所有股票的因子值r = forward_ret.loc[dt] # 当天所有股票的未来收益mask = f.notna() & r.notna()corr = f[mask].corr(r[mask], method="spearman")ic_values[dt] = corric_series = pd.Series(ic_values)
为什么这么做:如果对整段时间只算一个相关系数,会掩盖因子有效性的时变特征。逐日计算能反映因子在不同市场环境下的表现,也为后续稳定性评估提供基础。
计算相关时使用Spearman而非Pearson,原因是因子值经常存在极端值(如财务比率中的异常大或异常小值)。Pearson对极端值敏感,而Spearman只看排名,稳健得多。业界通常把基于Spearman的IC称为RankIC。
为什么这么做:排名相关不假设线性关系,也不受单调变换影响,更符合“因子排序能力”这一实际需求——我们关心的是因子能否把好股票排在前面,而不是具体的数值大小。
算出每日IC后,需要汇总成几个关键指标:
mean_ic = ic_series.mean() # IC均值icir = mean_ic / ic_series.std() # ICIRn = len(ic_series)t_stat = mean_ic / (ic_series.std() / np.sqrt(n)) # t统计量positive = (ic_series > 0).mean() # IC为正的比例
各指标含义:
注意点:不同市场、不同标的池、不同预测周期下,指标的“好”标准不同。一般建议IC均值绝对值在0.03以上、ICIR在0.3以上可初步认为因子有效,但需结合具体场景判断,不可机械套用。
因子评估通过后,需要构建完整的策略规则并进行回测。回测要模拟真实交易约束:手续费、滑点、涨跌停、停牌、调仓频率等。
为什么这么做:IC只说明因子与收益有统计关联,不代表按此因子交易一定能赚钱。回测检验的是在真实约束下策略的净值表现。
回测通过后,先进入仿真环境运行一段时间,验证信号生成、订单执行、数据更新等环节是否正常。确认无误后再小资金实盘,逐步放大。
为什么这么做:回测与实盘之间存在执行延迟、流动性冲击、数据源差异等鸿沟,仿真和小资金实盘是必要的过渡。
在因子评估与回测中,几个关键配置项需要重点关注:
判断因子与策略是否达到预期,可从以下维度验证:
量化策略的本质,是把可检验的假设转化为可计算、可验证、可执行的规则系统。从想法到实盘,完整流程包括:定义因子与目标、构造前视收益、逐日计算IC、汇总ICIR等稳定性指标、回测验证、仿真与实盘部署。其中IC序列与ICIR是评估因子质量的核心工具,理解其计算逻辑与含义,是每一位量化从业者的基本功。后续可继续关注因子中性化、组合优化、执行成本建模等方向,持续提升策略的稳健性与实盘表现。