尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

gs-quant 多因子模型:IC 与 Rank IC 怎么选,附 5 步落地清单

gs-quant 多因子模型:IC 与 Rank IC 怎么选,附 5 步落地清单 gs-quant 多因子模型IC 与 Rank IC 怎么选附 5 步落地清单【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant因子回测里 IC0.08 看着挺漂亮一上实盘仓位就被打脸。这种落差往往不是策略的问题是测量方式的问题。本文用 gs-quant 的多因子模型把因子 IC 与 Rank IC 拆清楚两者怎么算、什么时候各自可信、如何验证。 结论先行什么场景用 IC什么场景用 Rank IC一段话版答案ICPearson 相关系数因子值和未来收益率都接近正态、没有极端值时用 IC。它保留了数值量级信息能区分因子高 1 分和因子高 10 分。Rank ICSpearman 相关系数即先把两个序列换成排名再算相关因子分布偏斜比如对数市值天然右偏、收益率里有单日大起大落时用 Rank IC。快速判别法同一窗口里两个指标差值连续超过 0.02~0.03基本可以断定有异常值或分布偏斜在污染 IC此时以 Rank IC 为准。多数情况下 IC ≥ Rank IC除非你的因子被极端值撑大了。概念讲成人话IC 看分数Rank IC 看名次想象一次全班考试IC 像直接拿原始分数算相关——老师把分数和平时预测的这次谁考好做相关。谁考了 100 分这一天的结果就被这个人主导。Rank IC 像先换算成班级排名再算相关——100 分也好、98 分也好都只记第 1 名。极端值被压成一个位置相关性由整体排序决定。所以在正常考试正态分布、没有 0 分 100 分里两者几乎一样一旦出现某人交了白卷但平时表现极佳这种异常看排名比看分数靠谱。上面这张图来自 gs-quant 的事件材料左侧把 Book Queue、Volatility、Spread 等多个因子聚成一类右侧按 13 个簇标注交易难度。多因子分析里因子先分群、再逐个群内检验预测力而 IC 就是检验这个簇里的因子到底有没有用的那把尺子。代码里到底怎么算的econometrics.py 的滚动相关一处就够不用通读整个仓库看两处就懂全貌。第一处滚动相关函数correlation位于 gs_quant/timeseries/econometrics.py 第 767-774 行def correlation( x: pd.Series, y: pd.Series, w: Union[Window, int, str] Window(None, 0), type_: SeriesType SeriesType.PRICES, returns_type: Returns Returns.SIMPLE, assume_zero_mean: bool False, ) - pd.Series:第二处它的核心只有一行在第 884 行# gs_quant/timeseries/econometrics.py 第 884 行滚动 Pearson corr clean_ret1.rolling(w.w, 0).corr(clean_ret2)看什么这就是 IC 的全部实现——因子序列和收益序列在一个窗口w.w常用 22 个交易日里逐日算滚动 Pearson。Rank IC 没有单独函数做法是把两个序列先各做一遍rank()换成名次再跑同一个correlation数学上等价于 Spearman。因子数据从哪来gs_quant/models/risk_model.py 第 682-789 行的get_factor_data传start_date/end_date/category_filter即可拉回因子暴露拿到 DataFrame 后接上面的滚动相关就是完整的 IC 计算链。⚠️ 踩坑记录算因子 IC 最容易掉的 3 个坑坑 1因子和收益的日期错位。因子是 T 日收盘更新收益却用了 T 日整条 IC 序列系统性偏移一天实测幅度能直接腰斩甚至变号。对策先做滞后检验——对 lag ∈ {-1, 0, 1} 各算一次 IC取绝对值最大的那个滞后作为基准并把结论写进报告。坑 2单日极端行情。窗口里出现一个 ±30% 的极端收益时滚动 IC 可以瞬时摆动 0.05~0.15而同一天的 Rank IC 几乎不动极端值排序后只是最后一名。对策含极端值的窗口两个指标并排报告决策以 Rank IC 为准IC 只用于观察量级。坑 3因子本身分布偏斜。对数市值、波动率类因子天然右偏Pearson 会系统性误判方向或幅度。对策偏斜因子默认用 Rank IC若某段时间 IC 与 Rank IC 差值在 0.01~0.02 以内说明该区间分布尚可两种口径可互换。✅ 落地清单验证因子预测力的 5 步对齐数据因子取 T 日、收益取 T1 日。判断标准抽查 20 行0 行日期重叠。双指标同算用 22 日窗口同时算滚动 IC 和 Rank IC。判断标准两者差值 0.02持续超过 0.03 就回去查异常值。看平均强度与稳定性统计 |IC| 均值和分季度符号。判断标准|均值| ≥ 0.03且各季度符号一致才算预测力存在。实盘一致性核对实盘跑满 1 个月后把实盘 IC 放回回测分布。判断标准落在回测 IC 的 [10%, 90%] 分位区间内跌出区间先查执行滑点再怀疑模型。固定决策口径正态因子用 IC、偏斜因子用 Rank IC写进因子卡片。判断标准换口径不导致季度结论反转若反转说明该因子处于擦边有效状态降级观察。IC 和 Rank IC 打架的时候别急着站队——先看收益分布偏斜存在时 Rank IC 通常更接近真实预测力两者长期一致时再用 IC 看量级。一个值得继续追的问题因子如果按小时更新滚动窗口还该按 22 天算吗risk_model.py 里的get_intraday_factor_data就是这条路的入口值得自己跑一遍。【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表