# VRP toggle matrix (machine-generated)

- **Artifact:** `/Users/robzingale/trading_bot/RenTech/strategy_stack/VRP_TOGGLE_MATRIX.json` (source of truth)
- **Generated (UTC):** 2026-04-29T08:05:35.942659+00:00
- **Theta dir:** `/Users/robzingale/trading_bot/RenTech/data/theta_chunks`
- **Trading days in each run:** 756 (2016-01-04 → 2019-01-03)
- **Capital:** $100,000

## Toggle legend

| Token | Meaning |
|-------|---------|
| **vol** | `vol_risk_scaling` (VVIX / VIX-momentum size cuts) |
| **r2x** | `r2_crossover_filters` (R2 band: SPY>SMA50, VIX MA/max gate) |
| **dd** | `dd_risk_scaling` (shrink new risk after portfolio DD ≥ 15%; exit ≤ 10%; mult ×0.50) |
| **ov** | `overlap_portfolio` (DCA slices; cap still sleeve `target_risk`) |
| **mac** | `macro_overlay` (Tier A daily return bump; frac × capital when ON) |

**Note:** Metrics are from `VRPBacktester.metrics()` (max DD on `_equity_curve` step points; see engine doc). Shorter `--max-days` windows are for faster sweeps — **not** comparable to a full-history headline run unless `--max-days 0`.

## Results (sorted by max drawdown ↑, then total return ↓)

| Scenario | End $ | Tot ret | Max DD | CAGR | Trades | Macro PnL $ |
|----------|------:|--------:|-------:|-----:|-------:|------------:|
| vol=n \| r2x=Y \| dd=Y \| ov=Y \| mac=n | 120,522.09 | 20.52% | 0.61% | 1.66% | 610 | 0.00 |
| vol=n \| r2x=Y \| dd=n \| ov=Y \| mac=n | 120,522.09 | 20.52% | 0.61% | 1.66% | 610 | 0.00 |
| vol=Y \| r2x=Y \| dd=Y \| ov=Y \| mac=n | 119,571.39 | 19.57% | 0.62% | 1.58% | 596 | 0.00 |
| vol=Y \| r2x=Y \| dd=n \| ov=Y \| mac=n | 119,571.39 | 19.57% | 0.62% | 1.58% | 596 | 0.00 |
| vol=Y \| r2x=n \| dd=Y \| ov=Y \| mac=n | 123,853.29 | 23.85% | 0.72% | 1.90% | 764 | 0.00 |
| vol=Y \| r2x=n \| dd=n \| ov=Y \| mac=n | 123,853.29 | 23.85% | 0.72% | 1.90% | 764 | 0.00 |
| vol=n \| r2x=n \| dd=Y \| ov=Y \| mac=n | 125,262.89 | 25.26% | 0.77% | 2.00% | 802 | 0.00 |
| vol=n \| r2x=n \| dd=n \| ov=Y \| mac=n | 125,262.89 | 25.26% | 0.77% | 2.00% | 802 | 0.00 |
| ref \| baseline+macro (vol=Y r2x=Y dd=n ov=n mac=Y) | 108,847.10 | 8.85% | 14.95% | 0.75% | 135 | 283.15 |
| vol=Y \| r2x=Y \| dd=Y \| ov=n \| mac=n | 109,541.55 | 9.54% | 15.01% | 0.80% | 135 | 0.00 |
| vol=Y \| r2x=Y \| dd=n \| ov=n \| mac=n | 108,468.85 | 8.47% | 15.01% | 0.72% | 135 | 0.00 |
| vol=n \| r2x=Y \| dd=Y \| ov=n \| mac=n | 112,752.05 | 12.75% | 15.33% | 1.06% | 135 | 0.00 |
| vol=n \| r2x=Y \| dd=n \| ov=n \| mac=n | 111,830.75 | 11.83% | 15.33% | 0.99% | 135 | 0.00 |
| vol=Y \| r2x=n \| dd=Y \| ov=n \| mac=n | 105,925.49 | 5.93% | 19.79% | 0.51% | 152 | 0.00 |
| vol=n \| r2x=n \| dd=Y \| ov=n \| mac=n | 107,992.49 | 7.99% | 20.94% | 0.68% | 152 | 0.00 |
| vol=Y \| r2x=n \| dd=n \| ov=n \| mac=n | 104,371.79 | 4.37% | 24.39% | 0.38% | 152 | 0.00 |
| ref \| all gates off +macro (vol=n r2x=n dd=n ov=n mac=Y) | 103,551.07 | 3.55% | 28.71% | 0.31% | 152 | 249.88 |
| vol=n \| r2x=n \| dd=n \| ov=n \| mac=n | 103,323.59 | 3.32% | 28.79% | 0.29% | 152 | 0.00 |

_Wall clock: 13116.1s for 18 scenarios._
