Replicate the S&P 500 with 50 stocks.
Mathematically.
A custom ADMM solver tracks any major index with ~10% of its constituents. R² = 0.97 across 8 regimes, 13.14% annualised return, Sharpe 0.67 on the 2018–2025 walk-forward — net of 10 bps round-trip costs.
Stocks held
50
of 502 (S&P 500)
Sharpe
0.67
2018–2025
Tracking err
4.25%
annualised
Markets
4
US + India
Built like a production quant project, not a hackathon demo.
Every claim on this page is reproducible from the public repo — curve, cost model, baseline, factor regression, and all.
Custom ADMM solver
Cholesky-factorised w-update, Boyd adaptive-ρ, primal+dual stopping.
≥10× faster than CVXPY
Same optimum to 6 d.p. on (n=120, p=502); ~1 060× vs MOSEK MIQP.
8-regime stress-tested
COVID, Volmageddon, 2022 hikes, AI bull, quiet 2024 — R² 0.92–0.97.
Walk-forward 2018→2025
Weekly rebalance, 10 bps round-trip, Fama-French 3F regression.
4 markets supported
S&P 500 · Nasdaq-100 · Russell 2000 · Nifty 50.
Live API
FastAPI · Pydantic v2 · Redis · slowapi rate-limit · /openapi.json.
Open source
MIT-licensed, 274 pytest, ruff/black/mypy clean, GitHub Actions CI.
Production deployed
Multi-stage Dockerfile · Azure Container Apps target · App Insights.
Built with
- Python 3.11
- FastAPI
- NumPy
- CVXPY / MOSEK
- Next.js 16
- TailwindCSS
- Vercel
- Azure