Benchmarking

Is your portfolio beating the S&P 500? Here's how to actually check

Your portfolio is up 40% over three years. The S&P 500 is up 35%. You're winning, right?

Probably not. And the reason is deposits.

Why the naive comparison fails

Index returns assume you invested everything on day one and never touched it. Real people invest monthly, sell things, sit on cash for a while. If you deposited most of your money during a dip, your simple return looks great. If you deposited right before one, it looks terrible. Neither number tells you whether your choices beat the index.

Look closely at what the two numbers in the opening actually measure. The 35% is the index's return on a single lump sum, held untouched for the full three years. Your 40% is the return on a stream of deposits that arrived over those three years, most of which were only invested for part of the period. The two figures share a start date, an end date, and nothing else. Comparing them is like comparing the fuel economy of two cars when one of them spent half the trip on a trailer.

This cuts both ways, which is what makes it so misleading. An investor who kept adding money through 2022's slide and then rode the recovery can post a percentage that embarrasses the index chart without a single good stock pick. An investor who made one large deposit at a peak can trail the chart badly while holding perfectly sensible funds. The naive comparison rewards and punishes timing luck, then presents the result as skill.

What a benchmark is actually for

A benchmark index is a rule-based basket of stocks, the S&P 500 being roughly the 500 largest US companies weighted by market value, that anyone can buy cheaply through a tracker fund. Its job in your bookkeeping is to stand in for the boring alternative: the return you would have earned by making no decisions at all beyond "put the money in and leave it." Every hour you spend reading earnings reports, every conviction position, every rebalance is implicitly a claim that you can do better than that alternative. Benchmarking is just checking the claim.

One technicality matters more than it sounds: indexes come in a price version and a total-return version. The price version ignores dividends; the total-return version assumes they're reinvested. Since your own portfolio presumably receives its dividends, the only fair comparison is against total return. The price chart you see quoted in headlines is the flattering one, and using it quietly hands you an edge you didn't earn.

The fair comparison: same money, same dates

The honest method is to replay your own cash flows into the benchmark. Every time you bought €500 of stock, pretend you bought €500 of an S&P 500 tracker on the same day. Every sale, same thing. At the end you have two portfolios: your real one, and the ghost portfolio of the investor who made identical deposits but zero stock-picking decisions.

That ghost is your benchmark. Not the index's price chart, the index with your timing.

Notice what this construction does: it holds your timing constant on both sides of the comparison. Whatever luck, good or bad, is baked into when your money arrived, the ghost portfolio inherits it identically. The only remaining difference between the two end values is what you did with the money once it landed. That difference is your stock selection, isolated and measurable, which is precisely the thing the naive comparison can never show you.

A worked example with round numbers

Say you deposited €1,000 on January 1, when a total-return index tracker stood at 100, and another €1,000 on July 1, after a rough spring had knocked the tracker down to 80. By December 31 the tracker has recovered to 110.

The ghost portfolio bought 10 units in January (€1,000 ÷ 100) and 12.5 units in July (€1,000 ÷ 80), for 22.5 units in total. At year-end those are worth 22.5 × 110 = €2,475 on €2,000 of deposits: a gain of 23.75%.

Now suppose your real portfolio, the one with the actual stock picks, ended the year at €2,300. That's +15% on your deposits. The index chart for the calendar year shows +10% (100 to 110), so the naive comparison says you beat the market by five points. The honest comparison says the opposite: an investor with your exact deposits and no opinions ended the year with €175 more than you did. Your mid-year deposit landed at the low, and the ghost portfolio got full credit for it; your stock picks then gave a chunk of that advantage back. Same data, opposite verdict, and only one of them is true.

What people find

Morningstar's yearly "Mind the Gap" studies keep finding that investors' actual money-weighted returns trail the very funds they hold by roughly 1–1.5% per year, pure timing. Add stock selection versus a simple tracker and the total gap is typically larger. Some genuinely beat it. Most don't, and, this is the important part, most can't tell either way, because nobody does the ghost-portfolio math by hand.

It's a spreadsheet nightmare: every cash flow, historical index prices, currency conversion if you're a European buying US stocks.

Memory doesn't help, either. Unaided self-assessment leans heavily on the positions still open in the app, the ones that survived. The stock you sold at a 30% loss in 2022 no longer appears anywhere, so it no longer appears in your mental average. A proper benchmark run uses the full transaction history, closed positions and fees included, which is exactly why its answer so often disagrees with the gut feeling.

Doing it in practice

You need three things: your full transaction history (your broker's export has it), daily historical prices for the benchmark, and FX rates for the same dates. Then simulate: units bought = cash flow ÷ the total-return index level that day (use total return or an accumulating tracker's price, the plain price index quietly drops the index's dividends and rigs the comparison in your favor), accumulate, repeat for every transaction you ever made.

In practice the workflow looks like this:

  1. Download the transaction export from every broker you use. If you hold accounts at more than one, they all belong in one ledger; see tracking multiple brokers in one dashboard.
  2. For each cash flow, convert to the index's currency at that day's rate, buy or sell ghost units at that day's total-return level, and keep a running unit count.
  3. Value the ghost portfolio at today's level, convert back to your currency, and set it next to your real portfolio's value.

Or skip the spreadsheet: BullBenchmark runs this exact simulation on your broker export automatically, for the S&P 500 and QQQ, in your own currency. Ten minutes from export to answer.

Mistakes that quietly rig the comparison

A few habits reliably produce a flattering but wrong answer. Using the price index instead of total return, already mentioned, is the most common. Starting the comparison at a convenient date, typically just after your worst purchase, is the second. Ignoring currency is the third: a euro investor's return on US stocks includes the dollar's moves, so the benchmark simulation has to include them too, or the comparison drifts by whatever EUR/USD did. And leaving out fees and closed positions, the fourth, turns bookkeeping into autobiography. The whole point of the exercise is that the same rules apply to both portfolios, yours and the ghost's, with no editorial discretion anywhere.

What to do with the answer

If you're ahead of your ghost, you now know it's real and not deposit-timing luck, and you have an actual reason to keep picking. If you're behind, you know the size of the leak, and you can decide in plain numbers whether the hobby is worth its price, a decision covered in the real cost of never benchmarking. Either way, the result only means something against the index you'd genuinely buy instead; picking that one honestly is its own small discipline.

Fair warning: a lot of people who check don't like the answer. But you're investing real money on the assumption that you're on the right side of that split. Worth knowing.

The first week of BullBenchmark is free, no card, upload the export you just downloaded and see where you stand.

Related: Time-weighted vs money-weighted return · S&P 500 or QQQ as your benchmark?