← all research

Universe/data: monday_open_edge panel (2006-08-14.. 2026-08-10, 944 Mondays). OOS >= 2016-01-01. Spec: exposure = min(1, 0.95 * mult), mult LAG-1 from outcome_learner.update (v1 symmetric: win x1.05 / loss x0.90, bounds [0.5,1.25], alpha=0.10). Costs: 2*cost one-way each Monday. Verdict bars (same as adaptive_gauntlet): std lift>=+0.10 / small lift>=+0.05, both + p<0.05 + IS same-sign on the frozen spec. p(boot) = P(OOS mean(adapt-base) <= 0): small p favours the learner.

Stage A -- OOS learner-vs-base (net @ 2bps one-way)

VariantIS SROOS SRbase OOS SRliftlift_netIS liftp(boot)residavg expDSR
learn_v11.200.700.70+0.00+0.02+0.220.9860.070.5670.51
learn_hitrate1.040.710.70+0.01+0.03+0.060.2050.150.9530.51
learn_inverse0.980.700.70+0.00+0.01-0.000.013-0.701.0000.50
monthly_select1.100.770.70+0.07+0.11+0.120.2460.400.9500.58

DSR family K_eff=1.2 (pre-registered K_GRID=6) | PBO=0.46 | SPA p=0.063 Frozen spec is learn_v1 (best-of-family is monthly_select -- reported only, never promoted).

Cost frontier -- OOS net return (learn_v1 vs base)

one-waybase OOS retlearn_v1 OOS retbase SRlearn_v1 SR
0bps+85.7%+41.6%0.700.70
1bps+68.9%+34.6%0.600.60
2bps+53.7%+27.9%0.500.51
3bps+39.8%+21.6%0.400.41
5bps+15.7%+9.8%0.200.21

Era stability -- gross bps/Monday

Erabaselearn_v1lift
2006-2010+26.86+22.40-4.46
2011-2015+14.96+8.19-6.77
2016-2020+12.61+6.93-5.68
2021-2026+14.07+7.56-6.51

Verdict: REJECT (std_pass=False small_pass=False)

  • learn_v1 OOS: SR 0.70 -> 0.70 (lift +0.00, net +0.02), p=0.986, IS lift +0.22; avg exposure 0.567.

Interpretation

  • learn_v1's OOS Sharpe is flat (+0.00) while its average exposure is only 0.57 vs the base 0.95: the learner mostly DE-RISKS after noisy losses. Gap-down Mondays carry positive drift, so cutting exposure mechanically lowers gross bps/Monday (era table) WITHOUT improving risk-adjusted return -> no timing skill.
  • learn_inverse's low bootstrap p is a leverage artifact, not skill: its exposure sits at ~1.0 (above the base's 0.95) and its residual-vs-base Sharpe is negative. The scale-invariant Sharpe lift is ~0 -> the sign of the recency signal does not matter.
  • Best of family is monthly_select (lift +0.07, p=0.246); it is not significant and PBO=0.46 is high, so it is NOT promoted (frozen spec is learn_v1).
  • Conclusion: recent-outcome learning does not transfer to the Monday gap-down intraday edge -- matching the daily-bar adaptive_gauntlet REJECT. Keep the live sleeve's P_OUTCOME_LEARNER off.
  • The live sleeve wiring (production/monday_gap_sleeve.py) uses this exact learner, observe-only until P_OUTCOME_LEARNER=1.