◪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.

What are you actually holding?

Paste your positions. You’ll get the same backtest as the main tool, plus a “reality check”: which known risk factors explain your returns, how much your entry date flattered the record, and a rules-based read on what to watch.

Try:
60% VTI30% VXUS10% BND

Nothing is saved or sent anywhere but the pricing API. Funds are matched to a long-history asset-class proxy (a total-bond fund → the total-bond index); individual stocks use their own record where we have it. Crypto is dropped — no comparable long history.

How your symbols were matched: VTI → US large cap (S&P 500) (proxy) · VXUS → International (ex-US) (proxy) · BND → US total bond market (proxy)
1996-05 – 2026-07 · 363 months

Notes on this portfolio

A rules-based read — not advice. Each point names the number that triggered it so you can weigh it yourself.

Moves with the stock marketWorth knowing

Monthly returns correlate 0.98 with US stocks despite the bond allocation — the equity sleeve dominates the risk. If the point of the bonds is ballast, longer-duration Treasuries do more of that job than a total-bond fund.

Entry date mattered a lot12 pts of spreadWorth knowing

Depending on which year you'd started, the annualized return ranges from 7.1% to 19.1%. A single headline CAGR hides that. Dollar-cost averaging in narrows the gap.

96% explained by known factorsR² 0.96Looks fine

Almost all of this portfolio's ups and downs come from well-documented exposures — market, size, value, profitability, investment, momentum — not from anything unique. That's reassuring: the historical record for those premia is long.

Portfolio Lab isn’t a licensed adviser and doesn’t know your taxes, timeline, or the rest of your finances. This is a mechanical check on the numbers above, nothing more.

What’s actually driving this portfolio

Every monthly return regressed on the Fama–French 5 factors plus momentum, 1996-05–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
96%

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

Unexplained return (alpha)
-0.9%/yr

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

Rolling 5-year market beta has ranged 0.80–0.99 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.

1996–2024
← if you had started earlier2024 →
■ worst outcome■ best outcomespread: 12 pts
60% US large cap30% International10% US total bond
Grew to
$122,136
from $10,000
CAGR
+8.6%
S&P: +10.2%
Volatility
13.7%
annualized
Max drawdown
-49%
S&P: -51%
Worst year
-34.9%
best +30%
Sharpe
0.51
Sortino 0.69

Growth of $10,000

May 1996 – Jul 2026 · 363 months of history

Your portfolio 100% S&P 500 60 / 40

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

Drawdowns

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

Calendar-year returns

72.4% 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 year351×-41.6%+1.1%+12.9%+19.0%+51.3%23.1%
3 years327×-14.4%+5.0%+8.8%+13.3%+22.8%16.5%
5 years303×-4.0%+2.8%+7.7%+11.1%+19.5%9.6%
10 years243×-1.2%+5.5%+7.7%+9.5%+13.3%1.6%
15 years183×+4.1%+5.4%+7.2%+8.5%+12.4%0%
20 years123×+4.3%+6.3%+7.6%+8.4%+9.1%0%

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
Dot-com bust 2000-09–2002-09-38.7%-44.1%-21.6%
Global Financial Crisis 2007-11–2009-02-48.7%-50.9%-30.7%
2018 Q4 selloff 2018-10–2018-12-11.6%-14.3%-8.4%
COVID crash 2020-01–2020-03-18.8%-20.9%-11.2%
2022 stocks & bonds 2021-12–2022-09-20.9%-22.1%-19.0%

Correlation of monthly returns: 0.98 to US stocks, 0.19 to US bonds. A classic 60/40 over the same window returned 8.1% 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.