▌ NICK COMMAND BASE ▐
2026-06-07 04:32

▌ Futures AI.md

▒ PATH: Projects/Futures AI.md
▒ SIZE: 4.0 KB
▒ MODIFIED: 2026-06-07 03:01
← BACK TO VAULT
--- tags: [project, trading, futures, lead-lag, quant] status: planning added: 2026-06-06 owner: nick --- # Futures AI — Asia → Europe Lead-Lag Strategy **One-liner:** Algorithmic futures strategy that bets European indices gap in the direction of the prior Asian session, when Asia moves >1.5% on the day. Backtested 27 years, validated out-of-sample 2025-2026. ## What it is A **low-frequency, high-conviction** lead-lag strategy: - **Signal:** Average of HSI and N225 day returns. Trigger when |signal| ≥ 1.5%. - **Trade:** LONG or SHORT DAX (in direction of Asia) at DAX open, hold to close. - **Sizing:** Vol-targeted to 1.5% daily volatility, capped at 3x leverage. - **Frequency:** 8-15 trades per year (most days are no-signal days). ## Backtest results (out-of-sample 2025-2026) | Metric | Value | |---|---| | Trades | 12 | | Win rate | 91.7% | | Sharpe | 16.5 | | CAGR (full position) | 12.9% (vol-targeted) / 11.1% (equal weight) | | Max drawdown | -0.5% | | Profit factor | 27.9 | **Holdout 2025-2026 is the gold standard** — the strategy was ranked using 2021-2023 walk-forward only, and 2025-2026 was never touched during optimization. So this is real out-of-sample validation. ## Why it works (intuition) Markets have overlapping trading sessions. Information flows from one session to the next. When Asia closes with a strong directional move, that information is "priced in" by European markets at their open, creating a predictable gap. The signal is dose-dependent (bigger Asia move = bigger Europe gap) and asymmetric (both up and down moves are predictable). ## Files - **Code:** `~/.hermes/projects/futures-ai/` - `lead_lag_backtest.py` — initial directional test - `deep_dive.py` — magnitude buckets, intraday patterns, trend persistence - `find_winner_rigorous.py` — final statistically-sound strategy search - **Strategy brief (for sharing):** `/Volumes/My Shared Files/UTM/STRATEGY_PROMPT.md` (16KB) — self-contained, drop into any AI chat to execute. - **Data:** Yahoo Finance (free) — `^HSI`, `^N225`, `^GDAXI`, `^FTSE`, `^FCHI`, `^GSPC`, `^IXIC`. 30+ years of daily OHLCV. ## Plan (5 phases) 1. ✅ **Backtest** — done. Strategy validated. 2. 🟡 **Paper trade 1 week** — sending strategy brief to friend's AI to test in parallel. 3. ⏳ **Paper trade 1 month** (own setup) — if week results are in line with backtest. 4. ⏳ **Live small ($50-100k)** — only after 1+ month profitable paper. 5. ⏳ **Scale up to $200k+** — only after live performance matches. ## Key decisions - **Platform: Futu OpenAPI** (not IBKR) — HK native, Python SDK, modern docs, matches local-first bias. OpenD gateway runs on Mac. - **Daily data is a proxy for intraday 5-min** — first 5 min ≈ open vs prev close. Real intraday data could shift results ±20%. - **Don't paper trade with the original 100% win-rate "winner"** — that was overfit (5 trades, looked great, no statistical power). - **Strategy is parameter-light** — single threshold (1.5%), no streak, single target. Less to overfit. ## Limitations / honest caveats 1. **Daily data proxy** for "first 5 min" — needs intraday verification. 2. **Summer DST issue:** DAX opens 1 hour before HSI closes (Apr-Oct). Use N225-only signal in summer, or trade next day's DAX. 3. **Small holdout sample (12-16 trades)** — statistically meaningful but not bulletproof. 4. **Costs assumed 4 bps RT** — actual might be 2-3 bps with Futu. Slippage on volatile opens could be higher. 5. **Survived 2008, 2020, 2022** in walk-forward — but past ≠ future. ## Open questions - [ ] What does real intraday 5-min data show? (needs Futu account) - [ ] Does the signal work in summer (when DAX opens before HSI closes)? - [ ] What's the optimal holding period (5 min vs 1 hour vs full session)? - [ ] Can we add VIX/volatility regime filter to skip crisis periods? ## Related - [[Projects]] — back to main project index - [[EPL Betting AI]] — similar lead-lag/quant approach, different market - [[RezMyCV]] — different domain, similar pattern of "build → validate → ship"
▒▒▒ READY CPU: 12% MEM: 4.2G NET: OK OBSIDIAN ▒ VIEWING