Base study: reports/equity_book_overlay.md. All rows OOS>=2023 unless noted; net@10bps.
1. Tuning grid (both overlay, net@10bps OOS)
| qcut | thin_at | Ret | Sharpe | MaxDD |
|---|---|---|---|---|
| 0.7 | 0.15 | +172.8% | 1.55 | -26.8% |
| 0.7 | 0.2 | +172.3% | 1.55 | -26.8% |
| 0.7 | 0.25 | +177.3% | 1.57 | -26.8% |
| 0.8 | 0.15 | +159.3% | 1.51 | -26.5% |
| 0.8 | 0.2 | +156.3% | 1.49 | -26.5% |
| 0.8 | 0.25 | +160.3% | 1.51 | -26.5% |
| 0.9 | 0.15 | +155.6% | 1.46 | -27.8% |
| 0.9 | 0.2 | +154.0% | 1.44 | -27.8% |
| 0.9 | 0.25 | +160.8% | 1.48 | -27.8% |
2. Head-to-head (net@10bps OOS): base vs both vs thin-only vs wall-only
| Variant | Ret | Sharpe | MaxDD | boot-p vs base |
|---|---|---|---|---|
| base | +117.4% | 1.23 | -27.6% | - |
| wall | +146.5% | 1.43 | -26.6% | 0.1524 |
| thin | +129.9% | 1.31 | -27.5% | 0.1134 |
| both | +156.3% | 1.49 | -26.5% | 0.1066 |
3. Overlay x credit-gate (net@10bps OOS — maxDD fix?)
| Variant | Ret | Sharpe | MaxDD |
|---|---|---|---|
| both + credit>250bps->cash | +156.3% | 1.49 | -26.5% |
| base + credit-gate | +117.4% | 1.23 | -27.6% |
4. Hold / fraction grid (both overlay, net@10bps OOS)
| Hold | Top frac | Ret | Sharpe | MaxDD |
|---|---|---|---|---|
| 14d | 5% | +274.9% | 1.50 | -30.0% |
| 14d | 10% | +187.5% | 1.61 | -17.3% |
| 14d | 20% | +150.3% | 1.79 | -18.6% |
| 21d | 5% | +294.9% | 1.50 | -36.2% |
| 21d | 10% | +156.3% | 1.49 | -26.5% |
| 21d | 20% | +162.8% | 1.91 | -19.6% |
| 28d | 5% | +216.9% | 1.33 | -29.8% |
| 28d | 10% | +138.7% | 1.35 | -19.1% |
| 28d | 20% | +105.3% | 1.40 | -21.8% |
5. News-weight interaction: DATA-LIMITED
history.csv has 4 rows — needs 60+ days of corrtrack live data before a backtest is honest. Queued.
6. Best-combo + VIX gate + residual momentum (net@10bps OOS)
| Config | Ret | Sharpe | MaxDD |
|---|---|---|---|
| both q0.7/th0.25/21d/10% (prev best) | +177.3% | 1.57 | -26.8% |
| both q0.7/th0.25/21d/20% | +182.5% | 2.02 | -20.1% |
| both q0.7/th0.25/14d/20% | +156.9% | 1.84 | -19.4% |
| both + VIX gate | +60.1% | 0.97 | -23.0% |
| both resid-mom | +253.1% | 2.09 | -17.6% |
| both resid-mom + VIX gate | +54.9% | 0.96 | -21.5% (cash drag again) |
| base resid-mom (no overlay) | +166.8% | 1.61 | -20.6% |
Round-3 verdict: residual (beta-hedged) momentum beats raw momentum even before the overlay (1.61 vs 1.49), and the overlay stacks on top (+86pp, 1.61->2.09, maxDD -20.6->-17.6). Regime gates (credit AND VIX) consistently hurt OOS — they cut winners, not tails. Best config so far: resid-mom + both overlays, q0.7/th0.25.
7. Fresh angles queued (not yet run)
- sector-neutral ranking (true GICS residual) + wall-fade.
- overlay x news-weight once corrtrack has 60+ days.
8. Cross-coin L2 check (do wall/vol edges generalize? MIXED)research/alt_depth_crosscheck.py, ~400d/coin, Binance L2 + Alpaca prices:
| Coin | IC imb5->next | IC wall->next | thin-vol Q1/Q5 | wall-Q5 next-day |
|---|---|---|---|---|
| SOL | +0.047 | +0.005 | 0.67x | -22.7bps |
| XRP | +0.013 | -0.012 | 0.69x | +12.3bps |
| LINK | +0.014 | +0.012 | 0.58x | +47.8bps |
| AVAX | +0.072 | -0.074 | 0.61x | -30.9bps |
| DOGE | +0.058 | -0.006 | 0.60x | -45.1bps |
| ADA | +0.064 | -0.065 | 1.37x | +18.3bps |
Verdict: deep-book momentum generalizes (6/6 positive IC) but wall-fade is 3-3 coin-specific and thin-vol inverts ex-ADA (thin->calmer, opposite of BTC). Do NOT roll wall/vol rules to the alt bots universally — per-coin calibration only; BTC/ETH remain the only validated names.
Done in 183s.
9. Round 4: sector-neutral + intraday-ML verdict (net@10bps OOS)
research/fetch_sectors.py (yfinance GICS, 101 names cached), research/lgbm_depth_combo.py.
| Config | Ret | Sharpe | MaxDD |
|---|---|---|---|
| base sector-neutral | +148.4% | 1.48 | -22.7% |
| both sector-neutral | +227.2% | 1.86 | -22.2% |
| base resid+sector | +169.9% | 1.73 | -17.3% |
| both resid+sector | +198.7% | 1.94 | -16.1% |
| LightGBM 7-feature 4h (BTC) | AUC 0.511, spread +3.7bps | � | � |
| LightGBM 7-feature 4h (ETH) | AUC 0.503, spread +6.3bps | � | � |
Verdict: sector-neutral ranking is a second structural win (stacks with the overlay AND resid-mom; best maxDD yet at -16.1%). Intraday directional ML on 5m bars is dead (AUC~0.51, fees eat the +4-6bps spread) � but feature importance confirms the research direction (imb5 + totdepth dominate, ofi/depl noise). No further 5m-taker work; edge lives at daily+ horizons.
10. Round 5: full-history + walk-forward (resid+sector, net@10bps)
Full: base +4540% Sh1.18 vs both +6386% Sh1.25, p=0.075, maxDD ~-60% (2008 dominates). OOS edge is real but milder over full history � edge concentrates post-2019.
| Window | Base | Both |
|---|---|---|
| 2008-2011 | +2% / 0.22 / -61% | +18% / 0.36 / -59% |
| 2011-2015 | +211% / 2.28 / -12% | +222% / 2.19 / -16% |
| 2015-2019 | +180% / 1.88 / -21% | +163% / 1.74 / -21% (only loss) |
| 2019-2022 | +97% / 0.97 / -35% | +118% / 1.08 / -36% |
| 2022-2026 | +162% / 1.67 / -17% | +193% / 1.89 / -16% |
Verdict: both beats base 4/5 windows on return; consistent, not dominant. Live stance unchanged (resid + shipped overlay running).
11. Round 6: mega-combo + anatomy + vol-timing
| Config | Full | OOS |
|---|---|---|
| mega (q0.7/th0.25/20%/resid/sector) base | +2076% / 1.08 / -54% | +142% / 1.95 / -19% |
| mega both | +2499% / 1.12 / -54% | +175% / 2.10 / -17% |
Mega-combo wins OOS Sharpe (2.10, best yet) but full-sample barely moves (1.08->1.12) � textbook selection bias. NOT promoted; live stays shipped.
Anatomy (119 months): edge-VIX corr 0.01, edge-SPYtrend corr +0.11. Edge in up months +32bps/mo vs down months +6bps/mo � the overlay is a bull-market amplifier, dead weight in drawdowns. Regime gates can not fix this (they cut the good months), which explains rounds 2-3.
Vol-timing: thin BTC book -> +8% higher 5d-forward SPY vol (IC -0.14, n=946). Real but weak cross-asset lead; needs a dedicated volatility study.
12. Round 7: trend-conditioning + cost frontier (OOS net)
| Config | Ret | Sharpe | MaxDD |
|---|---|---|---|
| both (unconditional) | +198.7% | 1.94 | -16.1% |
| both only when SPY>SMA200 | +193.6% | 1.88 | -18.5% |
Fourth gate fails: trend-conditioning also trims winners. Rule stands � never gate the overlay; it is always-on.
Cost frontier, live config: 10bps +253%/2.09 -> 20bps +248%/2.06 -> 50bps +233%/2.00 -> 100bps +210%/1.88. Edge survives 10x modeled costs; Alpaca spreads are a non-issue at 21d holds.
13. Round 9: mechanism (overnight/intraday, beta, sectors)
| Leg | Base | Both |
|---|---|---|
| close-close | +169.9% / 1.73 | +198.7% / 1.94 |
| overnight only | +107.4% / 1.95 | +126.4% / 2.24 |
| intraday only | +0.0% / 0.10 | +2.8% / 0.16 |
The entire edge accrues overnight � intraday is flat. Mechanism: positioning drift captured at the open, faded during the session. Execution MUST stay next-open (live design already does this; a close-fill variant would erase it).
Beta surprise: resid+sector base correlates MORE with the market (0.84) than raw base (0.78). The resid win is stock selection, not hedging � long-only momentum portfolios carry beta regardless.
Sector edge (both-base, OOS): Industrials +0.80bps/d best, Healthcare -1.25bps/d worst, rest near zero. Thin and noisy � flag, do not trade on it.