← 返回目录
p2.7动手⏱ 约 18 分钟

因子评价体系:IC / ICIR / 分层 / 衰减 / 换手

换一个问法之后,P2 那些「显著」的信号几乎全部不合格

🔎 最后验证 2026-07📚 来源:IC/分层/衰减/换手于 2026-07-31 在 ECS 实测(技术因子 50 只、基本面因子 30 只),输出见 code/outputs/stdout.txt;与 alphalens 对拍见 code/outputs/lib_crosscheck.txt🧰 pandas 3.0.5、scipy 1.18.0、alphalens-reloaded 0.4.6
为什么学这个

前六节我们一直在问同一个问题:"这个信号出现之后,涨不涨?"

那是事件研究的问法。做因子要换一个问法:

在同一天的所有标的里,这个因子能不能把未来收益排出顺序?

换完问法,结果变了。用严格的因子标准衡量,P2 里那些 p 值小到 0.0000 的"显著"信号:

  • ICIR 全部在 -0.12 到 +0.11 之间,而"值得继续研究"的门槛通常是 0.3
  • 分层全部不单调
  • 20 日动量的 IC 甚至是负的——横截面上是反转,而 P2 的时序检验显示的是延续

这一节讲清五个指标,以及为什么它们必须一起看。

💡 打个比方

"吃了这个药之后,病人好转了"——这是事件研究。

"在同一批病人里,吃药剂量越大的,好转程度越高吗"——这是因子研究。

第一个问法里,病人会自己好、会有安慰剂效应、会有其他治疗;第二个问法天然带对照组:同一天、同样的市场环境,只比较标的之间的差异。

做因子,就是把市场整体的涨跌扣掉之后,看你还剩什么。

一、五个指标,一个都不能少

指标回答什么及格线(经验值)
IC因子有没有方向、强度多大|IC| > 0.02
ICIR方向稳不稳(IC 均值 / IC 标准差)> 0.3
分层是不是只有极端组有效单调
衰减信息能维持多久 → 决定调仓频率越慢越好
换手排名稳不稳 → 决定付不付得起成本相邻日排名相关 > 0.9

ICIR 比 IC 重要。一个 IC=0.05 但忽正忽负的因子,远不如一个 IC=0.02 但方向稳定的因子好用——因为前者你根本不知道什么时候该信它。

二、实测:六个因子的成绩单

因子持有期IC 均值IC 标准差ICIRIC>0 占比t 值*
动量205 日-0.02970.2392-0.12446.2%-3.52
动量2020 日-0.02530.2329-0.10847.6%-1.53
波动率205 日-0.01660.2494-0.06747.6%-1.89
波动率2020 日-0.02070.2387-0.08745.4%-1.22
相对成交量5 日-0.01460.1906-0.07747.2%-2.17
roeAvg20 日+0.01460.2340+0.06250.3%0.62
YOYNI20 日+0.00540.2455+0.02252.4%0.22
liabilityToAsset60 日+0.02230.2000+0.11252.3%0.64

* t 值已按重叠窗口做保守打折(有效样本 ≈ 天数/持有期,见 P3.2)

没有一个因子的 ICIR 达到 0.3。最好的一个是 0.112。

⚠️ 避坑

注意 20 日动量的 IC 是负的(-0.0297),而 P2 的时序检验说动量会延续。

这不是矛盾,是两个不同的东西:

  • 时序动量(P2.2/P2.3):这只标的自己涨了,接下来它自己还会涨吗?
  • 横截面动量(本节):同一天里,涨得多的标的,接下来会比涨得少的标的涨得更多吗?

实测结果:时序上延续,横截面上反转。A 股短周期的横截面反转效应在学术上有大量文献支持,这里的数字与之方向一致。

这个区分极其重要,因为它决定你的策略形态:时序动量做择时(什么时候持有),横截面反转做选股(持有哪些)。把两者混为一谈,你会做出一个自己和自己打架的策略。

🔧 动手做:换个问法,看 P2 那些"显著"信号剩几个(6 分钟)

前面几节找到不少"显著"信号。跑 python factor_eval.py,用因子评价的正规问法(IC / ICIR)重新审它们。

你会看到(实测):六个因子的 ICIR 全部落在 -0.124 到 +0.112 之间,没一个达到 0.3 的经验门槛;连动量20 的 5 日 IC 都是 -0.0297(负的,横截面反转)。换个问法,P2 那些"显著"的信号几乎全部不合格

想明白:t 检验说"信号日和非信号日均值有差异"(显著),但那不等于"这个因子能拿来选股"。因子评价问的是更狠的问题:它对未来收益的排序能力(IC)稳不稳(ICIR)。很多"统计显著"的信号,ICIR 一算就现原形。显著 ≠ 有用

三、分层:排除"全靠尾部"的假因子

按因子五等分,看各组未来收益是否单调:

动量20(20 日后)

平均收益
第 1 层(最低)1.247%
第 2 层0.984%
第 3 层1.148%
第 4 层1.151%
第 5 层(最高)1.190%
多空(5-1)-0.057% 不单调

波动率20(20 日后)

平均收益
第 1 层0.788%
第 2 层0.933%
第 3 层1.073%
第 4 层1.565%
第 5 层1.376%
多空(5-1)+0.588% 不单调(第 4 层反而最高)

roeAvg(60 日后)

平均收益
第 1 层(ROE 最低)3.868%
第 2 层3.127%
第 3 层2.430%
第 4 层1.065%
第 5 层(ROE 最高)2.781%
多空(5-1)-1.087% 不单调

三个因子全部不单调。这说明:即使某些持有期上 IC 显著,效应也不是"因子值越大越好"这种干净形态,而是集中在某一端或某几组——这种因子做成多空组合会非常不稳定。

四、衰减与换手

衰减(IC 随持有期)

因子1 日5 日10 日20 日60 日
动量20-0.0257-0.0297-0.0275-0.0253-0.0175
波动率20-0.0173-0.0166-0.0190-0.0207-0.0336
相对成交量-0.0319-0.0146-0.0063-0.0027-0.0046

三种典型形态一次看全:动量衰减很慢(60 日仍有 -0.0175)、波动率反而随期限增强、相对成交量5 日就基本归零

换手(排名稳定性)

因子相邻日排名相关20 日后排名相关评价
动量200.9246-0.0222低换手
波动率200.97720.5991低换手
相对成交量0.5200-0.0788高换手

把衰减和换手放在一起,"相对成交量"的问题就一目了然:1 日 IC 最强(-0.0319),但 5 日就归零,而且排名天天在变(相邻日相关仅 0.52)

这意味着你必须每天大幅调仓才能捕捉它——而按 p0.2 的死亡线方法,这种换手率下,它的信息量几乎必然被成本吃光。

五、与业界标准对拍

手写 IC 之后必须验证它算得对。我们与 alphalens-reloaded 0.4.6(Quantopian alphalens 的维护分支)对拍同一个因子:

共同交易日 3998
我们的 IC 均值      -0.029739
alphalens IC 均值   -0.029339
两者相关            0.997152
✓ 高度一致(差异来自 alphalens 的前视对齐与去极值默认设置)

生产建议:因子评价直接用 alphalens-reloaded,它的分层、换手、收益归因都更完整。手写的价值在于你知道每个数字是怎么来的——当 alphalens 给出一个反直觉的结果时,你能判断是因子的问题还是参数设置的问题。

⚠️ 避坑

本节的样本限制,必须说在结论之前。

  • 技术因子只有 50 只标的,基本面因子只有 30 只
  • 30 个标的的横截面 IC 噪声极大——真实的因子研究至少要几百只,通常是全市场

所以本节的具体数字只能用于演示方法,不足以支撑任何关于这些因子有效性的结论

我保留它们,是因为方法比数字重要:你学会的是这套评价流程,而不是"动量因子在 A 股无效"这种需要更大样本才能下的判断。

❓ 测验
某因子 IC 均值 0.05(不错),但 IC 标准差 0.30、分层不单调、相邻日排名相关 0.4。最合理的判断是?
✏️ 填空
因子评价里,比 IC 均值更重要的稳定性指标是 ___ ,它等于 IC 均值除以 IC 标准差。

📌 免责:本课为技术教学,样本量有限(技术因子 50 只、基本面 30 只),数字仅用于演示方法,不构成对任何因子有效性的结论,更不构成投资建议。

✅ 小结

P2 章完结。这一节把前六节放进了同一把尺子下:

  • 五个指标必须一起看:IC 有方向、ICIR 稳定、分层单调、衰减够慢、换手够低
  • 实测:没有一个因子的 ICIR 达到 0.3(最好 0.112),分层全部不单调
  • 时序动量 ≠ 横截面动量:P2 的时序检验显示延续,横截面 IC 却是负的(反转)。混为一谈会做出自己和自己打架的策略
  • 与 alphalens 对拍相关 0.997152,证明我们的 IC 定义与业界一致
  • 样本限制说在前面:30–50 只标的的横截面噪声极大,数字只演示方法

P2 六节讲了那么多"显著",到这一节几乎全被打回。这不是自我否定,而是这门课的核心方法论:一个信号要变成可用的因子,中间隔着五道关;而大多数流行说法,连第一关都过不去。

下一章 P3 进入计量与统计。它会回答一个一直悬着的问题:P2 那 49 次检验里的"显著",到底有几个是真的?答案在 P3.4——而在那之前,我们要先搞清楚收益率到底是个什么分布。

下一节 → 收益率的统计性质:平稳性、厚尾与波动聚集
🔎 来源与核验· 4 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「六个因子的 ICIR 全部在 -0.124 到 +0.112 之间,均未达到 0.3 的经验门槛;动量20 的 5 日 IC 为 -0.0297(负,横截面反转)」
📚 本节 code/factor_eval.py,2026-07-31 于 ECS 实测(技术因子 50 只标的 195127 行、基本面 30 只 116504 行),输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「分层结果:动量20 多空 -0.057%、波动率20 多空 +0.588%(第 4 层最高)、roeAvg 多空 -1.087%,三者均不单调」
📚 同上实测✓ 已核验 2026-07
「衰减:相对成交量 1 日 IC -0.0319、5 日 -0.0146、20 日 -0.0027;换手:相对成交量相邻日排名相关 0.5200,动量20 为 0.9246,波动率20 为 0.9772」
📚 同上实测✓ 已核验 2026-07
「与 alphalens-reloaded 0.4.6 对拍同一因子:我们 IC 均值 -0.029739、alphalens -0.029339,两者相关 0.997152,共同交易日 3998」
📚 _shared/lib_crosscheck.py 实测,输出见 code/outputs/lib_crosscheck.txt✓ 已核验 2026-07
样本量有限(技术因子 50 只、基本面 30 只),横截面 IC 噪声大;数字用于演示评价方法,不构成对因子有效性的结论。
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p3.1
收益率的统计性质
继续读下一节 →