news 2026/9/13 19:44:23

IC 回测很高、实盘却拉胯?gs-quant 多因子模型 IC 与 Rank IC 预测精度怎么选

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IC 回测很高、实盘却拉胯?gs-quant 多因子模型 IC 与 Rank IC 预测精度怎么选

IC 回测很高、实盘却拉胯?gs-quant 多因子模型 IC 与 Rank IC 预测精度怎么选

【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant

回测里 IC 一直有 0.06,实盘一个月收益却接近 0,问题出在哪?gs-quant 是高盛出品的 Python 量化工具包,因子风险模型一个接口就能拉出因子数据与因子收益。这篇文章把多因子模型里 IC 与 Rank IC 的预测精度差异讲透,并给你一条挑选路径。

📉 高 IC 常常"死"在这两个场景

场景一:一只股票绑架了整个样本。假设 500 只股票的某因子分值大多在 1 以内,只有一只大盘股是 50。Pearson 相关对这种极端值极其敏感,一只票的走势就能把当期 IC 整体拉高或拉低。实盘里这只票的表现不会重演,IC 自然就"塌"了。

场景二:收益率根本不是正态分布。真实市场收益有肥尾和跳空,回测窗口若恰好覆盖两三个极端交易日,算出来的 IC 会被这几个日子"托高"。这种托高属于那几天,不属于因子。

所以做因子选择时先问一句:我的 IC 里有多少是被异常值撑起来的?

🧮 IC vs Rank IC:原始分相关 vs 名次相关

IC(信息系数)是因子取值与未来收益的 Pearson 相关。类比:比较两个学生的原始分数,其中一个人突然考了 100 分,全组"分数与排名的相关"都会被带偏。

Rank IC 先把因子值和收益都换成名次——"500 只里排第 10"——再算名次间的相关,即 Spearman 相关。类比:看考试的百分位排名,最后一名考 100 分也不影响你的位次判断。

差异根源一句话:IC 看数值的量级,Rank IC 只看排序。所以有异常值、非正态分布或极端行情时,两者会分叉,数据越极端分叉越大。

这张图展示按流动性、成交量、波动率等多维因子对股票做聚类的效果,是因子分析中典型的"不同因子组合把股票分成几类"的视角。

📦 gs-quant 里因子数据在哪拿:一个文件跑通

实现集中在gs_quant/models/risk_model.pyFactorRiskModel类(第 1540 行)是股票因子风险模型的入口。拉因子数据的方法是get_factor_data,从第 682 行开始:

def get_factor_data( self, start_date: dt.date = None, end_date: dt.date = None, identifiers: list[str] = None, include_performance_curve: bool = False, category_filter: list[str] = None, name_filter: list[str] = None, factor_type: FactorType = None, format: ReturnFormat = ReturnFormat.DATA_FRAME, ) -> Union[list[dict], pd.DataFrame]:

人话:给个日期区间,它把因子数据装进 DataFrame 还给你;可以按类别、按名字、按因子类型筛。

拿到因子值后还需要收益序列。第 794 行有现成的get_factor_returns_by_name,用法直接取自方法文档示例:

model = FactorRiskModel.get("MODEL_ID") factor_returns = model.get_factor_returns_by_name(start_date, end_date)

人话:这个取因子收益序列,和因子数据配成一对后,一行corr()算出 IC,先rank()corr()就是 Rank IC。

图中展示了股票相关性在不同时段日内漂移的曲线——相关是随时间漂移的量,IC 就是它按截面算出来的版本。

⚖️ 怎么选:按分布形态、波动、周期三步走

别背口诀,按顺序过三关:

  1. 分布形态:画因子值直方图,或看最大值与中位数之比。接近正态、无离群点 → IC 可用;有肥尾或极端值 → 优先 Rank IC。
  2. 市场波动:平稳行情、因子排序稳定 → IC 够用;波动大、量级失真但先后顺序仍可信 → Rank IC 更稳。
  3. 投资周期:短周期(天到周)因子排序翻得快,Rank IC 更抗扰动;中长期(月到年)样本积累足够,两者收敛,IC 即可。

对仗着记:

  • IC 适合:分布接近正态、行情平稳、周期偏长的多因子模型因子选择
  • Rank IC 适合:因子值带离群、收益肥尾、高波动与极端行情期

✅ 读完就能做的事

  • get_factor_dataget_factor_returns_by_name拉一段同期数据,把 IC 与 Rank IC 并排算出来,先看两者差得多不多。
  • 对每个因子先检查分布有无离群(直方图、最大值/中位数比),有离群就把 Rank IC 设成默认口径。
  • 筛选因子时分别按 IC、Rank IC 给因子打分排序,优先保留两边都稳定的因子。

今天就从第一步开始:拉近 6 个月的数据,把两个指标各算一遍,差距超过 0.02 就先去查异常值。

【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 19:39:26

darktable 实战指南:RAW 到成片的 5 步工作流

darktable 实战指南:RAW 到成片的 5 步工作流 【免费下载链接】darktable darktable is an open source photography workflow application and raw developer 项目地址: https://gitcode.com/GitHub_Trending/da/darktable 把一堆 RAW 倒进文件夹&#xff0…

作者头像 李华
网站建设 2026/9/13 19:38:04

Label Studio 交通监控目标检测模板:Bounding Box 标注配置与实践

Label Studio 交通监控目标检测模板:Bounding Box 标注配置与实践 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/label-st…

作者头像 李华