Multi-provider architecture with abstract interfaces. Same ML, same gates, any broker platform. Sierra Chart and Interactive Brokers implementations complete. Rithmic direct planned.
The broker provides market data and order routing. Everything else -- features, models, risk, sizing -- lives in shared core that never changes when swapping providers.
Strategy layer never changes when swapping brokers. Sierra Chart and Interactive Brokers providers implement the same abstract interfaces.
| Version | Date | Changes |
|---|---|---|
| v035.350 | Mar 15 | F2-primary architecture. Ensemble voting removed. SYNC_CORRECTION P&L fixed (was $7K phantom). ETH sessions disabled. Trend override added. |
| v035.200 | Mar 13 | Post-mortem rebuild. F2/F5m/SAM model validation gate. Journal coverage all exit paths. Bridge as nssm service. |
| v111 | Mar 9 | F2 confidence gate, F5m bar strategy, rolling retrain, STAT_ARB killed permanently |
| v81e | Feb 26 | All 3 models retrained on 200K ticks. Last ensemble version. |
| v79 | Feb 24 | STAT_ARB killed by ablation (ML-only: PF 1.80 vs combined PF 1.58) |
| v77 | Feb 23 | Mean Revert removed by ablation (+58% P&L without it). F2 solo PF 1.87 identified. |
| v73 | Feb 20 | Momentum model removed (toxic: blocking profitable trades) |
Production on Azure B2s. Bridge runs as nssm Windows service — survives RDP disconnects and Azure health events.
2 vCPU / 4GB, East US 2. Sierra Chart x64 + Python bridge as nssm service. SSH + Tailscale. ~$56/mo. Replaced Parallels ARM64 (retired Mar 3).
Interactive Brokers provider complete: broker.py (616 lines), data_service.py, trade_service.py. All implement ABCs. Ready for multi-broker.
200+ strategy globals need extraction into classes before IB can run. Phase 2C: build broker-agnostic orchestrator with shared core/.