单因子会“时灵时不灵”。把几个互补的有效因子合起来,通常更强更稳——这就是多因子的核心:分散。
def z(s):
s = s.clip(s.quantile(.01), s.quantile(.99)) # 去极值
return (s - s.mean()) / s.std() # 标准化
composite = (z(value) + z(small_cap) + z(low_turn) + z(reversal)) / 4
| 因子 | IC均值 | ICIR |
|---|---|---|
| 价值(1/PB) | +0.053 | 0.34 |
| 小市值 | +0.043 | 0.25 |
| 低换手 | +0.097 | 0.65 |
| 月反转 | +0.051 | 0.40 |
| 综合 | +0.104 | 0.70 |
综合 ICIR 0.70 > 最强单因子 0.65——分散的好处:单因子哪个月哑火,别的能顶上。
综合因子顶 20% 等权、月度调仓、扣成本:年化 11.5%、夏普 0.58、回撤 -25.8%;全市场等权基准只有 8.7%——超额约 +2.8%/年,且回撤更小。你已经做出一个迷你多因子选股策略了。
往综合因子里加/去掉一个因子(比如去掉风险大的“小市值”),看 ICIR 和组合超额怎么变;再把合成从“等权”改成“按IC加权”——注意,这一步就埋了过拟合的雷,下一关揭晓。
标准化→等权合成→选顶组调仓。综合因子比单因子更稳(ICIR 0.70>0.65),这就是分散的价值。
