One-shot weekly check. Read-only and fail-open; stale data shows as 'stale' in the table rather than crashing.
1. Validated edges — live status
| Edge | Where | OOS Sharpe lift | Status | Switch to enable |
|---|---|---|---|---|
| Multi-coin gate60 basket | P1a (live_runner_alt SOL/XRP/LINK/AVAX/DOGE/ADA) | per-coin validation per universe_generalization.md | LIVE paper | each alt is [ UP ] in start_bots.py |
| Maker-order crypto entries | P1b (production/execution.py:136) | ~+0.7%/yr cost | LIVE | P_ORDER_TYPE=MAKER (already on) |
| tv=0.45 vol-target sizing | P1c (production/runner.py:238) | Sharpe 1.01→1.19, maxDD -26.7→-21.7% | LIVE | P_GATE60_VOL_TARGET=0.45 (already on) |
| Depth-filter on gate60 | P2b (production/depth_filter.py) | +182%→+1226%, Sharpe 1.03→2.85, p=0.000 | DORMANT (WARMING) | P_DEPTH_FILTER_GATE60=0 (flip to 1 when ready) |
| Carry-basis overlay | P2c (production/carry_basis_overlay.py) | Sharpe 0.99→1.30, p=0.008 OOS | OBSERVE-ONLY | P_CARRY_BASIS_OVERLAY=0 (flip to 1) |
| PIT-aware re-prediction | P3d.2 (validation/pit_aware_predict.py) | BIAS DOWN 2.56% on live cache | DONE (one-shot) | n/a — already shipped |
| PEAD top-quintile filter | edge_hunt10 (production/pead_sleeve.py) | Sharpe 0.86→1.04, p=0.001 | LIVE | PEAD_SURPRISE_Q=0.8 (already on) |
| VIX-gated PEAD v2 | edge_hunt15 (production/pead_sleeve_v2.py) | Sharpe 1.79→1.01 but maxDD halved | OBSERVE-ONLY | needs .env.pead_v2 |
2. OKX depth-filter warmup
- Range: 2026-08-21 .. 2026-09-04
- Rows: 3341
- History: 14.6 days (min 90)
- Need more: 75 days
- Verdict: WARMING
3. Hyperliquid funding cache (carry-basis overlay input)
| Coin | Last | Age (h) | Fresh? |
|---|---|---|---|
| ETH | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| BTC | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| SOL | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| XRP | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| LINK | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| AVAX | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| DOGE | 2026-09-04 18:00:00.018000 | -1.8 | Y |
| ADA | 2026-09-04 18:00:00.018000 | -1.8 | Y |
Freshness threshold = 48h (STALE_MAX_HOURS in production/carry_basis_overlay.py:39).
4. Live sleeve equity (paper, Alpaca)
| Sleeve | Account | Equity | Cash | Buying power |
|---|---|---|---|---|
| flagship | - | $9,895.55 | $-1,251.52 | $26,205.71 |
| pead | - | $10,000.00 | $10,000.00 | $40,000.00 |
| pead_v2 | (unavailable) | - | - | - |
| tsy | - | $10,000.00 | $10,000.00 | $40,000.00 |
| btc | - | $10,301.99 | $237.13 | $948.52 |
| shared | - | $994.36 | $329.29 | $329.29 |
5. Forward tracker (the honest live OOS check)
Forward CSV has 1 rows (2026-09-04 .. 2026-09-04). Run python scripts/forward_tracker.py --report for per-sleeve CAGR/Sharpe + book vs flagship.
| Sleeve | Equity | Daily return |
|---|---|---|
| flagship | $9,886.01 | |
| pead | $10,000.00 | |
| pead_v2 | (no data) | - |
| tsy | $10,000.00 | |
| crypto | $10,269.04 |
6. What to flip next
- NOW: depth-filter still WARMING (75 more days of OKX history needed). No action.
- NOW: carry-basis overlay is OBSERVE-ONLY. Flip
P_CARRY_BASIS_OVERLAY=1instart_bots.py:31(gate60 family env) once the OOS verdict has been reconfirmed in a follow-up window. Risk: live overlay behavior on a new regime. - NOW: forward tracker is dead. Set up a nightly cron:
python scripts/forward_tracker.py --once. After 30 days the multi-sleeve book vs flagship can be honestly compared live. - LATER (75d): when
python scripts/okx_warmup.pyreportsREADY, flipP_DEPTH_FILTER_GATE60=1to activate the validated depth-filter (Sharpe 1.03 → 2.85 on the backtest). - LATER (data-dependent): combined-book meta-allocator (production/book_allocator.py) is live but needs
BOOK_ALLOCATION=1to weight sleeves. After 30+ days of forward data this is the natural next step.