Skip to content

2026 - 05 Mid-Month Check

Date: 2026-05-17 (Day 17 of 31), updated 2026-05-26 with strategy-repo correction | Phase: 1 (Validate)

Snapshot

Workstream Plan status Burn vs plan
Strategy: 2nd convergent 🔶 Iterating but no clean winner yet
Backtest: faster iteration loop 🔶 Engine/strategy separation done; backtest module being rebuilt in engine for publish
ML: range regression live 🔶 Vicky shipping, not yet live
Frontend: 6 UI issues 4 Gaddafi commits — slow start
Ops: Operator runbook Not started

Active strategies P&L (live, 9 strategies): -$0.33. Best: MMTV_v9_patient_eth +$0.27 (241 trades, 63% WR, $11.9K volume). May-created total: ~-$14.5 from heavy iteration (~30+ variants attempted).

Strategy Detail

MarketMaking: v3 → v9 iteration. Each version 4 variants on average. The "patient" variant pattern in v9 shows the shape we want — high WR (61-63%), near-zero margin, hundreds of trades, near-flat P&L. First MM variant where infra and execution are clearly converging. Still need positive margin at min qty before counting as Phase 1 candidate.

MeanReversion: v13 (April winner) decayed at end of April. v14, v15, v16 launched May. v15 ETH had a positive disabled run (+$0.90, 7 trades, 100% WR — small sample). v16 just launched (05-11), only 2 trades so far. Not convergent across variants yet — April's MR convergence story has weakened.

TrendFollowing: v14 (April carry) disabled early May, v15 launched 05-04. v15 ETH +$0.17 (12 trades, 58% WR), BTC -$0.24. Mixed, not enough data, no convergence claim.

StatsArb: v15 → v19 (v19 adds ratio-slope filter for trending-regime gate, just shipped to paper). Earlier variants + new orderflow attempts (StatsArbOrderflow v1/v2, OrderflowPairs v1) all net-negative or zero-trade. Still not a Phase 1 candidate.

AdaptiveDirectional (new strategy class, paper-only): launched 05-11 in the strategy repo. Three variants — ctrl (no ML), ml_vol (vol scaling), ml_full (vol + direction). On 6-7 trades each:

Variant P&L Margin WR
ml_vol +$1.70 +30 bps 50%
ml_full +$1.31 +23 bps 50%
ctrl -$3.48 -50 bps 29%

Control comparison is the signal: ml_vol beats ctrl by ~$5 at +80 bps margin spread. ml_full < ml_vol also informative — adding the direction component doesn't help, vol scaling alone does. Matches Vicky's negative finding on OHLCV direction. Sample tiny, but this is the first ML signal with a clean control beat.

v2 PR WIP: AdaptiveDirectional v2 (ETH instances + 15min cooldown) being prepped for paper. Live promotion gated on paper validation, not skipping to live.

Bottom line: ~2.5 candidates now, not 1.5. MMTV_v9_patient (infra-converged, margin pending), MR_v16 (light data), AdaptiveDirectional_v1_ml_vol → v2 (paper-only, beating control on small sample).

What the Backtest Workstream Actually Looked Like

The plan said "close the silent-strategy gap" via SkipReason analysis + calibration + gate definition. That path got bypassed by a better one: the binding constraint wasn't backtest accuracy, it was backtest speed — running the entire engine + CI/CD per strategy change made iteration too expensive regardless of accuracy.

Engine/strategy separation shipped (multi-session work across past week). Decoupling done, separate strategy repo set up, interface + CI/CD wiring done, "audit engine-strategy loading" scheduled Monday to close the loop.

Backtest module rebuild in flight: backtest is being rebuilt inside the engine so it can be published as a standalone module consumable by the strategy repo. Once shipped, strategy iteration runs cheap parameter estimates without spinning up the whole engine. This is the unlock the original plan was reaching for, via a different path.

Trade-off: the SkipReason / silent-strategy investigation got deprioritized. Acceptable — once the published backtest module exists, fast standalone estimates in the strategy repo solve the iteration-cost problem more directly.

Other Workstream Activity

Cody metrics package (Windhorse business, outside this plan): prep + finalize + schedule done 05-11/12. Adjacent workstream, not blocking trading platform progress.

Team Activity (May 1-17)

  • MJ: ~92 commits across 3 repos (engine 67, frontend 18, ml 7). Steady velocity. Bulk of strategy iteration
  • the engine/strategy separation work
  • Vicky: 4 ML commits. Lower than April (13). Some of the work is in scheduled blocks not yet committed (ML PR reviewed 05-13, regime classification 05-19). Plus HR decision pending (school/salary)
  • Gaddafi: 4 frontend commits. Slow start vs 29 in April. Calendar doesn't show his work — can't tell what's in flight

Strategy Repo Access — Vicky

The new strategy repo holds the alpha. That changes the IP calculus vs the engine repo, which is mostly infrastructure. Vicky needs access to ship ML-driven variants (otherwise integration goes through MJ and the whole point of the separation is defeated), but the access has to be locked down.

Policy:

  • Strategy repo access granted on her MDM-managed company Mac only. That device is the controlled environment — encrypted, audited, remotely wipeable, hardware-tied.
  • Personal Windows machine: explicitly off-limits for strategy repo. Continues to be used for ML model training (no strategy code required there). Cloning the strategy repo to personal Windows = policy violation.
  • Repo settings: branch protection on master, no force-push, no force-delete. GitHub is the only authoritative copy. No local-only forks or backups.
  • Permissions: read + write on strategy code, restricted from infra/CI secrets. Audit log retained on the GitHub side.
  • Reaffirm IP/confidentiality in writing if not already covered explicitly in offer letter. Make the device policy a written acknowledgment alongside (separate doc, signed once).

Why grant access: range regression at 77.3% direction accuracy is the most promising new-edge source we have this year. Gating Vicky from the strategy code means MJ becomes the integration bottleneck — same problem the engine/strategy separation was meant to solve, just moved to a different layer.

Plan for Days 18-31

Higher priority:

  • AdaptiveDirectional v2 → paper, then live. PR WIP. Paper validation first (extend the 6-trade sample), live promotion only after the control-beat holds at higher sample. Don't skip paper.
  • Diagnose MM v13 paper kill. 4 variants hit -$10 kill switch within ~2 hours of deploy 05-25, 0% WR. Volume_spike + spoof clip + micro-price gate combo isn't right. Markout diagnostics shipped (#46/47) should inform the post-mortem. Don't ship v14 until root cause is understood.
  • MMTV_v9_patient — push margin positive in live. Still the highest-probability Phase 1 candidate. Fee tier review, holding-period tuning, entry threshold.
  • Publish the engine-internal backtest module so the strategy repo can consume it. Without this, the engine/strategy separation is operationally not yet leveraged for cheap iteration.

Lower priority / accept slip:

  • Operator runbook: still no forcing function. May slip again. Accept and re-evaluate in June review
  • Frontend 6 issues: at current pace will land ~1-2 of 6. Pick the 1-2 highest-value and ship those well

Watch for:

  • MR convergence story — April's was strong, May is weaker. If v16/v18 don't show convergent metrics in next 2 weeks, MR drops from candidate status
  • AdaptiveDirectional v1 sample staying small — need 20+ trades before the control beat is real signal
  • TF v17, MR v18, StatsArb v19 just shipped to paper 05-25 — read in 3-5 days, don't act on 0-trade noise

Phase 1 Exit Forecast (May)

Probability: ~40%. AdaptiveDirectional changes the picture — now have a third live-able candidate beyond MMTV_v9_patient and MR_v16. Path requires (a) MMTV margin turning positive at min qty AND (b) AdaptiveDirectional holding the control-beat at larger sample (paper → live).

More likely: Phase 1 exit slips to June, but with a cleaner glide path than I previously thought. May ends with 2.5 candidates (MMTV strong infra/edge pending, MR weak/uncertain, AdaptiveDirectional vol-scaler validated on small sample). Strategy iteration cadence is now structurally faster (separation done, 30+ shipped May variants).