Skip to content
Knowledge base

How Portfolio Returns Are Calculated

Learn how Luum calculates time-weighted returns, handles cash flows, and compares your performance to a benchmark.

Luum uses the time-weighted return (TWR) method to measure portfolio performance. This article explains what that means, why it matters, and how benchmark comparison works.

Time-weighted return (TWR)

TWR measures how well your investments performed independently of when you added or withdrew money. It does this by breaking your portfolio history into sub-periods every time a cash flow occurs (a deposit, withdrawal, or new contribution), computing the return for each sub-period, then geometrically linking them together.

This is the industry-standard method for evaluating portfolio performance because it isolates investment returns from the timing of capital flows. If you deposited a large sum the day before the market dropped, TWR still reflects how your holdings performed, the timing of your deposit does not distort the return figure.

Money-weighted return (MWR)

MWR (also called internal rate of return, or IRR) is the return that accounts for when you invested your money. It rewards good timing and penalises bad timing. Luum displays MWR on individual position detail views so you can see how the timing of your specific purchases has affected your personal outcome.

Because MWR reflects your cash flows and an index has none, MWR is not comparable to a benchmark. Neither is a compound rate computed from a starting and an ending balance on an account you have been contributing to. See CAGR vs average annual return for why that figure counts deposits as growth.

Return periods

Returns are shown over these standard periods:

  • 1M, last 30 calendar days
  • 3M, last 90 calendar days
  • YTD, January 1 of the current year to today
  • 1Y, last 365 calendar days

Periods with less than the required days of data are hidden until sufficient history is available after your brokerage first connects.

Benchmark comparison

Luum compares your portfolio's TWR to a benchmark over the same period. The benchmark is chosen from the Benchmark picker on the Performance page, and the choice applies to the view rather than being saved as a portfolio setting.

The picker offers four kinds of comparison, grouped because they are not the same kind of thing:

  • Indices and ETFs, a fixed set of broad market indices and index ETFs covering US large-cap, Canadian, US small-cap, global developed and total-international exposure. The default is the S&P 500 for every portfolio, Canadian or US alike. It is a default and not a recommendation: for a diversified Canadian portfolio it compares against a different asset allocation, not against a different selection.
  • vs the target you set, the allocation counterfactual. It holds your own target weights through index proxies, receives your own contributions and withdrawals on the dates they actually happened, and rebalances monthly. It applies no tax and no trading costs, so it is illustrative rather than an attainable portfolio. The option appears only when the portfolio has an allocation target, because without one there is nothing to compare against.
  • Risk-free rate, a compounded Government of Canada 5-year yield. It is deliberately in its own group: it is a government bond yield, not a security you could have bought.
  • Your comparisons, up to three instruments you pick yourself, each measured as that instrument's price return. An instrument needs daily price history covering at least 80% of the selected range to be selectable, and the reason is shown when it is not.

Benchmark data is sourced from EODHD and updated nightly. The index and ETF comparisons are price returns and exclude dividends, which is consistent with how most portfolio analytics platforms report benchmark performance, and it means your own dividend-inclusive return is being compared against a dividend-exclusive series. Each benchmark series is converted into your portfolio's base currency before comparison, so both sides of the comparison carry the same currency movement.

How to benchmark your portfolio sets out why the choice matters more than most people expect, and the four ways a benchmark comparison misleads.

Holdings behind the change

On the Investor and Wealth tiers, a card under the Performance chart lists the holdings that added and subtracted the most over the period you pick. It shows the holdings you hold now. Each one is measured as the position you hold, from what you paid, with its result in dollars and as a percentage of what went into it, beside the security's own price change over the same period. The card has its own period buttons, so you can change its window without moving the chart.

The same figures also draw as a map. Each tile is a holding, sized either by its gain or loss or by its value, and coloured by its own result. Selecting a tile shows its figures, and every tile names its direction in words, so the colour is never the only signal.

The card counts price only. Dividends are part of the portfolio's return above, and are not yet split out per holding here.

Currency effects

If your portfolio holds US-listed securities and your reporting currency is CAD (or vice versa), foreign-exchange movements will affect your displayed return. Each daily snapshot converts your positions into your reporting currency using the most recent exchange rate available when that snapshot was taken, so a historical value keeps the rate that applied then rather than being re-converted at today's rate. This means a weakening CAD will boost the reported return of US holdings and vice versa. This is the actual economic effect you experienced, not a display artefact.

Unrealised vs. realised gains

The return figures on your dashboard reflect total return including both unrealised (open positions) and realised (closed positions) gains and losses within the period. Dividends received are included. Tax is not deducted, returns shown are pre-tax.


For the concept rather than the implementation, why two tools can report different returns on the same portfolio, and which measure answers which question. See time-weighted vs money-weighted return. To run a period through both measures on figures you type yourself, the time-weighted vs money-weighted calculator is public and needs no account.