1) Portfolio
Normalize to 100%
Ticker | Weight % | |
---|---|---|
Total | 0.0% |
How to build a simple, balanced portfolio
Add 2–6 tickers. Click Equal weight to split 100% evenly. You can tweak weights anytime.
2) Need data? Generate a Python notebook snippet (Daily, 5 years + dividends)
One CSV per ticker with
date,close,dividend
.
How it works: The script downloads 5 years of daily data and writes CSVs (including cash dividends) into a folder, then zips them for easy download.
Quick tutorial: Google Colab
1) Click Open Colab → New Notebook → paste code → Run All.
2) A zip appears in the left Files pane → right-click Download.
3) Back here, drag the CSVs into the dropzone below (you can drop many at once) or click to select multiple.
2) A zip appears in the left Files pane → right-click Download.
3) Back here, drag the CSVs into the dropzone below (you can drop many at once) or click to select multiple.
3) Data (upload or drag & drop CSVs)
Drop your CSV files here (multiple supported)
Or click this area to select files — you can multi-select
Or click this area to select files — you can multi-select
CSV schema: date,close
(required) and optional dividend
.
One file per ticker; filename should start with the ticker ( AAPL_prices.csv
).
Loaded data
What counts as “good” data?
More rows = better estimates. ~2–5 years of consistent daily data gives more stable covariance. The app aligns dates across tickers and uses overlapping periods only.
4) Monte Carlo (simulate future portfolio paths)
We infer observation frequency (daily/weekly/monthly) from your uploaded data and simulate correlated log-returns using historical mean/covariance.
Expected Annual Return (median)
–
Annual Volatility (median)
–
Sharpe (rf=0, median)
–
Max Drawdown (median)
–
What do these charts mean?
Histogram: each bar shows how many simulated paths ended at that final value. More mass to the right = higher chance to end richer.
Percentile Fan: the bands show where your portfolio might be over time. The middle line (p50) is the median path; p05/p95 is a “likely” envelope. If p05 dips a lot, your worst-case drawdown risk is high.
Percentile Fan: the bands show where your portfolio might be over time. The middle line (p50) is the median path; p05/p95 is a “likely” envelope. If p05 dips a lot, your worst-case drawdown risk is high.
5) Efficient Frontier (risk vs return)
We sample many weight combinations (sum to 100%) using your historical mean and covariance, annualize them, and plot volatility (x) vs expected return (y). We highlight:
Current, Min Vol, Max Sharpe, and show their weights.
Annual Expected Return ($)
6) Dividends & Total Return
Rolling Dividend Yield: trailing 12-month cash dividends ÷ current price.
Total-Return vs Price: shows the effect of reinvesting dividends (compares plain price index vs total-return index).
Total-Return vs Price: shows the effect of reinvesting dividends (compares plain price index vs total-return index).
Dividend Income Projection (portfolio-level)
We build a blended portfolio dividend yield over time from your tickers (weighted by your current weights).
The chart shows annual dividend dollars through time, with and without reinvestment.