MBATS, a private trading system
Live, privateML gating and sizing: plannedPersonal project, February 2026 to present. 348 of 372 commits and 106 merged pull requests are mine; the rest is the open-source base it started from. The strategy was specified by a collaborator. Access is limited to its two operators; the public demo runs on synthetic data.
- Two planes: research changes freely while execution stays fixed; new behaviour ships switched off behind pre-registered gates.
- A direct webhook replaced a chat-relay hop, removing about one to three seconds and a class of silent failures.
- Model scoring fails open and execution fails closed: a missing score never blocks or alters an exit.
- No ML stack inside the execution container; models score nightly and execution only attaches the result.
- 543 tests, including a regression suite numbered by incident, and a 75-incident troubleshooting log.
Python, FastAPI, Pydantic, SQLAlchemy, PostgreSQL, Airflow, MLflow, XGBoost, Optuna, PyTorch, Vue 3, React with TypeScript, Docker Compose, nginx, Firebase Auth