Mathematics at Columbia University.
Below is something I built — a fund-analytics and reporting engine, running live in your browser on real market data.
Selected work
Fund analytics & reporting engine
A desktop and web application that turns raw monthly-return spreadsheets into institutional, Morningstar-grade PDF reports — and reads performance straight out of fund factsheets.
It computes 40+ return, risk and distribution metrics, renders 32 chart and table types, and verifies every extracted figure against reference data. The panel below is a live slice of the metric engine, re-implemented in JavaScript on real market data: pick a publicly-traded multi-asset fund, then compare it against MSCI ACWI and any equity/bond blend — the benchmark a balanced fund should actually be judged on.
Performance — growth of 100
Monthly, adjusted · Apr 2008 – Dec 2025Ann. return
–
Volatility
–
Sharpe
–
Sortino
–
Max drawdown
–
Beta
–
Correlation
–
Prob. Sharpe
–
Benchmark is a blend of MSCI ACWI (global equity) and US Aggregate bonds at the weight you choose — slide to pure MSCI or any mix. Sharpe and Sortino are quoted against a 0% cash rate; beta and correlation are relative to the selected benchmark. Probabilistic Sharpe (Bailey & López de Prado) is the probability the true Sharpe exceeds zero given the return series’ skew and kurtosis.
Correlation matrix
Monthly returns · Apr 2008 – Dec 2025The same color-banded matrix the production report renders — here over three multi-asset funds, MSCI ACWI and US Aggregate bonds. The funds move closely with global equity (~0.8) but only loosely with bonds (~0.36): the diversification a multi-asset mandate is paying for.
Under the hood
The production tool behind the demo
The live panel is a deliberately small slice. The full application is a Python codebase covering the analytics, the data plumbing and the delivery.
Analytics engine
40+ metrics with Morningstar-Direct parity — Sharpe, Sortino, alpha/beta, up–down capture, drawdowns, skew and kurtosis — plus the Deflated Sharpe Ratio (Bailey & López de Prado) to correct for selection bias and non-normality. Vectorised NumPy rolling windows over any horizon.
PDF extraction
Reads monthly returns out of fund factsheets by pure coordinate geometry — no ML, fully auditable. Survives watermarks, European decimal formats, eight non-English month spellings and tables split across pages.
Verification
Six independent self-checks per document and a locked 55-factsheet regression corpus. The design target is simple: never silently wrong. Anything uncertain is flagged for review, not quietly guessed.
Data pipeline
Parses performance from Outlook email with fund-specific extractors, fuses live Yahoo Finance and cached market data, then appends to Excel by surgically rewriting worksheet XML — charts, formulas and styles preserved byte-for-byte.
Live rendering
Debounced, off-main-thread Matplotlib keeps a multi-page A4 PDF preview fluid while you reweight portfolios, swap benchmarks or change rolling windows. Generational task queueing discards stale renders so the newest result always wins.
Delivery & QA
2,700+ metric comparisons against reference reports and 80+ numerical edge-case stress tests. Shipped two ways: a packaged Windows executable (PyInstaller) and a Streamlit web build.
About
I’m a mathematics undergraduate at Columbia University, focused on probability, numerical methods and their application to markets. I like problems where the maths has to survive contact with messy real-world data — and where the result has to be correct, fast and shippable.
Before Columbia I built and ran software in production: a payment-settlement data tool used to manage live client transactions, and freelance Python/JavaScript automation. My research background is computational — numerically solving PDEs for a gold-medal iGEM modelling project — which is where the taste for rigorous, verifiable numerical code comes from.
- EducationColumbia University — BA Mathematics (2025–2028)
- A-levelsA*AAA — Maths, Further Maths, Physics, Chemistry
- ResearchiGEM 2024 — gold medal, mathematical modelling (numerical PDEs)
- Honours2× Dean’s List · UKMT Senior Maths Challenge gold
- AlsoMandarin (HSK 4) · chess (2150 peak)