一键导入
alpha-evaluation-guardrails
Alpha因子评估、过拟合检测、偏差控制和鲁棒性验证的完整护栏体系。当用户需要判断因子是否可用、检测过拟合、或建立因子入库标准时加载。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Alpha因子评估、过拟合检测、偏差控制和鲁棒性验证的完整护栏体系。当用户需要判断因子是否可用、检测过拟合、或建立因子入库标准时加载。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | alpha-evaluation-guardrails |
| description | Alpha因子评估、过拟合检测、偏差控制和鲁棒性验证的完整护栏体系。当用户需要判断因子是否可用、检测过拟合、或建立因子入库标准时加载。 |
| version | 1.0.0 |
| source | 《寻找Alpha:量化交易策略》Igor Tulchinsky (WorldQuant) |
| source_chapters | ["Ch7 Turnover","Ch8 Alpha Correlation","Ch9 Backtest - Signal or Overfitting","Ch10 Controlling Biases","Ch11 The Triple-Axis Plan","Ch12 Techniques for Improving Robustness","Ch13 Alpha and Risk Factors","Ch14 Risk and Drawdowns"] |
| category | quant |
判断一个 alpha 是真实的还是过拟合的、能否上实盘、何时该退役。
回测好看 ≠ 实盘能赚。 大多数回测漂亮的 alpha 都死在了某个护栏问题上。护栏不是让你的因子看起来更好——而是让你看清楚它到底行不行。
换手率直接决定交易成本。A股单边成本 ~0.15%,月换手 100% 意味着年化成本 ~3.6%——足以吃掉一个 moderate alpha 的全部超额收益。
单边换手率 = 1/2 × Σ|w_t - w_{t-1}| (w = 持仓权重)
| 调仓频率 | 警戒线 | 红线 |
|---|---|---|
| 日频 | > 50% | > 80% |
| 周频 | > 30% | > 50% |
| 月频 | > 15% | > 25% |
新 alpha 必须低相关于已有因子库。否则满秩瓶颈(见 arXiv:2606.14386),新因子不提供增量信息。
新alpha_clean = 新alpha - 回归(新alpha ~ 已有因子)
取残差作为正交化后的 alpha。如果正交化后 IC 归零 → 这个 alpha 没有增量价值。
| 信号 | 检查方法 |
|---|---|
| 参数敏感 | 微调参数 ±20%,IC 变化 > 50% → 脆弱的过拟合 |
| 时间衰减 | 近1年 IC 明显低于前几年 → 信号已失效或一开始就过拟合 |
| 样本外崩溃 | 训练期收益极高,测试期归零 → 经典过拟合 |
| 极端值依赖 | 去掉前5和后5个极值股票,IC 大幅下降 → 信号靠噪声 |
| 分市场不一致 | 只在创业板有效,主板无效 → 小众过拟合 |
| 行业集中 | 80%的 alpha 来自一两个行业 → 行业暴露,非纯 alpha |
| 缺乏经济逻辑 | 参数只有统计意义没有经济解释 → 数据挖掘噪声 |
Hansen's P-hacking 检测:
有效因子比例 = 显著因子数 / 总测试因子数
期望显著比例 = p值阈值 (如 5%)
如果有效因子比例 >> 期望显著比例 → 存在数据挖掘偏差
样本外保留法:
| 偏差类型 | 表现 | 修正方法 |
|---|---|---|
| 存活偏差 | 只用存活的股票回测 | 用 point-in-time 数据,包含退市股 |
| 前视偏差 | 用了当时不可知的信息 | 严格对齐数据发布时间 |
| 选择偏差 | 只在特定股票池有效 | 在全市场股票池验证 |
| 样本偏差 | 回测期恰好是牛市 | 分子周期测试,至少包含一轮熊市 |
1. 多周期验证
同一个 alpha 在日/周/月频都跑一遍。如果只有某个频率有效 → 脆弱信号。
2. 对称性检验
信号做多端和做空端分开评估。如果空头端 IC 为负但多头端 IC 为正 → 信号不对称,实盘只做多头。
3. 行业中性化
alpha_neutral = alpha - mean(alpha_by_industry)
行业中性化后 IC 还能保留多少?如果归零 → 只是行业选择,不是选股能力。
4. 规模中性化
同上,按市值分组去均值。排除纯粹的大盘/小盘暴露。
5. 随机打乱检验
将信号值随机打乱 1000 次,看实际 IC 在随机分布中的位置。如果 p < 0.05 才能相信信号是真实的。
6. 时间序列稳定性
滚动 36 个月窗口计算 IC,IC 标准差相对均值越小越好(IC_IR 的核心含义)。
| Alpha 因子 | 风险因子 | |
|---|---|---|
| 目的 | 产生超额收益 | 解释收益来源 |
| 来源 | 错误定价 | 系统性风险补偿 |
| 持续性 | 可能衰减 | 相对稳定 |
| 交易方向 | 做多 alpha 高 + 做空 alpha 低 | 通常做多(风险溢价) |
测试方法: 将 alpha 对已知风险因子回归(Fama-French 三因子/五因子),看 alpha 残差是否仍显著。
| 信号 | 动作 |
|---|---|
| 滚动12个月IC < 0 | 暂停,观察 |
| 连续3个月IC < 0 | 退役 |
| max drawdown > 历史max的1.5倍 | 减半仓位 |
| 与市场beta的相关性突增 | 检查是否因子被"beta化" |
| 同一alpha在全市场同时失效 | 可能是结构性问题(如去散户化) |
回撤发生
→ 检查是系统性回撤(所有alpha都跌)还是特异性回撤(只有这一个)
→ 系统性:检查大盘/流动性/政策变化
→ 特异性:检查IC衰减、相关性变化、换手率变化
→ 如果找不到结构性原因 → 降低仓位继续观察
→ 如果找到结构性原因且不可逆 → 退役
一个 alpha 要上线实盘,必须全部通过: