← All work

Project 02 / 03 — 2026

Portfolio Risk Dashboard

Three independent estimates of how much a portfolio can lose on a bad day — and the tail beyond that — computed side by side so you can see where they disagree.

Role
Solo — risk engine (dashboard in progress)
Stack
Python, NumPy, pandas, SciPy, scikit-learn, yfinance
Year
2026
Links
Illustrative daily P&L distribution with the 95% VaR cutoff and CVaR tail marked

Problem

A single Value-at-Risk number hides its assumptions. Historical VaR assumes the past repeats; parametric VaR assumes returns are normal; Monte Carlo assumes your covariance estimate is right. Running all three on the same portfolio shows you where those assumptions break.

Approach

Design notes

The risk engine is a pure-Python package (risk/) with no web dependencies, so each estimator can be unit-tested on its own. The dashboard front end sits on top of it and is still being built.