IC 是什么?(Information Coefficient,信息系数)
一句话总结
IC 是"因子预测能力的成绩单"——它告诉你,你选的那个因子,到底有没有本事预测股票未来的涨跌。
列举一个生活例子
想象你是一个班主任,期末考试前你让 10 个同学预测自己的期末成绩排名,然后考完试你拿到了真实排名。
你想知道:这些同学的预测,准不准?
一个直觉的做法是:把"预测排名"和"真实排名"放在一起,看它们有多像。如果预测排名高的同学,真实成绩也高,那说明预测很准;如果毫无关系,说明预测是瞎猜。
IC 干的就是这件事,只不过:
- “预测排名” → 换成了因子值(比如某只股票的动量值、市盈率等)
- “真实排名” → 换成了下一期的实际收益率
- “有多像” → 用的是皮尔逊积矩相关系数来衡量
正式定义
在量化投资中,IC(Information Coefficient,信息系数)是指:
在某一时间截面上,所有股票的因子值向量 ,与这些股票下一期收益率向量 之间的皮尔逊相关系数。
其中:
- :第 只股票在 期的因子值
- :第 只股票在 期的收益率
- :股票池中的股票数量
- 、:对应的截面均值
IC 的取值范围是 。
具体数字例子
假设某一天,股票池里有 5 只股票,我们用"20日动量因子"来预测它们下个月的涨跌:
| 股票 | 因子值(动量) | 下月实际收益率 |
|---|---|---|
| A | 0.15 | +8% |
| B | 0.08 | +3% |
| C | 0.02 | -1% |
| D | -0.05 | -4% |
| E | -0.12 | -7% |
可以看到,因子值越高的股票,下月涨得越多;因子值越低的,跌得越多。这两列数据高度正相关,计算出来的 IC 接近 +1。
这说明这个因子这个月预测能力很强。
反过来,如果因子值高的股票反而跌了,IC 就会是负数,说明因子方向是反的。
IC 均值(IC_mean):更重要的长期指标
单期 IC 受随机性影响很大,一个月好不代表因子真的有效。
实际使用中,我们会计算多个时间截面的 IC,然后取均值:
判断标准(业界经验值):
| IC 均值绝对值 | 含义 |
|---|---|
| < 0.02 | 因子预测能力很弱,基本无效 |
| 0.02 ~ 0.05 | 有一定预测能力,可以关注 |
| > 0.05 | 预测能力较强,值得使用 |
| > 0.10 | 非常强,但要警惕过拟合 |
注意:IC 均值的正负号代表因子方向。正值说明因子值越大、未来收益越高(做多信号);负值说明因子值越大、未来收益越低(做空信号,或者因子取反使用)。
ICIR:IC 的"稳定性评分"
光看 IC 均值还不够,还要看它稳不稳定。
ICIR(IC Information Ratio) = IC 均值 ÷ IC 的标准差
类比:
- IC 均值 = 平均成绩
- ICIR = 成绩的稳定性(高分但忽高忽低 vs 中等但非常稳定)
判断标准:
| ICIR | 含义 |
|---|---|
| < 0.5 | 因子不稳定,慎用 |
| 0.5 ~ 1.0 | 一般 |
| > 1.0 | 因子稳定性好,可信度高 |
Rank IC(秩 IC)
普通 IC 用的是皮尔逊积矩相关系数,对异常值(极端大涨/大跌的股票)比较敏感。
Rank IC 则先把因子值和收益率分别转换成排名(rank),再计算相关系数,本质上就是斯皮尔曼等级相关系数:
好处: 对极端值不敏感,更稳健。实践中 Rank IC 比普通 IC 更常用。
在 PandaAI 中的理解
PandaAI 计算的 IC,是针对所选股票池中所有股票计算的截面相关系数。
每一期(比如每个月):
- 取出股票池里所有股票当期的因子值
- 取出这些股票下一期的收益率
- 计算这两组数据的皮尔逊相关系数 → 得到这一期的 IC
然后把所有期的 IC 汇总,就能看到因子的长期预测能力。
总结
| 概念 | 一句话 |
|---|---|
| IC | 单期因子值与下期收益率的相关系数,衡量因子这一期的预测准不准 |
| IC 均值 | 多期 IC 的平均,衡量因子长期预测能力的强弱 |
| ICIR | IC 均值除以 IC 标准差,衡量因子预测能力的稳定性 |
| Rank IC | 基于排名的 IC,对极端值更稳健 |