研究笔记 · 实验全记录
我们测了6种强化学习配比算法——然后决定不用它们
发布日期 2026-10-24 · 样本外窗口 2010–2026(202个月)· 结论:维持静态50/50。大部分"AI策略"网站不会发表失败的实验;我们认为负结果恰恰是最该公开的——它是尽调材料。
实验设置
- <b>决策</b>:月度"动量腿 vs 防御腿"配比(0–100%),等价于择时问题。
- <b>状态</b>:8维市场特征——SPY趋势(价/MA200)、21日年化波动、63日收益、Top10动量宽度与中位拥挤度、TLT/GLD趋势、动量-TLT 63日相关。
- <b>奖励</b>:log(次月净收益),含两腿月内漂移、月度重置、股票腿10bp/ETF腿2bp交易成本与配比变动费。
- <b>参赛</b>:DQN / PPO / A2C / SAC / TD3 / DDPG;基线 static50、static60、voltarget、MCPI(上轮)。
主结果 · 202 个样本外月(seed=7)
| 策略 | CAGR | MaxDD | Sharpe | Vol |
|---|---|---|---|---|
| DQN | 13.97% | −19.11% | 0.99 | 14.20% |
| PPO | 12.46% | −16.67% | 0.89 | 14.16% |
| A2C | 15.71% | −25.95% | 0.80 | 20.65% |
| SAC | 12.13% | −15.57% | 0.89 | 13.80% |
| TD3 | 14.93% | −19.62% | 0.81 | 19.33% |
| DDPG | 11.16% | −32.80% | 0.67 | 18.05% |
| static50 · 现行 | 12.84% | −16.63% | 0.90 | 14.43% |
| static60 | 14.34% | −20.41% | 0.86 | 17.08% |
| voltarget | 11.18% | −16.07% | 0.87 | 13.05% |
| MCPI | 12.78% | −20.36% | 0.87 | 14.89% |
单种子指标会骗人
DQN 在 seed=7 的 Sharpe 0.99 看起来是胜利——直到换种子:
| 算法 | 三种子 Sharpe | 判定 |
|---|---|---|
| DQN | 0.99 / 0.98 / 0.82 | 高方差,seed123 输给 static50 |
| PPO | 0.89 / 0.94 / 0.90 | 稳定但无超额(≈static50) |
| A2C | 0.80 / 0.91 / 0.82 | 不稳定 |
策略形态同样说明问题:PPO 自己坍缩回 0.49(≈50/50),A2C 钉死在 0.75 上限(≈75/25),DQN 是唯一会择时的但规则对种子敏感。月度频率下,"该配多少动量"这个决策里没有可迁移的条件信息。
结论与产物
- 不改生产规格,维持静态 50/50。
- 6 种 DRL + MCPI + 3 种子,没有一种在样本外稳健击败静态配比。
- 唯一值得保留的变体是 voltarget(最低波动 13.05%,代价约 1.7pt CAGR)——可作保守档,不替换默认档。
- 复现材料:balanced_drl.py(--seed/--algos/--years/--steps 可复跑)、balanced_drl_oos.csv(逐月 OOS 收益)、balanced_drl_actions.csv(逐月动作日志)。