Mohamed Rodani

Mohamed Rodani

Physics undergraduate at Queen Mary University of London with a particular interest in machine learning research, quantitative systems and scientific computing. Open to 2026–27 internships and spring weeks in ML engineering or quantitative research, in London.

Flagship · Quantitative ML · Team of two · Mar–Apr 2026

QMML Market Making Hackathon

Nine live rounds: predict a hidden fair value from an anonymised feature table, quote a bid and ask, then trade against whichever team became market maker. The edge came from quoting wide, sizing up only where cross-validation backed a strong linear fit, and trading the minimum everywhere else.

simulated bankroll, from £100,000
£305,727
behind 1st place
£1,153
rounds traded at minimum size
6 of 9

Mine: prediction models, model selection, strategy and the tiered sizing logic. Kieran Cooke: EDA, feature engineering and the Kelly implementation.

Model selected per stock and the sizing tier it justified
StockModelR² (in-sample)Sizing
1Linear regression0.98Big
2Linear regression0.96Big
3Linear regression0.93Moderate
4Gradient boosting0.27Minimum
5Ridge (α = 100)0.20Minimum
6Mean baseline0.00Minimum
7Ridge (α = 100)0.04Minimum
8Ridge (α = 100)0.04Minimum
9Mean baseline0.00Minimum
Nine synthetic stocks, one round each, as selected by strategy.py. Sizing: big ≈ 15% of bankroll at risk over a 2·RMSE move, moderate ≈ 5%, minimum = 10 shares. Cross-validated RMSE per stock is in the case study.

ML systems · Team of two · December 2025 → 2026

Gweizy — gas-price forecasting for the Base network

Winner of the QMUL AI Society × Coinbase hackathon: a live pipeline that samples Base gas prices every five minutes and serves 1 h / 4 h / 24 h forecasts from a Flask API to a React front end. Only the one-hour forecast beats chance, and the case study says so.

1 h directional accuracy, against a 50% baseline
59.8%
R² at 1 h: a weak but real signal
0.071
five-minute samples by mid-December 2025
26,128

Mine: backend, data pipeline, models, API and deployment. Senan: React front end.

  1. Base RPCbase fee per block, rotating endpoints
  2. Collector5-minute sampling → PostgreSQL
  3. Featureslags, rolling stats, momentum, cyclical time
  4. Models1 h / 4 h / 24 h regressors + spike classifiers
  5. Flask APIREST + Socket.IO, TTL cache
  6. Front endReact / TypeScript on Cloudflare Pages
Data path from chain to decision interface. Backend on Railway; models retrained from the collected history with a holdout baseline check.

NLP · Solo project · 2025

BERT financial sentiment — optimising for the class that matters

Fine-tuned bert-base-uncased on 5,842 financial sentences, 15% of them negative; the first model scored 81.5% accuracy while missing 71% of negative examples. Class-weighted loss largely fixed that for two points of accuracy, at a cost in negative precision.

negative recall, up from 28.6%
87.4%
negative precision, the cost
52.8%
labelled sentences, 15% negative
5,842
Validation set (1,169 sentences), before and after class weighting
MetricOriginalImproved
Negative recall28.6%87.4%
Negative F10.410.66
Accuracy81.5%79.4%
Single 80/20 split, seed 42. Accuracy went down; the metric that matters for a bad-news detector went up.

Tabular ML · Solo entry · November 2025

Kaggle Playground S5E11 — loan-default prediction

LightGBM tuned with Optuna and scored on the same five stratified folds throughout. The write-up keeps the ideas that failed next to the one that helped.

private leaderboard AUC
0.92450
final rank, 950th of 3,850
Top 25%
ideas that made CV worse
2 of 3
Out-of-fold ROC-AUC, five stratified folds
ExperimentCV AUCDecision
Tuned LightGBM baseline0.923351Keep
+ engineered ratio features0.922625Drop
LightGBM / XGBoost / CatBoost blends0.922904 /
0.922999
Drop
5-seed average + external statistics0.923682Submit
The submitted run scored 0.92450 on the private leaderboard, about 0.0008 above its CV estimate.

BSc Physics, Queen Mary University of London (2025–2029, expected). A-levels in Mathematics, Further Mathematics and Physics.

The fastest route is email. I reply to every message about roles, research or collaboration.