# 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`