Files
worldquant-alpha-system/docs/worldquant-knowledge-base/08-alpha-optimization/diagnostic-workflow.md
T
2026-09-07 20:03:16 +08:00

67 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Alpha 优化:按失败原因做实验
仅依据 2026 新帖整理。先保存原表达式、完整 settings、PnL、所有检查原值,再一次改变一个结构问题。优化目标应包括收益、成本、稳健性和组合增量,不能只追求过线。总框架来源:[普通 Alpha 到顶级 Alpha 的优化执行手册](https://support.worldquantbrain.com/hc/en-us/community/posts/42549574041367)(2026-08-07)。
## 诊断顺序
| 观察 | 先检查 | 可比较的处理 | 停止信号 |
| --- | --- | --- | --- |
| PnL 平坦或突然断崖 | 字段停更、覆盖、缺失和常数 | 有限回填、更新频率检查 | 新近没有有效数据 |
| Weight concentration | 有效股票数、稀疏组、极值 | 数据修复、尾部处理、适当平滑 | 指标改善只因缩小了样本 |
| 换手高、margin 低 | 信号时效和收益来源 | decay、hump、事件触发 | 换手降但收益与稳健性同步崩溃 |
| Robust/Sub-universe 失败 | 规模、流动性、地区分层 | 针对机制的分组和中性化对照 | 只有精确分界或参数能过线 |
| Ladder/近年弱 | 分段 PnL、极端年份和单股 | 尾部压缩、机制更新 | 依赖旧年份利润或单一事件 |
| SC/PC 高 | 同族结构、字段和已有池 | 先结构/数据换源,再少量变体 | 多轮微调仍处同一高相关簇 |
这是建议顺序,不是固定平台公式。
## 1. 降换手:评估信息损失
2026 对比帖列出 `ts_mean`、hump、目标换手类算子和 `trade_when`,未证明有统一最优者。另一个案例将 decay 从 5 加到 20,作者报告换手 0.55→0.30、Sharpe 1.3→0.9,展示平滑的代价。来源:[降低【turnover】的几种方法对比分析](https://support.worldquantbrain.com/hc/en-us/community/posts/41849925214231)(2026-07-10)、[【换手治理】低换手≠稳健:turnover 的三个隐形侵蚀点,和 trade_when 别用反了(USA/TOP3000/D1)](https://support.worldquantbrain.com/hc/en-us/community/posts/42065262268567)(2026-07-19)。
比较短、中两个平滑窗口和原始基线,同时看近期 PnL、收益、margin、覆盖、信号相关、持仓时间和平台高换手检查。目标换手参数不保证实现值,不能未经单位核验把 0.15 称为年化换手。
Python 案例中“先平滑再 rank”帮助降换手,但评论指出 turnover、returns ratio 和 PnL realization horizon 不同步。来源:[【Python Alpha 挑战赛】高换手率因子优化经验分享](https://support.worldquantbrain.com/hc/en-us/community/posts/41551682155799)(2026-06-28)。降换手不意味着通过所有高换手测试。
## 2. trade_when:先看条件覆盖与持仓延续
低覆盖 insiders 案例中,门控和常数回退造成 Full 通过、Sub 失败。帖子给出的 20%、5–10% 是经验警戒值。来源:[【Python Alpha】trade_when 参数调优](https://support.worldquantbrain.com/hc/en-us/community/posts/41447270247703)(2026-06-24)。
必须核查具体条件、保持旧仓与退出的区别;常数值经后续标准化和中性化后不必然等于空仓。比较门控单独、主信号单独、两者组合,并报告有效持仓数、触发频次和最长持有时间。不要把条件写反,也不要以减少样本掩盖无效股票。
## 3. 集中度与缺失
MEA 案例报告衰减后换手与 Fitness 大幅改善,但覆盖和指数衰减的作用没有被分别隔离。来源:[MEA TOP400 从 CONCENTRATED_WEIGHT 阻塞到全部通过:一次完整的 Alpha 优化记录](https://support.worldquantbrain.com/hc/en-us/community/posts/40962462282007)(2026-06-04)。EUR 案例强调时间覆盖与横截面股票覆盖不同。来源:[EUR TOPCS1600的经验:解决Robust universe Sharpe / Sub-universe Sharpe / Weight concentration 问题](https://support.worldquantbrain.com/hc/en-us/community/posts/38669179039255)(2026-02-26)。
建议先画有效样本数和最大权重,再决定是否填充、平滑或舍弃数据。若靠同行填充通过,需要把同行成分作为独立对照。
## 4. Robust 与子地区表现
GLB 子区优化讨论涉及窗口、STATISTICAL 和 winsorize;帖子中的阈值只反映当时对象,应保留完整 region、universe、delay、alpha 类型核验。来源:[【MCP WorkFlow】靠这套GLB地区优化工作流,RA直接入账55刀(附核心模板)](https://support.worldquantbrain.com/hc/en-us/community/posts/41550783184663)(2026-06-28)。
ASI/IND 帖尝试按规模过滤或分层拼接。来源:[如何通过【Robust universe Sharpe and returns】检测的一些尝试](https://support.worldquantbrain.com/hc/en-us/community/posts/39920503976087)(2026-04-22)、[【Community Leader -因子构造 💎】拯救IND地区Robust universe Sharpe测试不通过的一个新思路](https://support.worldquantbrain.com/hc/en-us/community/posts/37525915867671)(2026-01-08)。ASI 另一例通过改变 Main/Robust 相对表现过线,评论质疑样本缩小与过拟合。来源:[ASI MINVOL1M市场Robust Universe优化案例](https://support.worldquantbrain.com/hc/en-us/community/posts/37473718017175)(2026-01-06)。这些是诊断线索,不能把降低主 Sharpe 作为研究目标。
先展示国家、规模、流动性和多空腿的表现,再提出结构修改;保留原 Universe 对照,并检查邻近分界。如果差距很大且无机制解释,放弃通常比不断加算子更合理。
## 5. Ladder 与尾部
`rank_by_side` 实例报告 Ladder 从 0.28→2.44,同时 margin 下降;只能说明该例可能受极值影响。来源:[使用rank_by_side改善2year_sharpe/ladder_sharpe](https://support.worldquantbrain.com/hc/en-us/community/posts/42187744015767)(2026-07-24)。
比较最大单股贡献、各年收益和多空两侧分布。若只把极端样本压掉才改善,需验证尾部是否真实错误;不能默认极端新闻一定是噪声。
## 6. 参数稳健性与跨地区
社区提出 decay±5、参数±20%和多个中性化对照,具体范围均是建议。来源:[Alpha稳健性检验代码](https://support.worldquantbrain.com/hc/en-us/community/posts/38234815701911)(2026-02-07)、[穿透参数迷雾:量化策略的敏感度分析与鲁棒性构建](https://support.worldquantbrain.com/hc/en-us/community/posts/39854893045655)(2026-04-19)。测试应寻找宽阔稳定区间,同时保留时间切分;参数稳定不能代替样本外稳定。
跨地区原样复制可能因覆盖、频率和中性化失效。来源:[【2个月提交220个RA经验分享】跨地区通用规律:哪些经验换个 Region 还能用?](https://support.worldquantbrain.com/hc/en-us/community/posts/42259186135831)(2026-07-27)、[【验证纪律】同一表达式跨 universe 跑:region regime 错配导致的指标分裂](https://support.worldquantbrain.com/hc/en-us/community/posts/41854026316055)(2026-07-10)。至少区别“字段不适配”与“经济机制不适配”,不要把多个地区试到一个成功当成迁移证明。
## 7. 相关性:先改变信息,再讨论技巧
CHN risk72 案例持续替换算子和 blend,PC 仍高;更换数据源后才有突破。来源:[CHN Python Alpha 踩坑实录:risk72 死磕 prod_corr 无果,换 virgin 数据集才过关](https://support.worldquantbrain.com/hc/en-us/community/posts/41279111112855)(2026-06-16)。先计算同族候选与基线的相关性,可以节省昂贵 PC 查询,但低 SC 不保证低 PC。来源:[PC限流的破解小窍门:基于SC的PC优化方法](https://support.worldquantbrain.com/hc/en-us/community/posts/38120459173143)(2026-02-03)。
记录提交前候选的 pairwise 矩阵和质量;提交一条会改变后续检查背景。来源:[【新人笔记】Pairwise Correlation:提交前先想清楚提交顺序](https://support.worldquantbrain.com/hc/en-us/community/posts/41903649174807)(2026-07-12)。低相关是组合约束,不能补偿无收益或低 margin;更多见 [组合优化](portfolio-and-correlation.md)。
## 一次优化的最小交付
基线与变体的唯一差异、机制解释、全部检查变化、分期表现、覆盖/成本变化、候选池相关、下一步与停止理由。任何 PENDING、WARNING、缺失检查都单列;不把“未发现失败”写成 PASS。