Example analysis
Historical analysis only. Not investment advice.
Holdings
Loaded with the example. Change anything, then run it live.
Saved portfolios
Saved in this browser only. Other visitors cannot see them, nothing is sent to the server, and they are lost if you clear this site's data or use a private window. Inputs are saved, not results.
Growth of $1
Each line starts at $1 on the first trading day shown. Holdings are drawn in grey; choose one above to pick it out.
Drawdown
How far the portfolio sat below its highest value so far, each day.
Volatility and Sharpe ratio
Correlation of daily returns
1.00 means two holdings moved in lockstep. Lower values diversify more.
How it works
The pipeline
A FastAPI service downloads adjusted daily closes from Yahoo Finance with yfinance, caches them in SQLite for up to 24 hours with a record of each fetch, and computes every figure with pandas. This page only draws what the API returns.
The example was computed ahead of time by the same code, so the page is useful before the free-tier service wakes up.
The rules
- Buy and hold: weights are set on the first day and drift with prices. Nothing is rebalanced.
- Adjusted closes, so splits and dividends are included. 252 trading days a year.
- Only dates on which every holding traded are used. Gaps are reported, never filled.
- Sharpe ratio uses the risk-free rate you enter, converted to a daily rate.
Limits
- Yahoo Finance is an unofficial source. It can rate-limit or fail, and the page says so instead of guessing.
- Every figure describes one historical window and moves with its start and end dates.
- Nothing here predicts returns or recommends a holding.