← All features
Measure · Pro

How to compare your portfolio with the S&P 500 — fairly.

Most comparisons go wrong in the same place: they put a percentage that includes your deposits next to an index return that assumes all the money went in on day one. Here is the method, step by step, then a worked example where the same portfolio looks behind or ahead depending on which number you use.

How do I compare my portfolio’s return with the S&P 500?

  1. 1

    Write down every cash flow, with its date

    List each deposit and withdrawal and the day it happened, plus the portfolio’s value at the start and at the end. If you don’t track cash separately, treat each buy as money in and each sale you took out as money out. Dividends you leave in the account are part of the return, not a cash flow.

  2. 2

    Choose the question: money-weighted or time-weighted

    A money-weighted return (XIRR) answers “what did my dollars earn?” — it counts when you added money, so adding just before a strong stretch helps you. A time-weighted return (TWR) chains together the returns between cash flows, so the timing of your deposits drops out; it answers “how did the holdings do per dollar?”, which is how funds report. Neither is wrong. The returns methodology explains exactly how Tradune computes the money-weighted one.

  3. 3

    Use SPY’s total return, not the index price

    The S&P 500 index level you see quoted leaves out dividends. A fair benchmark is an S&P 500 fund such as SPY with its dividends reinvested — a dividend-adjusted, or total-return, price series. Comparing your total return against a price-only index flatters you by roughly the index’s dividend yield every year.

  4. 4

    Give the benchmark your exact cash flows

    For a money-weighted comparison, pretend each of your deposits bought SPY on the same day instead — a “SPY twin” — and solve the same XIRR for it. For a time-weighted comparison, measure SPY over the identical window. The free beat-the-market calculator runs this comparison in your browser on the numbers you enter, with no account.

  5. 5

    Don’t annualize less than a year

    Three good months scaled up to a yearly rate is a number nobody earns. Under a year, compare cumulative returns over the same dates. Remember too that commissions you paid reduce your return, while an index fund comparison usually assumes none.

  6. 6

    Read the gap as history, not a forecast

    The difference tells you what your choices added or cost over that period. A year or two of outperformance is often luck, and the gap says nothing about the next period.

Worked example: why deposits distort a naive comparison

An investor puts $10,000 in on January 2 and another $10,000 on July 2. Their stocks return +5% in the first half and +10% in the second. Over the same year a hypothetical SPY path returns +20% in the first half and nothing in the second. The SPY twin invests the same $10,000 and $10,000 on the same two dates.

Illustrative only: hypothetical returns, not SPY’s actual performance in any period. 365 days; second deposit on day 181; XIRR on ACT/365.
StepYour portfolioSPY twin (hypothetical)
January 2: money in$10,000$10,000
First-half return+5%+20%
Value on July 2, before the deposit$10,500$12,000
July 2: money in$10,000$10,000
Second-half return+10%0%
Value the next January 2$22,550$22,000
Gain on the $20,000 put in+12.75%+10.0%
Time-weighted return+15.5%+20.0%
Money-weighted return (XIRR)+17.18%+13.44%

The naive readings disagree. The account grew from $10,000 to $22,550, “up 125.5%”, but $10,000 of that is the investor’s own deposit. Their gain on money put in, 12.75%, set against the +20% the benchmark returned over the year, makes them look 7.25 points behind.

The time-weighted view says the stock picks lagged per dollar: 1.05 × 1.10 − 1 = 15.5% against 20%, because the first half trailed by 15 points and the second half only beat by 10.

The money-weighted view says the investor’s dollars did better: an XIRR of 17.18% against the twin’s 13.44%, or 3.74 points ahead, and $550 more in the account. More money was at stake in the half where the picks beat the benchmark. Both statements are true; they answer different questions, which is why Tradune shows both and labels which is which.

Why does Tradune do this for you?

Doing the steps above by hand means a spreadsheet of dated flows, a dividend-adjusted price series and an IRR solver that doesn’t pick the wrong root. Being up says little on its own: if the index rose more over the same stretch, you took on stock-picking risk and were paid less than a single fund would have paid you. Tradune takes every deposit, buy, sell and dividend you record and runs the comparison for you.

Your money-weighted return vs a SPY twin

Your return is a money-weighted XIRR on your own cash flows. The twin replays those same flows into SPY using one stored total-return series (adjusted close, dividends reinvested) for SPY and QQQ, so every screen in the app shows the same benchmark number. The difference is labelled “excess return” — never “alpha”, which means something narrower.

Time-weighted curve, statistics, and a weekly ledger

Alongside the money-weighted figure, the Portfolio and Benchmark pages draw a time-weighted (TWR) base-100 equity curve against SPY and QQQ, topped up intraday for today. Beta, correlation and tracking error need at least 20 observations, and an implausible value is suppressed rather than shown. The Portfolio page adds a contribution chart (each holding’s share of capital deployed) and an underwater drawdown chart. Every Sunday the Weekly Review lays out up to 12 weeks: flow-adjusted TWR per week against SPY and QQQ over the identical window, with the excess in points.

Honest when the data is thin

With under a year of history the app shows a cumulative return and refuses to annualise it. If the benchmark series is unavailable or a figure cannot be computed, the app says so instead of showing zero. Returns are labelled by accounting mode: account mode measures net worth against deposits and withdrawals, trade-flow mode measures position value against your trades.

What you get

  • Money-weighted return (XIRR) vs a buy-and-hold SPY twin on your own dates
  • One stored total-return series for SPY and QQQ, used on every screen
  • Time-weighted base-100 equity curve vs SPY and QQQ
  • Beta, correlation and tracking error with a 20-observation floor
  • No annualising under one year; unavailable figures shown as unavailable, not zero
  • Weekly Review: up to 12 weeks of flow-adjusted TWR vs SPY and QQQ
  • Contribution and underwater (drawdown) charts

Frequently asked

What is a SPY twin?

A hypothetical portfolio that receives exactly the cash you put in, on the same dates, and buys SPY with it and holds, dividends reinvested. Comparing your money-weighted return with the twin’s isolates what your security selection and timing did, since the cash flows are identical.

Why money-weighted instead of time-weighted?

They answer different questions. Time-weighted return removes the effect of when you added money, which suits judging a fund manager. Money-weighted return includes it, which is what happened to your dollars. Tradune shows both and labels which is which.

Should I compare against the S&P 500 index or SPY?

Against a total-return series. The quoted S&P 500 index level excludes dividends, so it understates what an index investor actually earned. Tradune uses SPY’s dividend-adjusted price series.

Why does it show a cumulative return instead of an annual one?

Because you have less than a year of history. Scaling a few months up to a yearly rate implies the same pace continues for the rest of the year, which is not something the data shows. Once a year of history exists, the annualised figure appears.

Can I try the idea without signing up?

Yes. The free “Am I beating the market?” calculator runs a simpler version of the same comparison in your browser. The app does it on your full transaction history.

Does beating the S&P 500 mean I should keep doing what I’m doing?

No. It describes what happened over a period; it does not predict the next one, and a short stretch of outperformance is often luck. Tradune shows information about your past results, not advice on what to do next.

Related

Try it on your own portfolio

Free for everyone right now · no card · nothing to buy. Tradune shows you information to do your own research, never advice.

Start free

Educational analytics — not investment advice.