◪Portfolio Lab
  • Backtest
  • Your holdings
  • Compare
  • About

For education, not advice. Backtests use monthly total returns of low-cost index funds as asset-class proxies. Past performance does not predict future results — a portfolio that looked great over one historical window can do poorly over the next. Fund fees beyond the index funds’ own, taxes, bid/ask, and your own behavior are not modeled.

Data: Vanguard index funds & ETFs and US CPI, via public sources. Sister projects: Earnings Gap Research · Volatility Risk Premium Lab · Options Signal Bot.

Backtest any portfolio.

Pick an asset mix — or start from a classic — and see how it would have done across decades of real returns: growth, drawdowns, worst years, and every crash. The URL updates as you go, so you can share exactly what you built.

Start from a classic
US large cap (S&P 500)
VFINX · from 1926-07
%
US total bond market
VBMFX · from 1953-05
%
Total: 100%
60% US large cap40% US total bond
Grew to
$6,472,828
from $10,000
CAGR
+9.2%
S&P: +11.3%
Volatility
9.5%
annualized
Max drawdown
-31%
S&P: -51%
Worst year
-20.2%
best +31%
Sharpe
0.55
Sortino 0.79

Growth of $10,000

May 1953 – Jul 2026 · 879 months of history

Your portfolio 100% S&P 500 60 / 40

Growth of $10,000, nominal, rebalanced annual. May 1953 – Jul 2026.

Drawdowns

Decline from the prior peak. Worst: -31% (Oct 2007 → Feb 2009, recovered Dec 2010).

Calendar-year returns

80.6% of full years were positive. Partial years at the ends are shown but excluded from that count.

If you’d held for…

Annualized return over every N-year holding period in the sample — the spread between the columns is how much your entry timing mattered.

Holding periodWorst25th pctMedian75th pctBest% negative
1 year867×-25.8%+3.4%+10.7%+16.3%+50.5%17%
3 years843×-6.5%+6.4%+8.9%+12.4%+23.2%6.9%
5 years819×-1.8%+6.1%+8.9%

How it held up in the crashes

Total return through each episode, on month-end data. Real intramonth losses (Oct 1987, Mar 2020) were sharper than monthly figures show.

EpisodeYour portfolioS&P 50060/40
1973-74 bear market 1973-01–1974-12-22.9%-41.8%-22.9%
Black Monday (Oct 1987) 1987-09–1987-11-19.6%-29.8%-19.5%
Dot-com bust 2000-09–2002-09-22.1%-44.1%-21.6%
Global Financial Crisis 2007-11–2009-02-30.8%-50.9%-30.7%

Correlation of monthly returns: 0.97 to US stocks, 0.39 to US bonds. A classic 60/40 over the same window returned 9.3% a year with a -31% worst drawdown. Figures are gross of taxes and of any fees beyond the underlying index funds'. Drawdowns and crisis returns use month-end prices and understate intramonth pain.

What’s actually driving this portfolio

Every monthly return regressed on the Fama–French 5 factors plus momentum, 1963-07–2026-06. This is the standard academic decomposition of "where did the returns come from".

Faded bars aren’t statistically distinguishable from zero (|t| < 2).

Explained by known factors
95%

95% of the month-to-month variation comes from these six well-documented exposures. The rest is portfolio-specific.

Unexplained return (alpha)
+0.0%/yr

t-stat 0.1. Not statistically different from zero. Treat it as noise.

Rolling 5-year market beta has ranged 0.51–0.78 over the sample — the portfolio’s stock-market sensitivity is not constant.

How much did the start date matter?

Same portfolio, same end date, different start year. If these squares aren't roughly uniform, the headline return is partly an accident of when the sample begins.

1953–2024
← if you had started earlier2024 →
■ worst outcome■ best outcomespread: 8 pts
+11.9%
+21.7%
0.6%
10 years759×+0.7%+6.7%+8.6%+11.7%+15.5%0%
15 years699×+4.3%+6.8%+8.3%+10.7%+15.4%0%
20 years639×+5.3%+7.3%+8.3%+10.6%+14.8%0%
2018 Q4 selloff 2018-10–2018-12-7.9%-14.3%-8.4%
COVID crash 2020-01–2020-03-10.5%-20.9%-11.2%
2022 stocks & bonds 2021-12–2022-09-18.0%-22.1%-19.0%