在做量化投资时,常常听人说:“这个因子IC高”、“那个因子稳”、“这组因子重复了”等。
但到底啥叫因子好?怎么用数据和代码去验证?今天就带你搞清楚:衡量一个量化因子好坏的完整体系——从指标、公式到代码全都有。
一、量化因子“四维体检体系”
我叫它“四维体检法”:IC 是心电图——看预测方向的稳定性;ICIR 是体温——看表现的一致性与波动;分层收益是血压——看区分好坏资产的能力;可持续性是耐力——看跨市场环境的适应性。
接下来,我们一维一维拆开讲,公式 + 代码全带上。
二、第一维:IC(Information Coefficient)信息系数
判断标准:
IC 均值:通常要求大于 0.03(选股类因子)或大于 0.01(行业中性后),绝对值越高越好,反映因子整体预测能力
IC 正负比例:正 IC 占比越高越好,理想情况下应超过 70%,说明因子方向稳定、不易“翻车”
IC 序列平稳性:IC 应围绕正值稳定波动,而非大起大落或长期归零,避免“时灵时不灵”的情况
注:上述阈值基于日频A股因子经验,若为周/月频或行业中性因子,应适当放宽(例如0.01/0.03为边界)。
Python实战:用 RSI 因子举例
为了方便大家理解,这里用常见的 RSI(相对强弱指标)作为示例因子,演示 IC 的计算过程。行情数据我们采用 xtquant + miniQMT 这个组合。
先发一个获取行情的方法,后面会用到:
有了行情,接下来我们计算RSI因子的IC,代码如下:
计算完 IC 以后,我们顺手把 IC 的走势图绘制一下,方便更直观地看出因子的预测能力。核心代码如下:
按照上面的逻辑,我统计了全部 A 股(排除北交所)RSI 因子对应的未来 10 天收益的 IC 均值,结果如下:
IC 均值:-0.0797
以下是对应的因子 IC 时序走势图:
先来看IC均值为负的含义:
RSI值越高,未来10天收益反而越低。这其实完全符合RSI的经典性质——短期反转特征。换句话说,当股票近期涨得过快(RSI高)时,未来可能会出现回调;而近期跌得多(RSI低)时,则可能出现反弹。而且绝对值>0.05,说明RSI具有较强的反向预测力,是一个反转型优秀因子。