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天 |
This commit is contained in:
208
docs/experiments/轮动策略改进版回测分析报告.md
Normal file
208
docs/experiments/轮动策略改进版回测分析报告.md
Normal file
@@ -0,0 +1,208 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user