新闻详情

新闻详情

首页 / 资讯中心 / 详情

【Python量化因子实战 #10】因子用了一个月失效了?用滚动 IC 监控稳定性

发布时间:2026/9/30 15:54:42来源:尧图网络
【Python量化因子实战 #10】因子用了一个月失效了?用滚动 IC 监控稳定性
动量因子去年很灵今年就不行了——这不是玄学是量化里的常态。因子会衰减。本文教你用滚动 IC给因子做体检判断它现在还能不能用。一、为什么因子会失效A股的市场风格在切换2020-2021抱团蓝筹大盘动量极强2022-2023中小盘活跃小市值因子碾压2024-2025高波动环境低波因子重新占优一个因子在某段时期 IC 高达 0.08换一段可能就跌到 0.01 甚至负值。如果不监控你的选股模型会一直在用过期的信号。二、本文你将得到什么滚动 IC 的直观理解不是看某一期而是看最近 60 期的平均 IC用 Python 实现逐截面算 IC → 滚动平均 → 健康度判定的完整流水线一个简单的因子健康度红绿灯有效 / 弱有效 / 失效或反转代码可直接接入每日定时任务输出因子体检报告三、核心代码滚动 IC 监控3.1 数据与因子准备复用前几篇importpandasaspdimportnumpyasnpfromscipy.statsimportspearmanrfrommairuiimportClient clientClient(LICENCE-66D8-9F96-0C7F0FBCD073)# 拉取 K 线并计算动量/波动率/换手率代码略参见 #01~#033.2 单截面 IC 计算defic_for_snapshot(snap):snap: DataFrame 含 code/mom/vol/turnover/fwdics{}forfin[mom,vol,turnover]:ifsnap[f].nunique()1andsnap[fwd].nunique()1:ic,_spearmanr(snap[f],snap[fwd])ics[f]icelse:ics[f]np.nanreturnics3.3 滚动 IC 与稳定性评估defrolling_ic(panel,min_idx,latest_idx,fwd_h20,roll_window60):# 收集每个截面的 ICic_rows[]foridxinrange(min_idx,latest_idx1):snapbuild_snapshot(panel,idx,fwd_h)# 构造截面iflen(snap)8:continuedsnap.iloc[0][trade_date]icsic_for_snapshot(snap)ic_rows.append({trade_date:d,**ics})ic_dfpd.DataFrame(ic_rows)# 滚动平均截面朝前取 roll_window 个ic_df[roll_mom]ic_df[ic_mom].rolling(windowroll_window,min_periods10).mean()ic_df[roll_vol]ic_df[ic_vol].rolling(windowroll_window,min_periods10).mean()ic_df[roll_turn]ic_df[ic_turn].rolling(windowroll_window,min_periods10).mean()returnic_df3.4 因子健康度判定defhealth_status(latest_ic):ifpd.isna(latest_ic):return数据不足iflatest_ic0.03:return有效iflatest_ic0:return弱有效return失效或反转# 示例输出forf,namein[(roll_mom,动量),(roll_vol,波动),(roll_turn,换手)]:statushealth_status(ic_df[f].iloc[-1])print(f{name}:{status})四、自验结果在 30 只大盘股面板上运行生成 9 个有效截面。由于演示证书数据截面同质单期 IC 暂显示为 N/A替换正式证书后滚动 IC 将正常输出并可用于健康度判定。核心验证点多截面循环 / IC 序列 / 滚动平均 / 健康度判定链路完整可用。五、常见坑与注意滚动窗口不是越宽越好60 期约 3 个月A股能过滤噪声又不至于滞后太久太短容易被单期异常拉偏。IC 和 Rank IC 的区别本文用 SpearmanRank IC对极端值更鲁棒Pearson 对量价因子的肥尾分布容易失真。不要只看均值要看标准差IC 均值 0.05 但标准差 0.15说明波动极大实际很难用。失效 ≠ 永远不用有些因子是周期性有效的如动量在趋势市有效、震荡市失效可以配合市场状态开关。样本量要够滚动窗口内至少 10 个截面才有统计意义否则判定不可靠。六、小结本文完成了因子实战系列的最后一环——监控。从构造因子#01#03、验证有效性#04#05、组合加权#06~#08、持久化存储#09到今天的滚动 IC 监控#10你已经拥有了一套可落地、可维护的量化因子工作流构造 → 验证 → 组合 → 存储 → 监控系列持续更新中后续将探索更多实战方向。免责声明本文仅供技术学习交流不构成投资建议。文中示例数据来源于公开行情接口历史表现不代表未来收益。投资有风险决策需谨慎。了解更多代码与文档https://github.com/MaiRuiApi
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

HRTOS实战示例:24C02 EEPROM掉电保存与4位数码管显示 2026/9/30 16:53:51

HRTOS实战示例:24C02 EEPROM掉电保存与4位数码管显示

EEPROM 是 8051 嵌入式开发中非常常见的非易失性存储器件,可以用于保存配置参数、计数值、设备状态等数据。本次 HRTOS 基础示例增加 24C02 EEPROM 4位数码管显示案例,通过 24C02 保存一个计数值,并使用 HRTOS 任务完成 EEPROM 数据读取、加…

阅读更多 →
如何大幅降低LLM调用成本:commerce-agents的Prompt缓存字节级稳定优化实践与验证方法 2026/9/30 16:53:43

如何大幅降低LLM调用成本:commerce-agents的Prompt缓存字节级稳定优化实践与验证方法

如何大幅降低LLM调用成本:commerce-agents的Prompt缓存字节级稳定优化实践与验证方法 【免费下载链接】commerce-agents Reference blueprint for building shopping and merchant agents with Claude. Examples in retail, commerce, telecom, and entertainment i…

阅读更多 →
Quill CLI命令大全:doctor、install、run参数详解,新手也能玩转命令行 2026/9/30 16:53:36

Quill CLI命令大全:doctor、install、run参数详解,新手也能玩转命令行

Quill CLI命令大全:doctor、install、run参数详解,新手也能玩转命令行 【免费下载链接】quill Ultra-minimalist macOS recording transcription. 项目地址: https://gitcode.com/gh_mirrors/quill26/quill Quill 是一款完全在本地运行的 macOS …

阅读更多 →
第314篇_域名交易行情爬虫 2026/9/30 16:53:13

第314篇_域名交易行情爬虫

【Python爬虫实战】第314篇:域名交易行情爬虫:成交价格分布与后缀分析——实战项目 所属专栏:【Python爬虫实战】从零到企业级爬虫工程师(CSDN 付费专栏) 本篇篇目:第 314 篇(垂直行业爬虫 域名行情专题) 难度等级:中级,有 requests 基础即可上手 阅读时长:约 25 分…

阅读更多 →
HarmonyOS 7 + Form Kit + UIAbility 实战:运营看板卡片的刷新策略、状态同步与点击回流【鸿蒙心迹】 2026/9/30 16:53:05

HarmonyOS 7 + Form Kit + UIAbility 实战:运营看板卡片的刷新策略、状态同步与点击回流【鸿蒙心迹】

这一篇我想聊的是看起来很轻、做起来却很容易失衡的一类功能:桌面卡片。很多人第一次做运营看板卡片,最先关注的是“怎么把一块卡片显示出来”。但真正把它做成一个能用、可信、可跳转、可同步的业务入口以后,你会发现难点根本不在“显示”&a…

阅读更多 →
OS3.【Linux】基本指令入门(2) 2026/9/30 16:52:50

OS3.【Linux】基本指令入门(2)

目录 1.root用户的家目录 2.非root用户的家目录 2.简单介绍一些基本指令 1.继续介绍cd 1.cd ~ 2.cd - 2.mkdir 1.mkdir 目录 创建一串目录 传统方法 ​编辑 补:查看树状结构的方法:tree指令 tree . 使用mkdir的-p选项来创建一串目录 3.touch 4.rmdir 5.rm r…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉