4 min read

TWR vs XIRR: which return number is telling you the truth?

One is a time-weighted return, or TWR. The other is a money-weighted return, which most tools compute as XIRR. They answer different questions.

Have you ever checked the same portfolio in two tools and gotten two different returns?

Your broker says you are up 11%. The spreadsheet you keep on the side says 4%. Same holdings, same dates. Which number is lying?

Usually neither. One is a time-weighted return, or TWR. The other is a money-weighted return, which most tools compute as XIRR. They answer different questions, and almost nobody tells you which one you are looking at. It is part of why I built OMM. Once you see the difference, both numbers become useful.

What TWR measures

TWR takes each day's return, chains them all together, and strips out the effect of your deposits and withdrawals.

Why strip them out? Because the strategy did not choose when you added money. Say a fund goes up 30% one year and down 10% the next. That sequence happened whether you invested $1,000 or $1 million, in January or in December. TWR measures the sequence and nothing else. It answers one question. How did the strategy do?

This is why fund managers report TWR. It would be unfair to grade a manager on cash flows they never controlled. The same logic applies when you want to judge an approach. Was my stock picking better than an index fund? TWR is the number for that.

TWR=[∏i=1nVi−FiVi−1]−1\text{TWR} = \left[ \prod_{i=1}^{n} \frac{V_i - F_i}{V_{i-1}} \right] - 1
Chain each day's growth factor, backing out that day's cash flow.

What XIRR measures

XIRR looks at every dollar you put in, every dollar you took out, and the date of each one. Then it finds the single annual rate that connects all those cash flows to what the position is worth today. Accountants call this an internal rate of return. XIRR is the same idea computed with exact dates.

It answers a more personal question. How did my money do, given when I put it in?

Timing matters here. Add a big chunk right before a drawdown and your XIRR takes the hit, even if the strategy recovers on paper. Add money near a bottom and your XIRR can beat the strategy's own record. TWR cannot see any of this. XIRR sees nothing else.

∑i=0nCFi(1+r)(ti−t0)/365=0\sum_{i=0}^{n} \frac{CF_i}{(1 + r)^{(t_i - t_0)/365}} = 0
Solve for the one rate that makes every dated cash flow net to zero.

A simple example where they split

The numbers below are made up to keep the math easy.

Say you put $10,000 into a fund. In year one it gains 30%, so you finish at $13,000. Encouraged, you deposit another $90,000. In year two the fund loses 10%. You end with $92,700.

Two years. $100,000 invested. $92,700 left. You lost $7,300 of real money.

Now compute the two returns.

TWR chains the two years together. 1.30 times 0.90 is 1.17, so TWR reads +17% for the period, about 8.2% a year. And that is honest. Anyone who held the fund for both full years earned 17%.

XIRR weighs each year by how much money sat in it. Only $10,000 saw the good year. All $103,000 sat through the bad one. Run the dated cash flows and XIRR comes out around -6.7% a year.

Same portfolio. One number says +17. The other says -6.7. Both are correct. The fund did well. Your biggest deposit only showed up for the losing year.

The same portfolio shown two ways: a time-weighted return of +17% beside a money-weighted XIRR of -6.7% a year.
One portfolio, two honest returns.

Which one should you trust?

Both, for different jobs.

Use TWR when you are judging an approach. Comparing your picks to an index fund. Deciding whether a strategy deserves more of your money. TWR is the fair test because it ignores your timing.

Use XIRR when you are judging your outcome. It is the closest thing to the truth about your own dollars. And watch the gap between them. If your XIRR keeps landing below your TWR, the strategy is fine and your timing is the leak. That usually means chasing. Adding money after big run-ups, pulling it out after drops. Seeing the gap in plain numbers is the first step to closing it.

How OMM computes both

I will tell you exactly what OMM does, because most tools will not.

TWR is our headline portfolio return. We chain daily returns geometrically, and on any day you moved money in or out, that flow is backed out before the day's return is measured. Your deposits never count as gains and your withdrawals never count as losses. The series is built on total-return prices, so dividends are already inside the price and each dividend is counted once.

Two more honest details. OMM's TWR covers your stock and ETF holdings only. Options are excluded on purpose. Options income gets its own metric, ROCAR, which grades your realized options P&L against the capital you had at risk. We keep the two apart so each number stays honest. And we only annualize TWR when the period is at least a year. A three-month return dressed up as an annual rate is a guess, so shorter periods show the plain cumulative number.

XIRR lives on every holding. For each stock or ETF you own, OMM lists every buy, every sell, and every dividend as a dated cash flow, adds what the position is worth today, and solves for the rate. That is the money-weighted return on that holding. We do not publish one blended XIRR for the whole portfolio, and we hide the figure on anything held under 28 days, because annualizing a two-week trade tells you nothing.

OMM showing a portfolio time-weighted return of 136.2% next to the S&P 500.
The headline TWR in OMM, next to the S&P 500.

Most brokers show you one of these numbers and never say which. You deserve to know what question your return is answering.

Jay Sharma

Jay Sharma

Founder

FAQ

Frequently asked questions

Your timing dragged on your result. XIRR weighs returns by how much money was invested at the time, so a large deposit before a weak stretch pulls XIRR down even while TWR looks fine. The reverse happens too.
In practice, yes. IRR is the general concept, XIRR uses the exact date of each cash flow, and money-weighted return is what both measure. TWR is the time-weighted alternative that ignores your cash-flow timing.
In OMM, yes, once. TWR runs on a total-return price series, so dividends are already reflected in the prices. Adding them again as separate cash flows would count them twice, so we do not.
TWR is the headline portfolio return, computed on stock and ETF holdings. XIRR appears per holding. Options income is reported separately through ROCAR, so option premium never inflates your portfolio return number.

See your portfolio’s honest numbers, for free.

Track dividends, options income, and total return together. No card needed to start.

Start free, no card needed

90-day founder proof period on Solo. Cancel anytime, one click.