StockVS

Portfolio Backtest

Build a basket of up to 10 stocks and ETFs, weight each one, pick a start date and see what it would have been worth against a benchmark, with or without annual rebalancing.

Data as of October 2, 2026

Start
Rebalancing
Holdings
Total: 100%

Results

From September 30, 2016 to October 2, 2026, in USD

Final value
$24,631
Total return
+146.31%
Annual return (CAGR)
+9.43%
Max drawdown
−21.16% (on month-end closes)
Best year
+21.93% (2019)
Worst year
−16.96% (2022)
SPY (benchmark)
+315.62% ($41,562)
Portfolio SPY
$42,007 $9,827
September 30, 2016 October 2, 2026
Contribution by holding
Holding Weight Invested End value Own return Contribution
VTI 60% $6,000 $15,708 +297.10% +141.35%
BND 40% $4,000 $8,923 +11.72% +4.97%

Own return is the change in the holding’s adjusted close over the period. With annual rebalancing its end value also includes money moved in or out at each rebalance, so the two need not match.

Example: 60% VTI and 40% BND

$10,000 invested at the close on September 30, 2016 in 60% VTI and 40% BND, rebalanced every year, was worth $24,631 at the close on October 2, 2026: +146.31% in total, +9.43% a year, against +315.62% for SPY.

How the backtest is calculated

  • Every figure comes from daily closing prices adjusted for splits and for dividends and distributions, so it is a total return with those payments reinvested. Fees and taxes are not deducted.
  • A preset start is the last close on or before the same calendar date 1, 3, 5, or 10 years before the latest close; a custom start is the last published close on or before the date you pick. The backtest ends at the earliest of the holdings’ latest closes.
  • When a holding’s price history begins after the start, the whole basket starts at that holding’s first close, and the results say so.
  • Annual rebalancing resets every holding to its target weight at the last close of each calendar year. Without it, the units bought at the start are held unchanged and the weights drift with prices.
  • Prices are daily over the last year, weekly up to five years back and monthly before that. The maximum drawdown is the largest fall from a peak on those closes, and the best and worst years are complete calendar years.
  • Every holding must trade in one currency, US dollars or Canadian dollars; a basket that mixes them is refused rather than converted. The benchmark is SPY (State Street SPDR S&P 500 ETF Trust) for a US-dollar basket and XIC.TO (iShares Core S&P/TSX Capped Composite Index ETF) for a Canadian-dollar basket.