ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

gs-quant 实战指南:IC 与 Rank IC 两种算法,谁的预测精度更可信

gs-quant 实战指南:IC 与 Rank IC 两种算法,谁的预测精度更可信 gs-quant 实战指南IC 与 Rank IC 两种算法谁的预测精度更可信【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant你一定遇到过这种情况某个因子上半年滚动 IC 稳定在 0.08换个时段一算掉到 0.02 甚至转负。是因子失效了还是尺子一开始就错了在 gs-quant一款 Python 量化金融工具包里评估多因子模型时IC 与 Rank IC 就是两把测因子预测精度的尺子而它们的读数差距常常比因子本身的差距更大。 三个让 IC 翻车的现场异常值。截面里有一支股票的因子值是其他股票的一百倍可能是数据错误也可能真实存在。Pearson 相关被这一个点主导你把这一天数据拿掉IC 从 0.12 掉到 0.03。极端行情。某个大跌日指数走势由少数几支大盘股代言。当天因子与收益的关系只建立在这几支股票上这一天的 IC 对第二天几乎没有参考价值。分布偏斜。小盘股因子的取值严重右偏大量股票挤在低端的一个小区间里。算出来的相关系数是系统性地有偏的你等于拿一个有偏的数在做决策。三个现场的共同点因子未必变差了是尺子被少数极端样本带偏了。 一个类比讲清 IC 和 Rank IC 的差异先说一句背景多因子模型用一组风险因子解释收益的波动gs-quant 里因子风险模型的架构就在 gs_quant/models/risk_model.pyIC 是衡量某个因子对收益的预测有多准的标准指标。问题在于算这个相关系数用哪一种。想象一家餐厅你想搞清楚顾客个子高不高和吃饭快不快有没有关系。IC 的做法是把这两列数字直接拿来算相关。某天进来一个两米高的顾客三分钟吃完饭两列数据的 correlation 瞬间飙升——可这和另外九十九个人毫无关系。Pearson 相关看的是数值之间的差异天然容易被极端值劫持。Rank IC 则先把顾客按身高排队编号 1、2、3……再把吃饭速度照此排队然后算两个序号之间的相关。此时具体数值已经不重要只剩顺序个子高的编号大吃饭快慢的编号也同步变大就叫一致。两米高的巨汉再高在排名里也只占一个位置。所以 Rank IC 量的是单调关系因子排序和收益排序是否一致。极端值可以改变顺序却很难破坏顺序。那为什么换把尺子结论就变了因为 Pearson 捕捉的是线性关系的强度Spearman 秩相关捕捉的是排序的一致程度。样本干净时两者一致样本脏的时候两者分道扬镳而 Rank IC 给出的往往还是能用的读数。️ 在 gs-quant 里算出这两个指标数据有两处来源因子风险模型的因子暴露与因子收益用 gs_quant/models/risk_model.py 里的FactorRiskModel.get_factor_data取支持按日期、标识符、因子类型切片个股收益走gs_quant/data/的时序数据接口取。关键是把两列序列在时间上对齐。计算只涉及一个函数gs_quant/timeseries/econometrics.py 里的correlation(x, y, w, ...)默认就是 Pearson 相关要得到 Rank IC不用另找 Spearman 实现先把两列rank()再传进去即可。滚动窗口由w控制例如Window(22, 10)表示 22 天窗口、10 天爬坡。from gs_quant.timeseries.econometrics import correlation from gs_quant.timeseries.analysis import lag ic correlation(factor, lag(returns, 1)) rank_ic correlation(factor.rank(), lag(returns, 1).rank())只提醒一点lag(returns, 1)取的是下一期收益用来与当前时点的因子暴露对齐方向约定取决于你收益序列的计算口径用错方向 IC 会整体变号。 一张表看清谁更稳、何时例外维度ICPearsonRank ICSpearman 秩相关对异常值的敏感度高一个极端值就能顶高或拖垮低只看相对顺序偏斜、厚尾分布系统性偏差相对稳定度量对象线性相关的强度单调关系的强度什么时候更可信真实关系近似线性、样本干净因子尾部厚、极端个股多什么时候会吃亏样本脏的时候强线性关系下秩变换损失信息读数略低还有一个容易忽略的判断两个指标读数明显背离时别急着给 Rank IC 记功先查数据。因为背离最常见的原因是因子暴露缺失或错位两个指标只是用不同方式把它暴露了出来。 选择清单什么场景用哪一个用 IC因子值接近正态分布样本量大且干净你要度量的是线性关系强度。用 Rank IC因子值厚尾或偏斜滚动窗口短比如 60 个交易日以内或截面里新股、涨跌停等极端个股多。两者并用因子筛选阶段并行评估发现符号或衰减幅度差异过大时回头先查数据质量。任何情况下都不看单日用滚动窗口同时看 IC 与 Rank IC 的分布凭趋势而非单点做决策。一句话收束IC 是精确的尺子Rank IC 是耐操的尺子样本干净时它们指向同一处样本脏的时候只有后者还读得出数。你下一步可以做的挑出你手上最信任的那个因子用上面两行代码在 gs-quant 里复算过去 12 个月的滚动 IC 与 Rank IC找到两者背离最大的那一天——那天会告诉你是因子出了问题还是数据出了问题。【免费下载链接】gs-quantPython toolkit for quantitative finance项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表