← all research

Status: DESIGN + SHADOW EVIDENCE COLLECTION. No live-weight change. production/book_allocator.py stays 3-sleeve EW (flagship/pead/crypto); get_book_weight() already fail-closes unknown sleeves via equal_default, so no allocator code change is needed until promotion.

What this program produced

Screen/huntVerdictOutput
1.1 crowding proxies (XLK/SPY z, VIX, spread, curve, SI mean)KILL (alllead1
1.2 midterm Sept-Oct dummyKILL (OOS sign flip, 2/4 years)reports/midterm_bubble_phase1_midterm.md
1.3 news-sentiment OOSBLOCKED (yfinance has no history)live ensemble logging only
2A Squeeze-Q (FINRA+beat+12-1, H21)REJECT as return sleeve (p=0.9754); SHADOW-graduate on structural bar (Sharpe 1.43 vs 1.42, DD -9.25% vs -26.86%, corr 0.50, resid 0.58)reports/midterm_bubble_phase2a_squeeze.md, production/equity_squeeze_shadow.py
2B anti-bubble E/PPARKED (needs PIT shares pipeline; 6-arm beta wall; I2 already covers the diversifier slot)this file
I2 financing-compositevalidated-not-promoted (1.04, p=0.0006, resid +0.14); shadow added to collect the forward evidence its verdict requiresproduction/equity_value_shadow.py

Live shadow book (all log-only, never orders, fail-open)

Every eqmom rebalance now logs four shadows to the decision record + state: hedge_shadow (C7), vol_shadow (B5), squeeze_shadow (2A), value_shadow (I2), each with overlap vs selected holdings. Tests: 23 passed (test_equity_{hedge_overlay,squeeze_shadow,value_shadow,momentum_runner}).

4th-sleeve candidate design (pre-registered, not activated)

  • Composition: diversifier blend = I2 top-10 + Squeeze-Q top-20 (union, equal-weight, monthly H21 rebalance, long-only, next-open, 10bps).
  • Rationale: I2 brings validated residual (+0.14); squeeze brings DD decorrelation (-9.25% maxDD vs -26.86%); both corr<0.7 to EqMom.
  • Weighting: enter as 4th EW sleeve (0.25 each) OR vol-weighted under the open P4 extension (weight_i = (1/vol_i)/sum). P4 stays open; EW is default.

Promotion gates (ALL required, per shadow)

  1. 30d+ shadow record INCLUDING a down month (SPY-negative calendar month).
  2. Overlap-vs-study confirmation: shadow top-names overlap the study-implied set at >50% median (proves the live proxy tracks the study, cf. C7/B5 proxy-beta rule).
  3. Net@25bps cost stress on the study leg stays Sharpe>0.
  4. Tracking-error gate (P4 go-live staging): 4-6wk paper audit of the candidate sleeve vs study-implied path; halt if cumulative divergence exceeds 150bps or weekly corr < 0.8. Scale $1-2k single sleeve first.
  5. Operator sign-off. No auto-promotion.

Kill criteria (upfront)

  • Shadow level: any shadow failing open (stale SI/earnings/panel) stays inactive and NEVER blocks the eqmom cycle (fail-open, never NO_NEW_ORDERS).
  • Study level: if the shadow-incl-down-month record shows the diversifier ADDING drawdown (worse DD than EqMom alone in that month) with overlap confirmed, the candidate is REJECTED (no second shadow phase).
  • Sleeve level (post-promotion): standard docs/production/kill_criteria.md state machine applies (R1 data failure -> block; R4 position mismatch -> block; slippage bands alert-only unless extreme).

Open items

  • P4 vol-weighted allocator extension (unchanged).
  • 2B shares pipeline iff a new value mechanism hypothesis arrives with protocol (not a re-grid of E/P levels).
  • Re-run scripts/forward_tracker.py --report at 30/60/90d and compare shadow-implied vs live book.

ALL DONE