# 开源策略思想实验与 D48 RiskCap 优化裁决

审计时间：2026-08-10 UTC  
生产对象：`VolatilityBreakoutRiskCap 5.4.1-d48-riskcap-observe` / 5m / dry-run  
研究对象：`ADX-SCALED-RISK-V1` / research-only / 未部署

## 决策

本轮找到一个比当前 D48 RiskCap **离线风险收益更优**、并通过样本外验证的方案：
保留 D48 的信号、退出、2x 杠杆、同向限仓、相关组限仓和 protections，仅把固定每笔
`0.75%` 风险预算改为由入场时已闭合 5m K 线 ADX 决定的连续预算：

```text
m = clip(0.75 + (ADX - 25) / 40, 0.75, 1.25)
risk_per_trade = 0.75% × m
```

因此每笔计划风险范围为钱包的 `0.5625%～0.9375%`；杠杆仍为 2x，钱包保证金上限仍为
18%，硬止损风险下限、同向最多两仓和主流相关组限制均不变。

确定性结论为 `PASS_OFFLINE_TO_ISOLATED_FORWARD`：允许进入独立 forward dry-run，
**不允许替换当前生产 dry-run，更不允许转 live**。最早且唯一的决策链分歧是
`position_sizing`；训练与验证的 pair、入场、退出、方向和退出原因完全一致。

## 运行和证据真相

- 远端实际容器命令仍加载 `VolatilityBreakoutRiskCap`，数据库
  `tradesv3-v5.sqlite`；研究代码位于隔离的
  `user_data/strategies/research_20260810`，没有修改生产策略文件或重启生产 bot。
- 当前配置写有 12 对，但交易所元数据把 VANRY 标为 inactive；本轮 matched backtest
  实际运行 11 对。不能把旧 12 对结果与本轮 11 对结果静默混算。
- 统一口径：1000 USDT、2x isolated、max open trades 4、5m、fee 0.00035/side、
  protections、`--cache none`。
- 训练：`20260101-20260501`；只有通过训练的候选进入 held-out 验证
  `20260501-20260710`。
- 主训练/验证均为全空头，这是生产当前有效 edge 的证据，也是外推多头的主要限制。

## 两轮单因素实验

| 训练候选 | 笔数 | 收益 | PF | 最大 DD | 裁决 |
|---|---:|---:|---:|---:|---|
| D48 RiskCap matched baseline | 304 | 14.26% | 1.136 | 11.58% | 基线 |
| D36 RiskCap | 310 | 13.90% | 1.129 | 12.45% | 否决 |
| D42 RiskCap | 309 | 14.38% | 1.133 | 12.39% | 否决 |
| Pair Daily ADX20 | 257 | 12.78% | 1.141 | 12.02% | 否决 |
| Pair Daily EMA50 Direction | 277 | 16.22% | 1.164 | 12.73% | DD 恶化，否决 |
| **ADX-SCALED-RISK-V1** | **304** | **17.04%** | **1.172** | **10.96%** | **进入验证** |

旧 D36 的优势没有在现行 RiskCap、当前数据和实际 11 对运行域复现；本轮因此推翻
“直接把 D48 改成 D36”的初始优先判断。日线 no-op 与 D48 基线 304 笔路径完全一致，
证明日线数据合并本身没有暗改策略。

## 样本外验证

| 指标 | 当前 D48 RiskCap | ADX-SCALED-RISK-V1 | 变化 |
|---|---:|---:|---:|
| 交易数 | 166 | 166 | 相同 |
| 收益 | 5.01% | **7.02%** | +2.01pp |
| PF | 1.102 | **1.152** | +0.050 |
| 最大 DD | 7.88% | **7.01%** | -0.87pp |
| 胜率 | 56.02% | 56.02% | 相同 |
| 平均 stake | 132.75 USDT | **126.71 USDT** | -4.55% |
| 复合月等效 | 2.12% | **2.95%** | +0.83pp/月 |

训练段复合月等效为 `3.39% → 4.01%`。候选平均 stake 在两段都更低，因此收益提升
不是简单提高杠杆，而是降低弱 ADX 交易风险、把有限风险重新分配给更强 ADX 交易。

## 稳健性门槛

- **费用压力通过**：0.0005/side 下，训练 `12.72% → 15.47%`，验证
  `2.64% → 4.85%`；两段仍为正且候选更优。
- **8 个历史冲击窗口部分通过**：候选 5/8 收益改善、7/8 最大 DD 改善；Terra 的
  DD 恶化约 0.38pp，Terra、FTX、2026 capitulation 的收益低于基线，不能宣称所有危机
  都更好。
- **4 个牛市窗口**：候选 4/4 收益和 DD 都优于基线，但其中 3 段仍亏损；定仓改善没有
  修复多头 alpha。
- **未来数据审计通过**：BTC 单对 20 个信号，0 个 entry/exit bias，biased indicators
  为空。
- **递归稳定性通过**：ATR、ATR baseline、ADX 约为 0 差异；EMA200 在 210 根预热时
  最大 0.035%，增加预热后收敛。
- **参数邻域通过**：窄幅、宽幅、mid40 三个邻近公式在训练和验证中全部同时提高收益、
  PF，并降低 DD。它们只用于证明机制不依赖单一点参数；不从中追选收益最高的 Wide 版本，
  正式 forward 仍使用冻结的 V1。

## 图表与人工目检

图表：[strategy-comparison.png](./strategy-comparison.png)

`visual_review`：已用原始分辨率和缩放视图人工打开检查。训练与验证两组权益曲线具有相同
转折和退出时间，符合“相同交易路径、只有 stake 不同”；候选在两段末端均高于基线。
压力窗口面板明确显示 3 个负收益增量和 Terra 的正 DD 增量，没有把反例隐藏在平均值中。
表格数字与脱敏结果归档一致，未发现时间错位、图例错误或指标单位混用。

## DS V4 独立复核

首次评估：`deepseek-v4-flash`，response
`4e702d6e-0c81-4c60-a7fd-27b7a45558e6`，置信度 0.70。DS 同意首个分歧为
`position_sizing`，批准隔离 forward dry-run，不批准生产切换。

完成其要求的参数邻域测试后再次复核：response
`49f2a309-cf24-4594-b921-d687efa8eea4`，置信度升至 **0.78**。DS 认为三个邻域在
双窗口均同向改善，说明机制不依赖单一参数点；仍坚持不能直接生产部署。DS 输出中把
策略名误写为 `VolatilityBreakdownRiskCap`，人工按运行账本纠正为
`VolatilityBreakoutRiskCap`，不影响其风险裁决。

DS 给出的月收益区间：

- 中心：`2.5%～3.5%/月`；
- 保守：`0%～2.5%/月`；
- 趋势空头环境延续时乐观：`3.5%～5.0%/月`。

这不是收益承诺。相对当前 active-11 matched baseline，更稳妥的说法是候选在两段离线数据中
增加约 `0.6～0.8pp/月`；没有证据支持稳定 `8%～10%/月`。

## 推荐的最终策略方案

### 研究版本

`D48 RiskCap + ADX-SCALED-RISK-V1`

- D48、ATR expansion、ADX>25、EMA200、BTC 200DMA 多空闸门全部保留；
- 硬止损 -5%、3% trailing / 5% 激活、StoplossGuard 全部保留；
- same-side≤2、major-group≤2、2x isolated、18% wallet cap 全部保留；
- 唯一变化是上述 ADX 连续风险公式；
- 不加入 D36、D42、pair daily gate、第三仓、追价、主动吃单或新退出条件。

### 前向门槛

从空仓、同一时间点启动独立研究实例，至少运行 30 天且累计不少于 30 个可严格匹配的
已平仓机会；两者必须使用相同信号、币池、执行参数和保护。晋级生产 dry-run 前要求：

1. 匹配交易路径覆盖率 ≥95%；
2. 候选净收益和 PF 均高于 matched baseline；
3. 候选最大 DD 不高于 baseline；
4. 平均 stake 不高于 baseline 105%，任何单笔计划风险不超过钱包 0.9375%；
5. 无新增 min-stake 跳单、订单错误、保护单归属或 fail-closed 异常；
6. 若样本仍全为空头，只能批准 short-side 证据，不得宣称多头已验证；生产切换仍需单独裁决。

任一风险门失败即保留现行 D48 RiskCap，不继续调公式寻找新最优点。

## 证据文件

- 确定性汇总：[deterministic-summary.json](./deterministic-summary.json)
- DS 首轮：[ds-v4-strategy-review.json](./ds-v4-strategy-review.json)
- DS 邻域复核：[ds-v4-sensitivity-followup.json](./ds-v4-sensitivity-followup.json)
- 训练归档：[oss-round2-training-sanitized.zip](./oss-round2-training-sanitized.zip)
- 验证归档：[oss-adx-risk-validation-sanitized.zip](./oss-adx-risk-validation-sanitized.zip)
- 邻域训练：[oss-sensitivity-training-sanitized.zip](./oss-sensitivity-training-sanitized.zip)
- 邻域验证：[oss-sensitivity-validation-sanitized.zip](./oss-sensitivity-validation-sanitized.zip)
- lookahead 日志：[lookahead.log](./lookahead.log)
- recursive 日志：[recursive.log](./recursive.log)

所有本地 zip 均已删除内嵌 config；原始远端 zip 的 SHA-256 和脱敏归档 SHA-256 记录在对应
sanitize manifest 与 robustness summary 中。生产策略、生产配置、数据库和容器均未修改。
