2nd overall (93 teams) and 1st on Sortino — nine live rounds of prediction, quoting, and post-quote trading with strict survival rules
Hosted by the Queen Mary Machine Learning Society (March–April 2026), each round gave teams a training table (features + hidden price target). After fitting a model, teams submitted a bid and ask. The tightest spread won the market maker role; everyone else traded against those quotes once they were visible. The true price was then revealed and P&L updated. Negative equity meant elimination.
Three principles structured our play:
During live finals we used t-distribution (small samples) and normal (large samples) confidence bands around predictions, adjusted for residual skew and kurtosis where relevant, and mapped probabilities into Kelly-style sizes with conservative floors and ceilings.
The nine synthetic assets behaved very differently: some were almost noiseless linear problems, one benefited from gradient boosting, several were effectively unpredictable (mean baseline), and one tiny high-R² dataset had an influential point we analysed explicitly (Cook's distance) before deciding to keep it for stability. The repo ships the per-round notebooks and the consolidated Python tooling for replication.
Open source on GitHub: training CSVs, round notebooks, strategy.py (pre-finals pipeline), kelly_based_strategy.py (interactive live sizing), and market_maker_prices.py (quote scenarios).