Files
etf/rotation/experiments/output/diagnosis_report.md
aszerW 04b858ff09 feat: 添加ETF轮动策略诊断分析实验
新增6维度策略诊断实验脚本和报告:
- task1: 信号产生分析 (调仓频率、无效调仓率)
- task2: 收益计算分析 (T+1执行偏差、溢价问题)
- task3: 调仓逻辑分析 (最小持仓期模拟)
- task4: 资金管理分析 (止损、波动率适配)
- task5: 收益归因分析 (集中度、静态vs轮动)
- task6: 回撤诊断分析 (最大回撤复盘、尾部风险)

输出报告:
- diagnosis_report.md: 完整策略诊断报告
- rebalancing_optimization_experiment.md: 调仓频率优化实验报告

实验结论:
- 发现调仓过于频繁 (405次/1549天)
- No-Trade Region方案可提升年化3%、夏普0.11
- 但改善幅度有限,信号质量是根本瓶颈
2026-06-06 15:00:28 +08:00

2.9 KiB
Raw Permalink Blame History

ETF 轮动策略深度诊断报告

生成时间: 2026-06-06 13:51:49

回测期间: 2020-01-10 ~ 2026-06-05

策略表现快照

指标 数值
累计收益 +181.89%
年化收益 +18.36%
最大回撤 -16.36%
夏普比率 1.02
Calmar 比率 1.12
日胜率 54.0%
调仓次数 405

Task 1: 信号产生问题诊断

状态: OK | 耗时: 0.2s

诊断结论

  • 调仓频率: 每 3.8 天一次,无效调仓率 43.0%
  • 短期抖动事件: 141 次
  • 债券持有占比: 32.9%

Task 2: 收益计算问题诊断

状态: OK | 耗时: 0.1s

诊断结论

  • 首日 NAV = 0.997823,存在轻微逻辑瑕疵
  • 极端日共 7 次

Task 3: 调仓逻辑问题诊断

状态: OK | 耗时: 0.1s

诊断结论

  • 最小持仓期模拟结果:
    • 1天: 年化=+19.93%, 回撤=-16.02%, 夏普=1.10
    • 3天: 年化=+21.92%, 回撤=-15.68%, 夏普=1.19
    • 5天: 年化=+22.85%, 回撤=-15.68%, 夏普=1.23
    • 10天: 年化=+24.14%, 回撤=-15.42%, 夏普=1.29

Task 4: 资金管理问题诊断

状态: OK | 耗时: 0.1s

诊断结论

  • 止损机制可减少极端回撤,但频繁止损可能拖累长期收益
  • 高波动期减仓有助于控制回撤

Task 5: 整体收益归因分析

状态: OK | 耗时: 0.1s

诊断结论

  • 收益依赖度: 最好5天贡献了 25.7% 的最终净值

Task 6: 回撤诊断

状态: OK | 耗时: 0.1s

诊断结论

  • 最大回撤 -16.36% 发生在 2022-05-10
  • CVaR(5%): -2.6196%
  • 最大连续亏损: 6 天

综合优化建议

优先级 P0预期影响最大

  1. 降低调仓频率

    • 引入最小持仓期约束(建议 5 天起步)
    • _generate_signals 中加入 min_hold_days 检查
  2. 启用溢价控制

    • 对 QDII ETFNDX/N225/GDAXI/HSI/HSTECH启用溢价过滤
    • 建议 threshold=5%,避免高溢价买入

优先级 P1显著改善回撤

  1. 组合级止损机制

    • 建议回撤 > 8% 时触发止损,转债券持有 10 天
  2. 修复首日 NAV 逻辑

    • 首日 current_holdings 为空时不应计算收益

优先级 P2提升风险调整收益

  1. 波动率加权配置

    • 替代等权,使用波动率倒数加权平衡风险贡献
  2. 波动率适配仓位

    • 高波动期滚动20日波动率 > 20%)减仓至 2/3

优先级 P3进一步优化

  1. 评估分组机制

    • 对比取消分组 vs 当前分组的收益差异
  2. 优化动态阈值

    • 调整 bond_ratio测试不同阈值对防御效果的影响

执行统计

Task 状态 耗时
Task 1: 信号产生问题诊断 OK 0.2s
Task 2: 收益计算问题诊断 OK 0.1s
Task 3: 调仓逻辑问题诊断 OK 0.1s
Task 4: 资金管理问题诊断 OK 0.1s
Task 5: 整体收益归因分析 OK 0.1s
Task 6: 回撤诊断 OK 0.1s
总计 0.6s