Press 1–4 to switch.
MSc Financial Mathematics at King's College London, following a First Class BSc in Mathematics with Computer Science at Brunel.
I build the computational side of finance: derivative pricers that agree with QuantLib, trading systems that survive walk-forward testing, and retrieval infrastructure that holds up under load.
Currently contracting as a full-stack AI engineer while researching how exotic derivatives could be standardised enough to clear centrally.
Download CV ↗US equities, backtested to live routing, Sharpe 1.45 out of sample.
An event-driven trading system for US equities, written for modularity and execution precision. Automated ingestion pipelines run on Linux cron jobs to fetch, sanitise and aggregate five years of daily OHLCV across more than 500 tickers into a high-fidelity SQL history.
Two strategy families were developed and tested: mean-reversion pairs trading and ML-based momentum forecasting. Both were run through survivorship-bias-free data and walk-forward analysis, because a backtest that skips bias mitigation is a marketing document rather than evidence.
Risk management is where the engine earns its keep — dynamic position sizing via the Kelly criterion, volatility scaling, and hard drawdown constraints. Out-of-sample the system returned a Sharpe of 1.45 and a Sortino of 1.90 while holding maximum drawdown to 12%.
The execution layer moved from simulation to live trading through Interactive Brokers, with sub-100ms latency on order routing and real-time state management.
Brunel University London · average 82% · First Class Honours
English (fluent) · French · Arabic
Synthetic passive depth, 8 levels a side. Fills walk the book at price-time priority and re-mark the tape through a √-law impact model.
The full trading terminal is available on desktop.
No position. Send an order, or type BUY 250 ALGO in the command line.
No executions yet.
Why the two prices differ. The analytic figure assumes the barrier is watched continuously. The simulation only checks it 128 times, so paths that dip below 85 and recover between observations survive when they should not — which biases the simulated price upward. The gap closes like 1/√steps. Antithetic sampling narrows the confidence interval without touching that bias.