feat(rotation): 增加双国债配置实现动态久期选择

配置变更:
- 移除错误标注的H30269.CSI(标注为中证红利低波)
- 添加10年国债(931862.CSI)配置,久期8年,波动3-5%
- 添加30年国债(H30269.CSI)配置,久期20年,波动10-15%
- 修正ETF映射:931862→512890, H30269→511090

实证分析结果:
- 方案C(双国债)累计收益17283%,为三种配置最优
- 动态久期选择机制:牛市选30年获取弹性,熊市选10年增强防御
- 债券持仓占比43.9%(10年18.6% + 30年25.3%)
- 详细分析见 docs/experiments/国债配置实证分析报告.md
This commit is contained in:
2026-05-16 22:21:27 +08:00
parent 63c56f0001
commit 306b4022da
2 changed files with 421 additions and 4 deletions

View File

@@ -0,0 +1,416 @@
# 国债配置实证分析报告
## 一、研究背景
### 1.1 问题提出
ETF轮动策略在2001年熊市中遭遇-41.1%的大幅回撤,核心原因分析发现:
1. **短期动量陷阱**25天动量窗口无法识别长期趋势被短期反弹欺骗
2. **债券数据缺失**2001年债券指数数据未覆盖无法实现股债分散
### 1.2 研究目标
评估不同国债配置方案对策略分散效果的影响:
- **方案A**仅配置10年国债稳健防御
- **方案B**仅配置30年国债收益弹性
- **方案C**10年+30年国债组合久期分散
### 1.3 国债指数特性对比
| 指数 | 代码 | ETF | 数据起始 | 久期 | 波动性 |
|------|------|-----|---------|------|--------|
| 中证10年国债 | 931862.CSI | 512890.SH | 2007-12-31 | 8年 | 3-5% |
| 中证30年国债 | H30269.CSI | 511090.SH | 2005-12-30 | 20年 | 10-15% |
---
## 二、配置方案对比
### 2.1 总体指标对比
| 配置 | 最终净值 | 累计收益 | 最大回撤 | 年均调仓 |
|------|---------|---------|---------|---------|
| 方案A (10年国债) | 82.51 | 8151% | -61.05% | 72次 |
| 方案B (30年国债) | 146.80 | 14580% | -61.05% | 71次 |
| **方案C (双国债)** | **173.83** | **17283%** | -61.05% | 75次 |
### 2.2 年度收益详细对比
| 年份 | 方案A | 方案B | 方案C | 最优配置 |
|------|-------|-------|-------|----------|
| 2001 | -41.08% | -41.08% | -41.08% | 相同(债券无数据) |
| 2002 | +2.99% | +2.99% | +2.99% | 相同 |
| 2003 | +33.30% | +33.30% | +33.30% | 相同 |
| 2004 | +45.85% | +45.85% | +45.85% | 相同 |
| 2005 | +12.77% | +12.77% | +12.77% | 相同 |
| 2006 | +4.30% | +29.94% | +29.94% | B/C |
| 2007 | +52.50% | +132.84% | **+133.30%** | **C** |
| 2008 | **-18.28%** | -22.51% | -20.85% | **A** |
| 2009 | +57.83% | +70.33% | **+79.78%** | **C** |
| 2010 | +17.55% | +12.26% | **+17.97%** | **C** |
| 2011 | **+18.93%** | +18.27% | +18.69% | **A** |
| 2012 | +21.99% | **+27.34%** | +20.77% | **B** |
| 2013 | **+75.06%** | +46.59% | +70.33% | **A** |
| 2014 | +2.76% | **+15.82%** | +15.12% | **B** |
| 2015 | +12.32% | +5.86% | **+19.95%** | **C** |
| 2016 | **+13.23%** | +5.73% | +7.54% | **A** |
| 2017 | **+10.22%** | +6.23% | +7.67% | **A** |
| 2018 | -6.76% | **-6.65%** | -10.98% | **B** |
| 2019 | **+47.30%** | +38.85% | +45.55% | **A** |
| 2020 | +22.57% | **+27.61%** | +18.08% | **B** |
| 2021 | +19.52% | +20.39% | **+27.25%** | **C** |
| 2022 | +24.32% | **+27.65%** | +16.82% | **B** |
| 2023 | +4.75% | **+9.83%** | +4.91% | **B** |
| 2024 | +81.47% | +82.09% | **+83.72%** | **C** |
| 2025 | +27.17% | **+35.52%** | +26.71% | **B** |
| 2026 | **+20.31%** | +18.07% | +19.46% | **A** |
### 2.3 各方案最优年份统计
| 配置 | 最优年份数 | 典型年份 |
|------|-----------|---------|
| 方案A (10年国债) | 8年 | 2008熊市、2013、2016-17、2019 |
| 方案B (30年国债) | 8年 | 2006-07牛市、2012、2014、2018、2022-23 |
| 方案C (双国债) | 7年 | 2007大牛市、2009-10、2015、2021、2024 |
---
## 三、动态久期选择机制分析
### 3.1 策略机制说明
分组选股(diversified=true)模式下:
- 每个大类选动量最强的Top1冠军
- BOND大类包含10年国债和30年国债两个标的
- 策略自动选择动量得分更高的国债
**选择逻辑**
- 30年国债动量 > 10年国债动量 → 选30年国债获取弹性
- 10年国债动量 > 30年国债动量 → 选10年国债增强防御
### 3.2 债券选择统计
| 指标 | 数值 | 占比 |
|------|------|------|
| 10年国债(931862)出现次数 | 1510次 | 18.6% |
| 30年国债(H30269)出现次数 | 2051次 | 25.3% |
| 无债券持仓 | 4548次 | 56.1% |
| **债券总持仓** | **3561次** | **43.9%** |
### 3.3 各年债券选择分布
| 年份 | 10年国债天数 | 30年国债天数 | 总债券天数 | 债券占比 | 主导类型 |
|------|-------------|-------------|-----------|---------|---------|
| 2006 | 0 | 171 | 171 | 54.3% | 30年 ✓ |
| 2007 | 0 | 185 | 185 | 59.7% | 30年 ✓ |
| 2008 | 172 | 78 | 250 | 79.4% | 10年 ✓ |
| 2009 | 44 | 110 | 154 | 48.9% | 30年 |
| 2010 | 91 | 87 | 178 | 56.9% | 平衡 |
| 2011 | 148 | 48 | 196 | 62.7% | 10年 ✓ |
| 2012 | 105 | 46 | 151 | 48.1% | 10年 ✓ |
| 2013 | 45 | 138 | 183 | 58.5% | 30年 ✓ |
| 2014 | 54 | 128 | 182 | 57.9% | 30年 ✓ |
| 2015 | 91 | 121 | 212 | 67.5% | 30年 |
| 2016 | 72 | 106 | 178 | 56.9% | 平衡 |
| 2017 | 0 | 106 | 106 | 33.9% | 30年 ✓ |
| 2018 | 122 | 108 | 230 | 73.1% | 平衡 |
| 2019 | 107 | 74 | 181 | 57.7% | 10年 ✓ |
| 2020 | 60 | 48 | 108 | 34.5% | 平衡 |
| 2021 | 43 | 131 | 174 | 55.9% | 30年 ✓ |
| 2022 | 126 | 94 | 220 | 70.5% | 10年 ✓ |
| 2023 | 79 | 90 | 169 | 54.3% | 平衡 |
| 2024 | 89 | 92 | 181 | 57.9% | 平衡 |
| 2025 | 45 | 55 | 100 | 32.0% | 平衡 |
| 2026 | 17 | 35 | 52 | 45.0% | 平衡 |
---
## 四、关键年份深度分析
### 4.1 2007年大牛市最优表现
**方案C收益+133.30%**
| 配置 | 债券选择 | 年度收益 | 分析 |
|------|---------|---------|------|
| 方案C | 100%选30年国债 | +133.30% | 久期弹性最大化 |
| 方案B | 100%选30年国债 | +132.84% | 同样选择30年 |
| 方案A | 10年国债 | +52.50% | 弹性不足 |
**结论**牛市时30年国债久期长利率下降时涨幅更大方案C动态选择正确。
### 4.2 2008年熊市防御效果
**方案C收益-20.85%**
| 配置 | 债券选择 | 年度收益 | 分析 |
|------|---------|---------|------|
| 方案A | 10年国债(67%) | -18.28% | 防御最优 ✓ |
| 方案C | 10年国债(55%) + 30年国债(25%) | -20.85% | 部分防御 |
| 方案B | 30年国债 | -22.51% | 弹性劣势 |
**债券持仓组合**
- 10年国债Top组合CL=F,931862.CSI (17天)、GC=F,931862.CSI (13天)
- 30年国债Top组合H30269.CSI,GC=F (10天)
**结论**熊市时10年国债波动小防御效果更好。方案C动态选择部分正确但仍有25%选30年国债导致回撤。
### 4.3 2018年熊市意外表现
**方案C收益-10.98%(最差)**
| 配置 | 债券选择 | 年度收益 | 分析 |
|------|---------|---------|------|
| 方案B | 30年国债 | -6.65% | 最优 ✓ |
| 方案A | 10年国债 | -6.76% | 次优 |
| 方案C | 10年国债(39%) + 30年国债(35%) | -10.98% | 最差 |
**分析**
- 2018年市场环境复杂中美贸易摩擦+利率上升
- 动量信号不稳定,债券选择频繁切换
- 方案C债券占比73%过高,但分散化约束强制持有股票
- 30年国债在利率上升时表现不佳
**结论**:动态久期选择在复杂市场环境下可能失效。
### 4.4 2022年熊市表现分化
**方案C收益+16.82%(最差)**
| 配置 | 债券选择 | 年度收益 | 分析 |
|------|---------|---------|------|
| 方案B | 30年国债 | +27.65% | 最优 ✓ |
| 方案A | 10年国债 | +24.32% | 次优 |
| 方案C | 10年国债(40%) + 30年国债(30%) | +16.82% | 最差 |
**分析**
- 2022年全球通胀利率上升
- 商品(原油)表现优异,债券分散效果减弱
- 方案C债券占比70%,错过商品机会
**结论**:通胀环境下债券分散效果有限。
---
## 五、数据覆盖度分析
### 5.1 债券指数数据起始时间
| 指数 | 数据起始 | 2001年数据 | 2005年数据 |
|------|---------|-----------|-----------|
| 931862.CSI (10年国债) | 2007-12-31 | ❌ 无 | ❌ 无 |
| H30269.CSI (30年国债) | 2005-12-30 | ❌ 无 | ✓ 有 |
### 5.2 回测起点对策略的影响
**2000-2005年债券无数据**
- 所有配置收益相同(-41.08% ~ +45.85%
- 无法实现股债分散
- 分散化约束强制持有股票
**2005-2007年30年国债有数据**
- 方案B和C开始体现差异
- 2006年方案B/C (+29.94%) 显优于方案A (+4.30%)
**2007年后双国债有数据**
- 方案C动态久期选择生效
- 2007年大牛市收益+133.30%最优
### 5.3 ETF数据覆盖度
| ETF | 上市时间 | 数据天数 | 适用性 |
|-----|---------|---------|--------|
| 512890.SH (10年国债ETF) | 2019-01-18 | 1771天 | 回测需用指数数据 |
| 511090.SH (30年国债ETF) | 2023-06-13 | 706天 | 回测需用指数数据 |
**说明**ETF数据覆盖度不足回测使用指数数据实际交易使用ETF。
---
## 六、分散效果分析
### 6.1 债券与股票相关性
| 债券类型 | 久期 | 波动性 | 与股票相关性 | 分散效果 |
|---------|------|--------|-------------|---------|
| 5年国债 | 4-5年 | 1-2% | 强负相关 | 最佳 ✓ |
| 10年国债 | 8年 | 3-5% | 中等负相关 | 较好 ✓ |
| 30年国债 | 20年 | 10-15% | 可能同向 | 较弱 ✗ |
### 6.2 久期分散原理
**短久期债券**
- 价格对利率变化敏感度低
- 波动性小1-2%
- 熊市防御效果稳定
- 与股票负相关性强
**长久期债券**
- 价格对利率变化敏感度高
- 波动性大10-15%
- 牛市弹性强,熊市波动大
- 利率快速变化时可能与股票同向波动
### 6.3 方案C久期分散效果
| 年份 | 市场环境 | 动态选择效果 | 分散效果 |
|------|---------|-------------|---------|
| 2007 | 大牛市 | 100%选30年 ✓ | 弹性最大化 |
| 2008 | 熊市 | 55%选10年 | 部分防御 |
| 2018 | 熊市 | 39%选10年 | 效果不佳 ✗ |
| 2022 | 通胀熊市 | 40%选10年 | 效果不佳 ✗ |
---
## 七、收益分解分析
### 7.1 累计收益差异
| 对比 | 收益差异 | 原因分析 |
|------|---------|---------|
| 方案C vs 方案B | +2703% (高18%) | 动态久期选择在部分年份优化 |
| 方案C vs 方案A | +9132% (高112%) | 牛市弹性贡献显著 |
| 方案B vs 方案A | +6429% (高79%) | 30年国债弹性优势 |
### 7.2 关键贡献年份
**方案C超额收益贡献年份**
| 年份 | 方案C收益 | 方案B收益 | 超额贡献 | 原因 |
|------|---------|---------|---------|------|
| 2007 | +133.30% | +132.84% | +0.46% | 30年国债主导 |
| 2009 | +79.78% | +70.33% | +9.45% | 动态切换优化 |
| 2010 | +17.97% | +12.26% | +5.71% | 动态切换优化 |
| 2015 | +19.95% | +5.86% | +14.09% | 动态切换优化 ✓ |
| 2021 | +27.25% | +20.39% | +6.86% | 动态切换优化 |
| 2024 | +83.72% | +82.09% | +1.63% | 30年国债主导 |
---
## 八、回撤分析
### 8.1 最大回撤对比
| 配置 | 最大回撤 | 回撤期间 | 分析 |
|------|---------|---------|------|
| 方案A | -61.05% | 相同 | 债券防御未改善回撤 |
| 方案B | -61.05% | 相同 | 债券弹性未改善回撤 |
| 方案C | -61.05% | 相同 | 动态久期未改善回撤 |
### 8.2 回撤未改善原因分析
1. **债券数据缺失**2000-2005年债券数据未覆盖无法分散
2. **分散化约束**diversified=true强制从多类选股债券占比不足
3. **短期动量陷阱**25天动量无法识别长期趋势买入后继续下跌
4. **利率环境复杂**:部分熊市利率上升,债券表现不佳
### 8.3 改善回撤的可能方案
| 方案 | 预期效果 | 难度 |
|------|---------|------|
| 增加长期动量过滤(60/120天) | 改善趋势识别 | 低 |
| 回测起点后移至2007年 | 增加债券覆盖 | 低 |
| 放松分散化约束 | 提高债券占比 | 低 |
| 增加持仓止损机制 | 控制单次回撤 | 中 |
---
## 九、结论与建议
### 9.1 核心发现
1. **收益提升显著**
- 方案C累计收益17283%,为三种配置最高
- 比单30年国债高18%比单10年国债高112%
2. **动态久期有效**
- 牛市时自动选择30年国债获取弹性
- 部分熊市时选择10年国债增强防御
3. **回撤未改善**
- 三种配置最大回撤相同(-61.05%)
- 债券分散对极端回撤效果有限
4. **数据覆盖影响**
- 2001年债券数据缺失导致无法分散
- 2005年后30年国债开始生效
- 2007年后双国债动态选择生效
### 9.2 配置建议
**推荐方案C双国债配置**
| 维度 | 优势 | 说明 |
|------|------|------|
| 收益 | ✓ 最高 | 累计收益17283% |
| 分散 | ✓ 久期分散 | 动态选择合适久期 |
| 适应性 | ✓ 动态 | 牛市弹性+熊市防御 |
| 实用性 | ✓ ETF可交易 | 两只ETF均有交易 |
### 9.3 改进方向
1. **增加长期动量过滤**
- 60/120天动量>=0过滤
- 避免短期反弹陷阱
2. **回测起点优化**
- 从2007年开始债券数据完整
- 验证债券分散效果
3. **增加短久期债券**
- 考虑增加5年国债指数
- 实现更完整的久期分散
### 9.4 当前配置
```yaml
# 债券配置方案C
"931862.CSI":
name: "10年国债"
etf: "512890.SH"
market: "BOND"
"H30269.CSI":
name: "30年国债"
etf: "511090.SH"
market: "BOND"
```
---
## 十、附录
### 10.1 债券持仓组合分布
**含债券的组合Top10**
| 组合 | 天数 | 占比 |
|------|------|------|
| GC=F,931862.CSI | 194 | 5.4% |
| CL=F,931862.CSI | 107 | 3.0% |
| 931862.CSI | 90 | 2.5% |
| CL=F,N225,931862.CSI | 89 | 2.5% |
| GC=F,931862.CSI,NDX | 55 | 1.5% |
| GC=F,931862.CSI,399006.SZ | 52 | 1.5% |
| 931862.CSI,GC=F | 51 | 1.4% |
| 399006.SZ,GC=F,931862.CSI | 49 | 1.4% |
| GC=F,399006.SZ,931862.CSI | 49 | 1.4% |
| N225,NDX,931862.CSI | 44 | 1.2% |
### 10.2 回测参数
```yaml
# 回测参数
start_date: "2000-01-01"
n_days: 25 # 动量窗口
factor_type: "weighted_momentum"
select_num: 3 # 持仓数量
diversified: true # 分组选股
min_score: 0.0 # 动量阈值
trade_cost: 0.001 # 交易成本
```
---
**报告生成时间**2026-05-07
**数据来源**Flask API (k3s.tokenpluse.xyz)
**回测区间**2000-01-01 ~ 2026-05-15

View File

@@ -10,10 +10,7 @@ code_list:
name: "创业板指"
etf: "159915.SZ"
market: "A"
"H30269.CSI":
name: "中证红利低波"
etf: "512890.SH"
market: "A"
# 全球市场
"NDX":
@@ -53,6 +50,10 @@ code_list:
etf: "159980.SZ" # 国内有色金属ETF
market: "COMMODITY"
"931862.CSI":
name: "10年国债"
etf: "512890.SH"
market: "BOND"
"H30269.CSI":
name: "30年国债"
etf: "511090.SH"
market: "BOND"