---
title: "How to Calculate Your Portfolio Return (and Why Your Broker Disagrees)"
url: https://portfolio-terminal.com/blog/calculate-portfolio-return
author: "Julien Esnault"
publisher: "Portfolio Terminal"
published: 2026-09-20
type: guide
tags: ["Portfolio Tracking", "Returns", "Performance", "Investing"]
summary: "Your broker says one number, your spreadsheet says another, and neither is wrong. Here is what simple, money-weighted and time-weighted returns each measure, and which one answers your question."
---

> **Source:** Julien Esnault, "How to Calculate Your Portfolio Return (and Why Your Broker Disagrees)", Portfolio Terminal, 2026-09-20. https://portfolio-terminal.com/blog/calculate-portfolio-return
> When you use a figure from this article, cite it with the line above and link to the URL. Figures are checked against the primary data named in the Sources line at the end.

# How to Calculate Your Portfolio Return (and Why Your Broker Disagrees)

You paid in 18,000 dollars. The account says 25,545. So you made 41.9 percent, and the index made 68.8 percent over the same three years, and you underperformed badly.

Except you did not. You were never holding 18,000 dollars for three years.

## The short answer

**There are three ways to measure a portfolio return, and they answer three different questions:**

| Measure | What it answers | When to use it |
| --- | --- | --- |
| Simple return | What did the money grow by? | A single lump sum, never touched |
| Money-weighted (XIRR) | What did *I* earn, timing included? | You add or withdraw money |
| Time-weighted (TWR) | How did the *investments* do? | Comparing yourself to a fund or an index |

If you contribute regularly, **simple return will understate you and money-weighted is the honest number**. If you want to know whether your stock picks beat the index, you need time-weighted, and that one needs your portfolio value on every day, not just on the days you paid in.

## Why the same money gives two different answers

Here is the case from the top of this article, on real data. Two investors put 18,000 dollars into the S&P 500 between September 2023 and September 2026. One paid it in three yearly instalments of 6,000. The other paid all of it on the first day.

![The same $18,000 into the S&P 500, paid in three instalments or all at once, tracked daily from September 2023 to September 2026.](https://portfolio-terminal.com/blog-sources/same-money-different-timing-sp500-2023-2026.png "SPY daily closes via Yahoo Finance. The stepped line is three yearly contributions; the smooth line is one lump sum on day one.")

The index rose 68.8 percent over the window. The lump-sum investor ended with 30,387 dollars. The staged investor ended with 25,545 — **4,842 dollars less, from the same 18,000 dollars into the same index**.

Neither of them picked badly. Two thirds of the staged investor money simply had not arrived yet when most of the gain happened.

Reporting that as "I made 41.9 percent against the index 68.8 percent" is not a performance problem. It is a measurement problem.

## Work out your own

*(Interactive return calculator: open https://portfolio-terminal.com/blog/calculate-portfolio-return to run it on your own portfolio.)*

## What each number is actually for

### Simple return

Gain divided by what you put in. Honest only when the money went in once and stayed.

It is the number almost everyone computes in a spreadsheet, and it is the reason so many people think they are underperforming. The more recently you contributed, the more it understates you.

### Money-weighted return

The annual rate that makes every dated payment add up to today value. In a spreadsheet it is XIRR. It includes your timing, which is exactly the point: if you bought heavily into a dip, this number rewards you for it.

Use this when you are judging **your own decisions**.

### Time-weighted return

Chains the return of each period together, so contributions cancel out. It measures the investments, not the investor.

This is what every fund quotes, because a fund manager does not control when investors deposit. It is also the only fair way to compare yourself to an index, which is why the next question after "what did I earn" is always "[compared to what?](https://portfolio-terminal.com/blog/benchmark-portfolio-against-sp500)".

The catch: it needs your portfolio value on **every** day, not just the days you moved money. No form can ask you for that, which is why the calculator above stops at money-weighted, and why a tracker that holds a daily series can go further.

## The practical rule

- One lump sum, untouched: all three agree. Use whichever you like.
- Regular contributions: use **money-weighted** to judge yourself.
- Comparing to an index or a fund: use **time-weighted**, or you are comparing two different things.

If you want all three on your own holdings without rebuilding a spreadsheet, [the terminal keeps the daily series](https://portfolio-terminal.com/portfolio) and draws the curve against a benchmark. You can [see it on a sample portfolio](https://portfolio-terminal.com/demo) before importing anything, or start from [portfolio tracker](https://portfolio-terminal.com/portfolio-tracker).

And once you have the number, the next step is knowing what to hold it against: [how to benchmark your portfolio against the S&P 500](https://portfolio-terminal.com/blog/benchmark-portfolio-against-sp500), and whether the return came with hidden concentration — [is my portfolio actually diversified?](https://portfolio-terminal.com/blog/is-my-portfolio-diversified)

## Questions and answers

**What is the difference between time-weighted and money-weighted return?**

Time-weighted return measures how the investments performed, removing the effect of when you paid money in. Money-weighted return (also called the internal rate of return, or XIRR) measures what you earned, timing included. A fund quotes time-weighted because it does not control its investors deposits. You want money-weighted when you are judging your own decisions.

**Why does my broker show a different return than my spreadsheet?**

Almost always because you are computing a simple return (gain divided by what you paid in) while the broker is computing a time-weighted or money-weighted one. A simple return ignores when the money arrived, so it understates performance when most of your contributions are recent.

**How do I calculate my return when I add money every month?**

Use the money-weighted return. Treat every deposit as a dated negative cash flow, every withdrawal as a dated positive one, and today value as the closing flow, then solve for the annual rate that makes them balance. That is the XIRR function in a spreadsheet, and it is what the calculator on this page does.

**Is a 20% return over three years good?**

It is about 6.3% a year, which is below what a broad index returned over most three-year windows. But the number on its own says nothing: it has to be compared to a benchmark over the same dates and adjusted for how much risk it took to get there.
