Files
etf/docs/experiments/005_select_num_comparison.md
aszerW a47af0f0eb docs(experiment): add select_num A/B/C comparison report (005)
- Experiment: select_num = 1, 2, 3 comparison
- Period: 2020-01-10 ~ 2026-06-02 (1546 trading days)
- Key findings:
  - Top-1: highest return (600%), highest drawdown (-25.5%)
  - Top-3: best risk-adjusted return (Calmar 1.73, Sharpe 1.35)
  - Top-2: balanced middle ground (Calmar 1.69)
- Add rotation/experiment_select_num.py experiment script
- Save report to docs/experiments/005_select_num_comparison.md
2026-06-02 01:32:43 +08:00

146 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 实验记录 005: select_num 参数对策略表现的影响
## 实验信息
| 项目 | 内容 |
|------|------|
| 实验编号 | 005 |
| 实验日期 | 2026-06-02 |
| 实验类型 | A/B/C 对比测试 |
| 研究问题 | `diversified=true` 模式下,`select_num` 取 1/2/3 时对策略收益与风险的影响 |
| 配置文件 | `rotation/config_simple.yaml` (L133 `select_num`) |
| 实验脚本 | `rotation/experiment_select_num.py` |
---
## 1. 实验背景
### 策略选股流程
```
Step 1: 类内竞争 → 每个 market 大类只保留得分最高的1只标的大类冠军
Step 2: 跨类排序 → 从大类冠军中按得分从高到低选 Top select_num
```
### 核心问题
`select_num` 控制最终持仓标的数量,直接影响集中度和分散度:
- `select_num=1`:单标的集中持仓,无分散化效果
- `select_num=2`:持有 2 个大类的冠军标的
- `select_num=3`:持有 3 个大类的冠军标的(当前默认配置)
**理论预期**
- 持仓数量越少,集中度越高,潜在收益和波动均放大
- 持仓数量越多,分散化效果越好,回撤更小,但可能引入边际收益较低的标的
---
## 2. 实验设计
### A/B/C 组配置
| 组别 | select_num | 持仓数量 | 其他配置 |
|------|-----------|---------|---------|
| **A组** | 1 | 单标的 | 同对照组 |
| **B组** | 2 | 双标的 | 同对照组 |
| **C组** | 3 | 三标的 | 同对照组(当前默认) |
### 固定配置(三组相同)
```yaml
factor:
type: "weighted_momentum"
n_days: 25
rotation:
diversified: true
threshold:
mode: "dynamic"
reference: "931862.CSI" # 短债动量基准
```
### 回测区间
2020-01-10 ~ 2026-06-02**1546 个交易日**
---
## 3. 回测结果
### 核心指标对比
| 指标 | Top-1A组 | Top-2B组 | Top-3C组 |
|------|------------|------------|------------|
| 累计收益 | **600.31%** | 369.88% | 302.14% |
| 年化收益 | **37.34%** | 28.69% | 25.46% |
| 最大回撤 | -25.53% | -16.93% | **-14.74%** |
| 夏普比率 | 1.11 | 1.27 | **1.35** |
| Calmar比率 | 1.46 | 1.69 | **1.73** |
| 日胜率 | 54.49% | **55.35%** | 55.18% |
| 调仓次数 | 197 | 319 | 405 |
### 关键观察
**收益维度:**
- Top-1 累计收益600%)几乎是 Top-3302%)的 2 倍
- 集中持仓显著放大了收益,但也意味着更高的单标的依赖风险
**风险维度:**
- Top-3 最大回撤(-14.74%)比 Top-1-25.53%)降低约 42%
- Top-2 居中(-16.93%),回撤控制效果明显
**风险调整收益(核心指标):**
- Calmar 比率Top-31.73> Top-21.69> Top-11.46
- 夏普比率Top-31.35> Top-21.27> Top-11.11
- **分散化带来更优的风险收益比**
**调仓频率:**
- Top-1 调仓次数最少197 次),因为持仓切换需要单标的排名大幅变动
- Top-3 调仓次数最多405 次),持仓组合中任一标的变化都会触发调仓
---
## 4. NAV 曲线对比
![NAV 对比图](../../results/experiment_select_num/select_num_nav_comparison.png)
![指标对比图](../../results/experiment_select_num/select_num_comparison.png)
---
## 5. 结论与建议
### 核心结论
| 目标 | 推荐配置 | 原因 |
|------|---------|------|
| 追求绝对收益 | `select_num=1` | 累计收益最高,但需承受更大回撤 |
| 追求风险调整收益 | `select_num=3` | Calmar/夏普最优,回撤可控 |
| 平衡两者 | `select_num=2` | 收益与回撤的折中方案 |
### 实践建议
- **当前默认配置 `select_num=3` 是合理的选择**Calmar 比率最优,适合长期持有
- 若资金规模较小、风险承受能力强,可考虑 `select_num=1` 追求高弹性
- `select_num=2` 的 Calmar1.69)与 Top-31.73非常接近但收益更高369% vs 302%),值得进一步观察
---
## 6. 实验数据位置
```
results/experiment_select_num/
├── select_1/
│ ├── simple_rotation_nav.csv
│ ├── simple_rotation_signals.csv
│ ├── simple_rotation_detail.json
│ └── simple_rotation_metrics.json
├── select_2/
│ └── ... (同上)
├── select_3/
│ └── ... (同上)
├── select_num_comparison.png # 指标对比柱状图
├── select_num_nav_comparison.png # NAV 叠加曲线图
└── experiment_metrics.json # 三组指标汇总
```