Get started

Introduction

Broker integrations

Interactive Brokers

Time-weighted return (TWR)

Why is it useful and how is it calculated

The Time-weighted return percentage is an important metric for every portfolio. It measures how well your investments performed, independent of how much money you added or withdrew and when.

The obvious way to measure performance — "how much is my portfolio worth versus how much I put in" — is badly distorted by the timing of your deposits. If you happen to add a large amount right before a good month, simple return makes you look like a genius; add it right before a bad month and it makes you look terrible. Neither reflects how good your actual investment choices were.

TWR vs. your actual profit

TWR answers "how good were my investments?", not "how much money did I make?". A 20% TWR doesn't mean you made 20% more money — it measures your investments, not your cash. The more you deposit and withdraw, the more your real €-gain drifts from the TWR figure. Stonksfolio shows that actual gain alongside it.

How Stonksfolio calculates it

Stonksfolio splits your entire history into daily sub-periods and measures the return of each day on its own. For a given day:

day return = end-of-day value ÷ (start-of-day value + money invested or sold that day)

Adding the day's buys to the denominator means cash you moved in or out that day isn't counted as performance — only the change in market value is. Each daily return is then chained together by multiplying them, and the final TWR is that running product minus one:

TWR = (day₁ × day₂ × … × dayₙ) − 1

Multiplying (rather than adding) the daily returns is what makes it compound correctly over time.

An example

Say your €1000 portfolio grows 10% to €1100, and then you deposit €1000 more. Your value leaps to €2100 — but only €100 of that was actual performance; the rest was your own cash. TWR strips the deposit out and reports the real 10%, no matter how much you added or when.