# 实验记录 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-1(A组) | Top-2(B组) | Top-3(C组) | |------|------------|------------|------------| | 累计收益 | **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-3(302%)的 2 倍 - 集中持仓显著放大了收益,但也意味着更高的单标的依赖风险 **风险维度:** - Top-3 最大回撤(-14.74%)比 Top-1(-25.53%)降低约 42% - Top-2 居中(-16.93%),回撤控制效果明显 **风险调整收益(核心指标):** - Calmar 比率:Top-3(1.73)> Top-2(1.69)> Top-1(1.46) - 夏普比率:Top-3(1.35)> Top-2(1.27)> Top-1(1.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` 的 Calmar(1.69)与 Top-3(1.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 # 三组指标汇总 ```