Files
etf/docs/experiments/轮动策略改进版回测分析报告.md
aszerW c782830f75 docs(experiments): 轮动策略改进版回测分析报告
新增改进版策略分析报告,展示空仓机制和大类冠军二次过滤后的表现:

核心内容:
- 策略改进说明:空仓机制、大类冠军二次过滤、min_score配置化
- 版本对比分析:累计收益+2708%、最大回撤改善10.8%
- 月度收益详细表格:2000-2026年完整数据
- 空仓天数统计:131天(1.6%),集中在2000-2002年

关键对比:
| 指标 | 原版 | 改进版 | 改善 |
|------|------|--------|------|
| 累计收益 | 11872% | 14580% | +2708% |
| 最大回撤 | -71.9% | -61.1% | +10.8% |
| 空仓天数 | 4天 | 131天 | +127天 |
2026-05-16 20:49:23 +08:00

8.6 KiB
Raw Blame History

ETF轮动策略改进版回测分析报告

策略改进说明

本次修改内容

本报告展示添加空仓机制大类冠军二次过滤后的策略表现。

核心改进

改进项 原逻辑 新逻辑 效果
空仓机制 target为空时继续持有current_held持仓惯性 target为空时设置current_held=''清仓 避免负动量期间的持仓惯性亏损
大类冠军二次过滤 每大类选Top1后直接跨类排序 大类冠军必须>=min_score才入选得分不足跳过 组合中每个标的动量都达标
min_score配置化 固定值0.0 从config.yaml读取可动态调整 支持策略参数调优

代码修改

  1. selectors.py - _apply_rebalance_control函数:

    • 添加else分支处理target为空的情况
    • 设置current_held=''触发清仓
  2. selectors.py - _grouped_selection函数:

    • 大类冠军得分不足时跳过该大类
    • 持仓数量动态调整最多select_num最少0
  3. strategy.py - min_score参数

    • 从配置文件读取,支持动态调整
  4. config.yaml - 新增参数:

    • min_score: 0.0(过滤负动量标的)

版本对比分析

总体指标对比

指标 原版(无空仓机制) 改进版(空仓+二次过滤) 改善幅度
累计收益 11872.2% 14580.5% +2708.3% (+22.9%)
年化收益 23.2% 25.2% +2.0%
最大回撤 -71.9% -61.1% +10.8% (回撤减少)
空仓天数 4天 (0.05%) 131天 (1.6%) +127天
回测区间 2000-01 ~ 2026-05 2000-01 ~ 2026-05 相同

关键年份对比

年份 原版年收益 改进版年收益 改善幅度 原版空仓 改进版空仓
2000 -26.0% -8.3% +17.7% 0天 77天 (24.8%)
2001 -48.7% -41.1% +7.6% 0天 31天 (9.9%)
2002 -10.5% 3.0% +13.5% 0天 10天 (3.2%)
2008 -36.2% -22.5% +13.7% 0天 0天
2007 136.7% 132.8% -3.9% 0天 3天

决策说明

min_score设置为0.0,原因:

  • 阈值选择比较"trick",难以确定最优值
  • min_score=0.02虽能改善2001年回撤但2000年恶化空仓过多错过机会
  • 保持简单稳健的策略更好,避免过度优化
  • 空仓机制已能有效改善回撤(-71.9% → -61.1%

回测概况(改进版)

指标
回测区间 2000-01-06 ~ 2026-05-15
总天数 8109天22.2年)
累计收益 14580.46%
年化收益 25.2%
最大回撤 -61.1%
月胜率 63.0%199正/117负
空仓天数 131天1.6%

年度收益汇总

年份 年收益率 正月数 负月数 月均收益
2000 -8.3% 5 6 -0.7%
2001 -41.1% 3 8 -3.4%
2002 3.0% 5 6 0.2%
2003 33.3% 7 5 1.6%
2004 45.8% 8 4 2.4%
2005 12.8% 6 5 1.1%
2006 29.9% 7 3 2.5%
2007 132.8% 10 1 11.1%
2008 -22.5% 7 5 -1.5%
2009 70.3% 10 2 4.6%
2010 12.3% 7 5 0.9%
2011 18.3% 6 6 1.4%
2012 27.3% 6 6 1.6%
2013 46.6% 8 4 3.1%
2014 15.8% 9 3 1.3%
2015 5.9% 7 5 0.8%
2016 5.7% 8 4 0.6%
2017 6.2% 7 5 0.4%
2018 -6.7% 5 7 -0.8%
2019 38.9% 10 2 2.6%
2020 27.6% 7 5 2.8%
2021 20.4% 7 5 1.5%
2022 27.7% 9 3 1.9%
2023 9.8% 7 5 0.6%
2024 82.1% 5 7 4.8%
2025 35.5% 8 4 2.9%
2026* 18.1% 4 1 3.9%

*2026年数据截止5月15日


月度收益详细表格2000-2026

年份 年收益 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2000 -8.3% 3.8% -1.9% 8.6% -8.4% 7.7% -1.6% -2.5% 3.7% -15.1% 3.7% -13.1% 3.7%
2001 -41.1% 5.5% -18.0% -18.2% 5.3% -9.8% -4.7% 0.1% -8.1% -4.3% -6.0% 11.8% -3.0%
2002 3.0% -1.9% 5.5% 11.4% -13.8% -2.2% -6.4% 6.6% -1.4% 0.8% -4.8% 7.4% -0.2%
2003 33.3% -5.9% -1.5% -11.6% 8.2% 10.6% 3.7% 3.2% 3.3% -2.0% 3.3% -0.7% 8.4%
2004 45.8% 6.2% 10.5% -1.1% -3.8% 4.0% -1.4% 3.3% 5.1% 0.8% 1.2% 7.2% -2.6%
2005 12.8% -4.3% 2.2% 3.4% -4.2% -2.3% 2.9% 4.6% 1.1% -4.6% -4.2% 12.9% 2.5%
2006 29.9% 4.2% -6.8% 3.0% 17.7% 7.0% -1.7% -5.8% 2.4% 1.9% 3.7% -0.8% 3.2%
2007 132.8% 10.3% 7.5% 11.9% 15.7% 11.5% 1.9% 8.0% 9.7% 3.0% 8.7% -5.3% 7.9%
2008 -22.5% -2.0% 2.4% -8.1% 4.6% 3.2% 1.5% -4.6% -9.0% 1.5% -15.8% 3.9% 4.8%
2009 70.3% -5.0% 0.3% 7.0% 13.0% 19.5% 1.0% 6.5% 4.0% 3.0% 1.0% 6.6% -1.7%
2010 12.3% -8.5% 0.6% 5.9% -3.1% -1.7% -1.0% 6.0% 2.3% 4.9% 4.8% 0.7% -0.2%
2011 18.3% -0.6% -1.1% 1.5% 7.3% -3.2% 1.2% 4.3% 4.6% -6.3% 13.0% -3.1% -0.9%
2012 27.3% 3.9% 5.4% 3.4% -3.5% -6.5% -0.7% -0.5% 6.3% 7.6% -0.1% -0.5% 4.6%
2013 46.6% 12.2% -1.2% 2.0% 0.2% 12.9% -0.6% 8.6% -3.5% 0.8% 4.5% 4.2% -2.5%
2014 15.8% 1.2% 3.6% -4.7% -5.2% 5.7% 2.7% 1.2% 1.9% 2.8% -1.7% 5.0% 2.6%
2015 5.9% 0.6% 7.1% 11.1% 11.3% 4.2% -13.3% -1.3% -8.2% -6.8% 8.9% 3.2% -6.6%
2016 5.7% -6.5% 0.6% 6.8% -4.3% 0.2% -5.7% 1.9% 2.2% 1.1% -3.4% 10.8% 4.0%
2017 6.2% -0.0% 0.9% -0.1% -3.7% 0.1% -1.9% 2.5% 0.7% 0.2% 3.0% 4.3% -1.0%
2018 -6.7% 8.4% -10.0% -0.2% 0.4% 0.4% -2.0% -2.5% 2.4% 5.2% -5.2% -2.7% -4.3%
2019 38.9% 9.3% 4.4% 3.8% 4.2% -1.8% 3.5% 1.3% 0.8% 0.1% 4.0% -0.3% 2.0%
2020 27.6% -3.6% -2.8% -6.8% 12.7% 9.1% 6.5% 8.6% 0.7% -3.3% -2.4% 6.9% 7.5%
2021 20.4% 3.4% 1.2% -1.0% 8.7% 4.4% 4.1% -3.3% 3.5% -1.3% 6.3% -5.5% -2.1%
2022 27.7% 4.5% 4.9% 3.9% -6.1% 6.2% 9.7% 2.3% -3.1% 2.1% -9.6% 7.3% 0.7%
2023 9.8% 12.2% -5.9% 0.6% -2.0% 7.2% 0.9% 6.2% -5.4% 0.2% -4.8% -2.4% 0.6%
2024 82.1% -0.5% 8.0% -0.6% -1.2% 2.3% -0.7% -5.0% 2.3% 28.5% 30.3% -5.3% -0.0%
2025 35.5% 4.4% 10.1% 1.6% -0.3% 5.6% 6.6% -6.5% 15.7% 13.2% -9.1% -7.0% 0.9%
2026 18.1% -0.2% 1.7% 7.3% 4.8% 5.3% - - - - - - -

注:粗体 标注年收益超过50%或跌幅超过20%、月度跌幅超过10%或涨幅超过20%


空仓天数统计

总体空仓情况

指标 原版 改进版
空仓总天数 4天 131天
空仓占比 0.05% 1.6%

各年度空仓天数

年份 空仓天数 占比
2000 77天 24.8%
2001 31天 9.9%
2002 10天 3.2%
2003-2026 0天 0.0%

空仓集中在2000-2002年主要因为互联网泡沫期间股票标的动量普遍为负


策略特点总结

优势

  1. 长期收益稳定年化25.2%26年周期
  2. 分散配置:跨市场、跨资产类别
  3. 动量信号有效:牛市捕捉上涨趋势
  4. 空仓机制:负动量期间自动清仓,避免持仓惯性亏损
  5. 大类冠军过滤:组合中每个标的动量达标,不强制持有弱正动量标的

弱点

  1. 系统性风险暴露:全球股灾时难以完全规避
  2. 早期数据限制2000-2005年标的池不足
  3. 2001年回撤仍较大-41.1%,短期动量陷阱问题未完全解决

数据文件

  • 月度收益详细数据: results/rotation_improved_monthly_returns.csv
  • 净值曲线: results/rotation_improved_nav.csv
  • 调仓信号: results/rotation_improved_signals.csv

Git提交记录

a475e1b feat(strategy): 分组选股增强-大类冠军二次过滤确保组合动量达标

修改文件:

  • strategies/shared/signals/selectors.py
  • strategies/rotation/strategy.py
  • strategies/rotation/config.yaml