Key Performance Metrics
Out-of-Sample Sharpe
0.95
2023–2026 holdout · 16 events
OOS Total Return
+10%
Locked 20% holdout period
Signal Hit Rate
49.5%
107 events · full backtest
Events Analyzed
365+
NFP 136 · CPI 216 · FOMC 13
OOS Max Drawdown
−2.2%
vs ≤ 15% Go/No-Go threshold
Cost Safety Margin
12×
Model: 10 bps · ZT actual: 0.79 bps
Equity Curve & Train / Test Split
Simulated Equity Curve
TLT × CPI events only — Phase 1 baseline · 5-min intraday window
Train vs Test Performance
80/20 locked holdout split
Central Methodological Finding
🔬 The 30-Hour Timing Lag Problem
The initial backtest measured returns at next-day market close, introducing a 30-hour gap between the 8:30 ET release and the return measurement point. During that window, unrelated market movements swamped the event signal — producing a near-zero Sharpe ratio (0.089). Redesigning to a 5-minute intraday window eliminated the confound and produced a methodologically sound signal framework.
❌ Before Fix
Signal: 08:30 ET release
Measure: next-day 16:00 ET
Gap: 30 hours of noise
Sharpe: 0.089
✅ After Fix
Signal: 08:30 ET release
Measure: 08:35 ET (5-min)
Gap: pure event window
OOS Sharpe: 0.95
Event & Signal Analysis
Sprint 1 — Event Coverage
| Event | Tier | Releases | Windows |
| Non-Farm Payrolls |
Tier 1 |
136 |
1d / 2d / 5d |
| CPI |
Tier 1 |
216 |
1d / 2d / 5d |
| FOMC Rate Decision |
Tier 1 |
13 |
1d / 2d / 5d |
| PCE Price Index |
Tier 1 |
~144 |
1d / 2d / 5d |
| ISM PMI (Mfg + Svc) |
Tier 2 |
~288 |
1d / 2d / 5d |
| Initial Jobless Claims |
Tier 2 |
~884 |
1d / 2d / 5d |
| Housing / Durable / GDP |
Tier 3 |
~108 |
1d / 2d / 5d |
Train / Test Split Metrics
| Metric | Train (80%) | Test (20%) |
| Period | 2009–2022 | 2023–2026 |
| Events | 91 | 16 |
| Sharpe Ratio |
−0.085 |
0.95 |
| Total Return |
−5% |
+10% |
| Max Drawdown |
−19.2% |
−2.2% |
| Status |
In-Sample |
OOS ✓ |
5-Instrument Portfolio
TLT
20-Year Treasury ETF
📌 Nominal rates / duration
~120 trades/yrPANIC: holds 100%
EUR/USD
Euro / Dollar FX
📌 Dollar strength signal
~184 trades/yrPANIC: 50% size
USD/JPY
Dollar / Yen FX
📌 Dollar + JPY carry hedge
~184 trades/yrSTRESS: 150%
CL
Crude Oil Futures
📌 Energy / global growth
~40 trades/yrPANIC: paused
GC
Gold Futures
📌 Real rates / inflation hedge
~44 trades/yrPANIC: holds 100%
VIX Regime Overlay
Position Size Multipliers by Regime
| Regime | VIX Range |
TLT | EUR/USD | USD/JPY | CL | GC |
Logic |
| NORMAL |
VIX < 20 |
1.0× | 1.0× | 1.0× | 1.0× | 1.0× |
All instruments at standard size |
| ELEVATED |
VIX 20–25 |
1.0× | 1.0× | 1.0× | 1.0× | 1.0× |
Monitor only, no size change |
| STRESS |
VIX 25–35 |
1.0× | 1.0× | 1.5× | 1.0× | 1.0× |
JPY carry amplification |
| PANIC |
VIX > 35 |
1.0× | 0.5× | 0× | 0× | 1.0× |
Safe-havens hold; risk assets paused |
Execution Cost Model
Normal Regime
10 bps
VIX < 20 · round-trip
12× safety margin vs ZT actual (0.79 bps)
Stress Regime
15 bps
VIX 25–35 · wider spreads
Conservative risk-off assumption
Panic Regime
20 bps
VIX > 35 · liquidity-adjusted
Stress-tested against flash crashes
Go / No-Go Validation Gate
Five criteria · all must pass before paper trading begins
| Criterion | Threshold | OOS Result | Status |
| Newey-West Adjusted Sharpe (holdout) |
≥ 0.50 |
0.95 |
✓ PASS |
| Maximum Drawdown (holdout) |
≤ 15% |
−2.2% |
✓ PASS |
| Stress-Period Expectancy |
≥ 0 bps |
Pending Phase 5 |
⏳ PENDING |
| Single-Event P&L Concentration |
≤ 40% |
Pending Phase 5 |
⏳ PENDING |
| Signal Log Completeness |
≥ 95% of expected events |
Pending Phase 5 |
⏳ PENDING |
Project Roadmap
Phases 0–7
-
✓
Phase 0
Event calendar · signal construction · consensus data collection
-
✓
Phase 1
Daily backtest · timing lag diagnosis · cost model validation (ZT tick data)
-
✓
Phase 2
Intraday backtest engine · asymmetric 3-rule exit system · regime classifier
-
✓
Phase 3
5-instrument portfolio · analytics module · factor concentration (PCA)
-
○
Phase 4
Data collection — Alpaca / OANDA fetch · Bloomberg import
-
○
Phase 5
Full intraday backtest across all 5 instruments · Go/No-Go gate
-
○
Phase 6
Paper trading on IBKR simulated environment
-
○
Phase 7
Live deployment — post paper-trading validation only