Stonqs
All guides

Compared with the alternatives · Guide 10 of 10

Compare your portfolio with an index fund or ETF

10 min read

Choose an ETF or fund as the Benchmark instrument on the Performance screen and Stonqs shows its return over your period, and your excess over it in percentage points. About ten minutes. The benchmark counts price only, so a fund that pays out dividends is understated.

Suppose, with made-up numbers over one calendar year, your portfolio returned 24 % and the ETF 18.5 %. Did you beat it by 5.5 points? Not yet. The app’s benchmark figure is the ETF’s price change, converted into your currency, with no dividends added. Yours includes the dividends you were paid. If the ETF distributes its income, the benchmark is understated by about what it paid out, and your “win” shrinks or disappears.

This guide sets up the comparison and shows what each figure on screen is made of. Market data comes from free third-party sources, without warranty. Your broker’s statement is what counts, and nothing here is advice on what to hold.

Before you start

You need a portfolio with its transactions imported (the import guide) and sources of prices and exchange rates turned on (choose price and exchange rate sources). Have the ticker or ISIN of the fund you want to measure against. A fund is not an index: you compare against the fund’s price, which tracks an index like MSCI World with its own costs, and the app sees only the price.

Add the benchmark as an instrument

The Benchmark instrument list on Performance offers every instrument in the directory, so the fund has to be there first. The Performance guide says any instrument in the directory can be the benchmark, and you do not have to own it.

  1. Open Instruments and press Add instrument.
  2. Fill Ticker, Name and Currency (the currency the fund trades in), and set Quote provider to a source that has it. Leave it at — manual — and no prices are fetched. Use Provider symbol if the source spells the ticker differently.
  3. Save, then press Refresh quotes.

You should see the row with a price history. A red quote history means the source returned too little: open Venues and pick another listing. An instrument identified only by ISIN has no prices until a listing is chosen for it.

An ETF already in your portfolio is in the directory and needs none of this.

Pick it on Performance

Open Performance. Set the period control (1M to 5Y, YTD, All) and choose the fund in Benchmark instrument. The default is No benchmark.

Two tiles appear in the figures: Benchmark, the fund’s return, and Excess, captioned “portfolio minus benchmark”. If the fund is younger than the period, the Benchmark tile’s caption reads “since” a date: that is where the comparison really starts.

Read the two figures

Take the portfolio’s time-weighted return over the same window, TWR (portfolio return). Never compare an index with the money-weighted XIRR (investor return): the index has no deposits to be timed. In the code, the benchmark is the price on the last day over the price on the first day, minus one, converted to your currency on both days, and the excess is a plain subtraction (benchmark.rs).

An invented example, to rerun by hand, in EUR over one calendar year:

Step Figure Where it comes from
Fund price, first day 100.00 EUR assumed
Fund price, last day 118.50 EUR assumed
Benchmark 118.50 / 100.00 - 1 = +18.5 % the app’s formula
Portfolio TWR +24.0 % assumed, dividends included
Excess 24.0 % - 18.5 % = +5.5 points the app’s formula
Fund’s distributions 1.80 EUR a share assumed
Benchmark with them (118.50 + 1.80) / 100.00 - 1 = +20.3 % by hand, payouts not reinvested, not in the app
Excess against that 24.0 % - 20.3 % = +3.7 points by hand

Price only

The code comment says it: “no dividends are invented because providers expose prices”. A fund that pays its income out shows it nowhere in the price. The portfolio side includes income: its calculation sheet splits the result into market, income and costs, with dividends stated gross. Whether your fund pays income out or keeps it inside the price is in its own factsheet, which Stonqs does not read.

One window

If the fund’s prices start after the period does, both sides are cut to the overlap and the Benchmark tile says from when. Excess is never two different windows subtracted.

Totals, not per year

The large TWR (portfolio return) figure is the total over the window. Under it, the hint “a year” is the same return rescaled to a year, (1 + TWR)^(365 / days) - 1 (twr.rs); it appears for a one-month window too, where it extrapolates. Benchmark and Excess are totals over the window, so compare them with the large figure, not the hint.

Currency

A fund quoted in another currency than your portfolio’s carries that currency’s movement into the benchmark, as your own foreign holdings do. If the gap is puzzling, check the exchange rate before the choice of fund.

Draw up to five benchmarks on the dashboard

For a picture rather than two numbers, add the Portfolio and benchmark chart from the dashboard palette in edit mode. In its settings, each Benchmark field adds a dashed line, up to five; emptying a field removes it. Every line is the growth of one invested unit from the start of the period. A fund younger than the period starts later, and one with no prices at all is named above the chart. Draw inflation adds the price-index step line.

The chart shows relative growth only. For a number, use Performance.

If something goes wrong

The fund is not in the Benchmark instrument list. It is not in Instruments yet. Add it above.

An error banner appears on Performance. The fund has no prices in the window or no exchange rate to your currency. The comparison needs a price on the first and last day it uses, and a rate for the fund’s currency. Open Settings, Market data and read the coverage table.

TWR (portfolio return) reads —. The ledger has trades without the deposits behind them, so there is no stretch with capital at work (why). Import the deposits first; the benchmark tile cannot fix it.

Sources