GMM(3) on trailing-252d (spy_ret20, spy_vol20, vix_ratio, credit_z), refit every 21d, stress = highest-VIX component. Lag-1 gate. IS<2016 OOS>=2016 (PEAD: 2023 split).
| Variant | Segment | n | Ret (cum) | Sharpe(252) | MaxDD | p_self | p_vs_base | CorrMkt | CorrEqMom | ResidSharpe |
|---|---|---|---|---|---|---|---|---|---|---|
| EqMom baseline (12-1 top decile, hold21, net10bps) | IS | 2363 | +195.59% | 0.75 | -54.71% | 0.028 | nan | 0.88 | 1.00 | -0.06 |
| EqMom baseline (12-1 top decile, hold21, net10bps) | OOS | 2667 | +1004.91% | 1.28 | -38.55% | 0.001 | nan | 0.77 | 1.00 | 0.44 |
| EqMom x GMM-3state gate (flat in stress) | IS | 2363 | +133.00% | 0.77 | -44.35% | 0.022 | nan | 0.60 | 0.70 | 0.25 |
| EqMom x GMM-3state gate (flat in stress) | OOS | 2667 | +605.21% | 1.33 | -27.95% | 0.000 | 0.506 | 0.47 | 0.75 | 0.71 |
| EqMom x VIX binary gate (replication) | IS | 2363 | +122.48% | 0.92 | -17.79% | 0.010 | nan | 0.40 | 0.53 | 0.51 |
| EqMom x VIX binary gate (replication) | OOS | 2667 | +244.76% | 1.14 | -18.25% | 0.001 | 0.508 | 0.30 | 0.55 | 0.68 |
| SPY buy-hold (baseline) | IS | 3021 | +133.38% | 0.56 | -55.19% | 0.059 | nan | 0.97 | 0.87 | -1.19 |
| SPY buy-hold (baseline) | OOS | 2678 | +348.81% | 1.06 | -33.72% | 0.002 | nan | 0.95 | 0.82 | -0.22 |
| SPY x GMM-3state gate | IS | 3021 | +100.32% | 0.60 | -39.41% | 0.039 | nan | 0.69 | 0.60 | 0.06 |
| SPY x GMM-3state gate | OOS | 2678 | +301.82% | 1.38 | -19.79% | 0.000 | 0.502 | 0.63 | 0.58 | 0.66 |
| PEAD top-quintile ungated (baseline, hold60) | IS | 4125 | +80.20% | 0.35 | -51.54% | 0.116 | nan | 0.49 | 0.40 | -0.10 |
| PEAD top-quintile ungated (baseline, hold60) | OOS | 905 | +210.57% | 2.37 | -20.66% | 0.000 | nan | 0.94 | 0.75 | 1.78 |
| PEAD x GMM-3state gate | IS | 4125 | +121.76% | 0.53 | -24.29% | 0.037 | nan | 0.29 | 0.22 | 0.22 |
| PEAD x GMM-3state gate | OOS | 905 | +136.48% | 2.43 | -10.54% | 0.000 | 0.496 | 0.68 | 0.54 | 1.42 |
Verdicts (OOS: Sharpe uplift vs own baseline + p_vs_base<0.05 + resid>0)
- EqMom baseline (12-1 top decile, hold21, net10bps) (OOS): -- (p_self=0.001, Sharpe 1.28) -- reference.
- EqMom x GMM-3state gate (flat in stress) (OOS): REJECT (uplift +0.05 vs 1.28, p_vs_base=0.506, resid 0.71, corrEqMom 0.75)
- EqMom x VIX binary gate (replication) (OOS): REJECT (uplift -0.13 vs 1.28, p_vs_base=0.508, resid 0.68, corrEqMom 0.55)
- SPY buy-hold (baseline) (OOS): -- (p_self=0.002, Sharpe 1.06) -- reference.
- SPY x GMM-3state gate (OOS): REJECT (uplift +0.32 vs 1.06, p_vs_base=0.502, resid 0.66, corrEqMom 0.58)
- PEAD top-quintile ungated (baseline, hold60) (OOS): -- (p_self=0.000, Sharpe 2.37) -- reference.
- PEAD x GMM-3state gate (OOS): REJECT (uplift +0.06 vs 2.37, p_vs_base=0.496, resid 1.42, corrEqMom 0.54)
stress-day frac GMM 0.250 vs VIX-gate 0.444
Conditional separation (follow-up)
Mean daily ret on calm vs stress days (lag-1, OOS):
| Sleeve | calm bps/d | stress bps/d | gap | p |
|---|---|---|---|---|
| EqMom | +10.39 | +9.50 | +0.88 | 0.467 |
| SPY | +7.12 | +3.28 | +3.84 | 0.216 |
| PEAD | +13.25 | +12.61 | +0.65 | 0.466 |
State weakly separates SPY only; EqMom/PEAD gaps ~0. Verdict stands: REJECT.