GetHossa

Portfolio analysis

TWR vs MWR: comparing your portfolio to the S&P 500

Why your brokerage's % gain can't be compared with the S&P 500: time-weighted vs money-weighted return, the same-contributions method and dividends.

By Published 14 Oct 2026Updated 20 Oct 20268 min read

Picking your own stocks only makes sense if it beats the alternative you could have had with zero effort: one S&P 500 index fund. Yet most investors check this with a shortcut that doesn't work. They put the percentage gain from their brokerage app next to the index's year-to-date return. If you contribute regularly, that comparison can be off by more than ten percentage points — in either direction.

This guide explains where the gap comes from, how time-weighted return (TWR) differs from money-weighted return (MWR), why dividends matter, and how to run the numbers yourself in a spreadsheet. All figures are illustrative.

Why your % gain doesn't match the S&P 500's return

Brokerage apps usually show your gain relative to what you put in: (account value − net contributions) ÷ net contributions. An index return is something else: the growth of a single dollar invested at the start of the period.

When you invest every month, some of your money has been working all year and some only for a few weeks. Then there is plain luck: a big contribution right before a sell-off drags your percentage down even if your picks were great. A big contribution right before a rally does the opposite and makes you look like a genius.

Example: good picks, negative result

Say you invest $10,000 on January 2 and add a $50,000 bonus on July 1. Your portfolio and the S&P 500 (with dividends) do this:

Period Your portfolio S&P 500
First half +20% +15%
Second half −10% −5%

At year-end your portfolio is worth $55,800: $10,000 × 1.20 = $12,000, then $62,000 after the bonus, then $55,800 after the 10% drop. Had the same amounts gone into an S&P 500 fund on the same days, you would have $58,425.

Measure Your portfolio S&P 500 (same contributions)
Value at year-end $55,800 $58,425
Result on $60,000 contributed −$4,200 (−7.0%) −$1,575 (−2.6%)
Time-weighted return (TWR) +8.0% +9.25%

Put your −7% next to a headline saying "S&P 500 up 9.25% this year" and it looks like you trailed the market by 16 points. You didn't. Your investments returned 8% and the index 9.25%, so you lagged by 1.25 points — $2,625. The rest of the "loss" is the timing of the big contribution, which would have hit an index fund just the same.

TWR vs MWR: two measures, two different questions

Time-weighted return (TWR)

TWR splits the period at every contribution and withdrawal, measures the return of each piece, and chains them together:

TWR = (1 + r₁) × (1 + r₂) × … × (1 + rₙ) − 1

In the example: 1.20 × 0.90 − 1 = +8.0%. The size and timing of your contributions don't matter; only how your investments performed does. That is why TWR is the standard for comparing fund managers and sits at the heart of the Global Investment Performance Standards (GIPS).

Money-weighted return (MWR, or IRR)

MWR is the internal rate of return of your cash flows — what the XIRR function in Excel or Google Sheets calculates. It accounts for how much you invested and when, so it answers "what annual return did my money actually earn?". In the example it comes out at roughly −11.7% a year, because most of the money happened to be invested during the weaker half.

That number matters to you, but it mixes two things: the quality of your picks and your decisions about when to add money. It isn't fair to compare it with a plain index return.

Which one should you use?

Measure Answers Compare it with
TWR Are my investments beating the market? the index's TWR
MWR (XIRR) What annual return did my money earn? the index's XIRR with the same cash flows
Gain on contributions How far am I above what I put in? the same contributions invested in the index

In practice, look at two things side by side: your TWR next to the index's TWR, and your account value next to what the same contributions would be worth in the S&P 500.

The "same contributions into the S&P 500" method

This is the most intuitive comparison. For every dollar you contribute, you "buy" the index on the same day; for every withdrawal you "sell" the same amount of it. At the end you compare two numbers: what you have, and what you would have had with an S&P 500 fund instead of your picks.

Because the dates are identical on both sides, good or bad timing cancels out. What remains is the effect of your own decisions: stock selection, when you bought and sold, trading costs, and cash left idle.

Price index or total return?

The S&P 500 level quoted in the news (^GSPC) is a price index: it ignores dividends. S&P Dow Jones Indices also publishes a total return version that reinvests them. Your portfolio collects dividends, so compare yourself with the total return version.

The gap is roughly the index's dividend yield, which in recent years has been around 1–2% a year. Small in one year, large over a decade.

A free, practical proxy is the adjusted close of SPY, the largest S&P 500 ETF (the Adj Close column on Yahoo Finance), which accounts for dividends and splits. SPY charges a small expense ratio, so it trails the total return index slightly. In a taxable account your dividends are also taxed, while the index assumes everything is reinvested — so a small shortfall on your side is normal (see our guide to how US dividends are taxed).

If you hold international stocks, measure everything in dollars: your return in USD against the S&P 500 in USD. Currency moves then show up in your result, as they should — they were part of your decision.

How to compare your portfolio to the S&P 500 in a spreadsheet

  1. List every contribution and withdrawal with dates and amounts across all your brokerage accounts. Transfers between your own accounts don't count — they're not new money. Our guide on tracking a portfolio across several brokerages shows how to collect them.
  2. Download SPY's history (the Adj Close column) for the whole period from Yahoo Finance, in a single download.
  3. Build a "shadow index" table:
Column Content Formula or source
A Date your statements
B Contribution (withdrawals negative) your statements
C SPY Adj Close Yahoo Finance
D SPY shares "bought" (sold) B ÷ C
E Cumulative shares previous E + D
  1. Value the shadow portfolio today: the last value in column E × today's SPY price. Compare it with the value of your accounts, cash included.
  2. Calculate TWR. For the index it is simply the change in SPY's adjusted close from the first day to the last. For your portfolio you need its value on every contribution day; for each sub-period r = ending value ÷ (starting value + contribution) − 1, then multiply all the (1 + r) and subtract 1.
  3. Calculate MWR with XIRR: contributions as negative numbers with their dates, today's value as a positive number with today's date. Do the same for the shadow index.

Watch out: Yahoo Finance recalculates the whole Adj Close history after every new dividend. Don't mix prices downloaded on different days.

Step 5 is the hard part by hand: it needs a valuation of every holding on every contribution day. With monthly contributions, month-end values are a reasonable approximation.

How GetHossa does it

If you'd rather skip the spreadsheet, GetHossa's S&P 500 comparison does this automatically. Import an Interactive Brokers statement or add trades by hand, and the app "buys" the S&P 500 with exactly the same amounts on the same days. The index is tracked through SPY's adjusted close, so dividends are included. Next to it you see your portfolio's TWR, chained daily and independent of when you contributed, plus each position's result against the index since you bought it.

Common mistakes when comparing with an index

  • Using the price index. Comparing with ^GSPC flatters you by the dividend yield every year.
  • Cherry-picked dates. Starting from the March 2020 low, or from your best month, says little. Use the same period on both sides, ideally from your first contribution.
  • Simple % gain with regular contributions. As the example shows, −7% on contributions and +8% TWR can be the same portfolio.
  • Leaving out cash and closed positions. Counting only what you hold today hides losses on positions you sold and the drag of idle cash.
  • Counting transfers as contributions. Moving shares from one brokerage to another isn't new money.
  • Too short a horizon. A quarter or a year is mostly noise. Skill shows up over several years.

Summary

  • With regular contributions, the % gain in your brokerage app can't be compared with an index.
  • Compare your TWR with the index's TWR, or your account value with the same contributions invested in the S&P 500.
  • Use the total return index, measure in dollars, and always compare the same period.

Want to see your portfolio next to the S&P 500 without a spreadsheet? GetHossa is free during the beta.

This article is for educational purposes only and is not investment advice.

Frequently asked questions

How do I know if I'm beating the S&P 500?+

Compare your time-weighted return (TWR) with the S&P 500's total return over the same period, or compare your account value with what the same contributions, made on the same days, would be worth in an S&P 500 fund. Your brokerage's simple % gain isn't comparable if you added money over time.

What is the difference between TWR and MWR?+

Time-weighted return (TWR) measures how your investments performed regardless of when and how much you contributed. Money-weighted return (MWR, or IRR — what XIRR calculates) accounts for the timing and size of your contributions, so it shows the annual return your money actually earned.

Why is my return lower than the S&P 500 even though my stocks did better?+

Usually because of contribution timing: money added recently or right before a drop drags down a return calculated on contributions. Compare TWR with TWR, or the same contributions invested in the index.

Should I compare with the S&P 500 including dividends?+

Yes — use the total return index, because your portfolio receives dividends too. SPY's adjusted close is a free, simple proxy.

Over what period should I compare my portfolio with the index?+

Ideally from your first contribution and over several years. A single quarter or year is driven largely by luck.

Sources

This article is for information and education only. It isn't investment or tax advice. Rules and broker practices change — check the current rules or talk to a tax advisor.

See your portfolio next to the S&P 500

Import your Interactive Brokers history or add trades by hand — GetHossa shows your real return, your TWR and your lead over the S&P 500.

Create account

Read next