☰
QuantsPlaybook ICIR 因子评估:从零看懂因子“稳不稳“
2026/9/25 2:53:11 网站建设 项目流程

QuantsPlaybook ICIR 因子评估:从零看懂因子"稳不稳"

【免费下载链接】QuantsPlaybook量化研究-券商金工研报复现项目地址: https://gitcode.com/GitHub_Trending/qu/QuantsPlaybook

在 QuantsPlaybook ICIR 是判断一个因子能不能用的第一把尺子。这个复现了上百篇券商金工研报的开源项目里,几乎每个因子 notebook 都藏着完整的 ICIR 评估流程。下面挑一个动量因子,带你把"怎么算、怎么读、怎么判"完整走一遍。

🔍 ICIR 到底在量什么?一句话讲清

先别记公式,把它想象成考试成绩。IC(Information Coefficient,信息系数)相当于每一次月考的分数:每个调仓日,算一次"因子值"与"下月收益"的相关性,一期出一个数。ICIR(IC 信息比率)就是平均分除以分数的波动,即 IC 均值 ÷ IC 标准差。

它只回答一个问题:预测能力稳不稳。一个 IC 均值 0.05 但波动小的因子,ICIR 会高于 IC 均值 0.08 但忽大忽小的因子——前者是稳定发挥的学生,后者是赌一把的彩票。

项目内部是怎么把 ICIR 算出来的

QuantsPlaybook ICIR 的数据流就四步:行情数据 → 因子值 → IC 序列 → ICIR。

  1. 数据层:notebook 先用 jqdata 或 tushare 拉行情,剔除 ST、停牌、上市不满一年的股票,形成干净股票池;
  2. 因子层:逐日算因子值,比如"过去 20 日收益率"就是最基础的动量因子;
  3. IC 层:每个交易日算一次截面相关,scr/core.py 里用的是 Spearman 秩相关(按排名算相关,避开极端值干扰);
  4. ICIR 层:IC 序列求均值再除以标准差,composition_factor.py 里ic_ir = mean_ic / std_ic就是最直白的写法,还套了滚动窗口用来给因子加权重。

你搜"因子ICIR怎么算"想找的,就是这条四步流水线,而不是一行神秘代码。

拿动量因子走一遍:从输入到读数

打开 再论动量因子.ipynb,能看到最完整的一次读数。

输入很简单:中证 500 成分股,2007–2019 年,月度调仓,20/60/120/240/480 日五个窗口,且按申万一级行业和对数流通市值做了中性化(把行业和市值的影响从因子里剥离出去)。

输出的是一张五行表格:IC、IC_IR、多空夏普、单调性 MONO_Score(各组收益是否按因子大小有序排列)、换手率。读数时抓住三点:

  • 20 日动量:IC ≈-0.046,IC_IR ≈ -0.067;
  • 60 日动量:IC_IR ≈ -0.070,是五个窗口里最稳的;
  • 负号才是关键:A 股短期是"反转"——前期涨得多的股票下个月倾向跌,所以这个因子要靠"做空强、做多弱"赚钱。

约 150 个月样本里 |ICIR| 只有 0.05–0.07,绝对值算一般,但方向十几年来没翻过——这正是量化因子有效性评估里 ICIR 想表达的东西。仓库里其他案例同理:STR 凸显性因子的 Rank ICIR ≈ 0.35,筹码分布因子、球队硬币因子用的都是同一套读数方法。

⚖️ ICIR 多少算好?别被单一数字骗了

QuantsPlaybook ICIR 的表格多为月度频率,业内常用的 ICIR判断标准大致如下:

ICIR(月度)评价
> 0.5优秀因子
0.3 – 0.5良好因子
0.1 – 0.3一般因子
< 0.1需进一步优化

两个常见误读要避开:

  1. ICIR 高但样本量不足:只有几个月的 IC,标准差天然小,ICIR 被"除"得虚高,可信结论至少要几年的样本;
  2. ICIR 高但 IC 均值低:均值 0.02、标准差 0.02 也能得出 ICIR 1,可预测力很弱,读数时 IC 均值、IC 胜率和 ICIR 要一起看。

另外注意口径:股票网络中心度因子 的文档里直接给出 IC_IR ≈ 3.97 这样的大数,那是年化口径(月度 ICIR × √12),别和上表的月度数字直接混比。高 ICIR 因子做成组合后,净值曲线通常就是这种平滑少深坑的形态:

五分钟内跑通第一次 ICIR 分析

三行命令:

git clone https://gitcode.com/GitHub_Trending/qu/QuantsPlaybook cd QuantsPlaybook && pip install pandas numpy scipy statsmodels jupyter notebook "B-因子构建类/再论动量因子/py/再论动量因子.ipynb"

notebook 里股票池、起止日期、分析参数都预设好了,QuantsPlaybook ICIR 工作流开箱即用,按顺序运行单元格就能读到那张五行表。想看更短的案例可以换 STR 凸显性因子;完整的案例都放在B-因子构建类/下,底层回测与风险指标在 hugos_toolkit/BackTestReport/ 里。

⚠️ 别踩这几个坑,项目接下来要做什么

跑之前记住四条:

  1. 只看 ICIR 不看换手率:动量因子月度换手接近 0.93,成本吃掉一半 alpha 就不香了;
  2. 月度与年化口径混着比:差一个 √12,结论会翻车;
  3. 单一股票池下结论:动量因子在中证 500 上是反转,换中证 300 读数可能完全不同;
  4. 只看单个窗口:20 日和 240 日要合着看,单窗口容易自欺。

项目仍在持续新增研报复现,覆盖择时、因子、价值、组合四大类 100+ 策略,工具链也一直在hugos_toolkit/与SignalMaker/中沉淀。

打开项目里的B-因子构建类/目录,挑一个你感兴趣的因子,把第一次 ICIR 分析跑起来。

【免费下载链接】QuantsPlaybook量化研究-券商金工研报复现项目地址: https://gitcode.com/GitHub_Trending/qu/QuantsPlaybook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询