Returns and figures
Your share rose 10 % and you still lost money
A holding has a currency, the money that paid for it has a currency, and your report has a third. When they drift apart, part of your return is the exchange rate rather than the company. Here is that split, worked out, and where the rates behind it come from.
You bought 100 shares at 50.00 USD in January 2024, when one euro bought 1.10 dollars. Today the share is 55.00 USD and one euro buys 1.25 dollars.
| Then | Now | Change | |
|---|---|---|---|
| Share price | 50.00 USD | 55.00 USD | +10.0 % |
| EUR/USD | 1.10 | 1.25 | |
| Position | 4,545.45 EUR | 4,400.00 EUR | −3.2 % |
The company did nothing wrong. The dollar did. In euros the position is worth 145.45 EUR less than it cost, and the arithmetic splits cleanly in two: the instrument contributed 1.10, the exchange rate contributed 1.10 ÷ 1.25 = 0.88, and 1.10 × 0.88 = 0.968, which is the −3.2 %. The figures here are invented for the example and computed from the four numbers in the table.
This is the first thing worth checking when a holding and its market disagree. It is also why a portfolio tracker that keeps one currency per portfolio and converts everything on the way in quietly destroys the information you need to answer the question.
Three currencies, never merged
A single position can involve three, and mixing them produces totals that look plausible and are wrong:
- the quote currency, what the listing trades in;
- the cost currency, what you actually paid from, fixed on the day of the trade;
- the base currency, what your report adds up in.
A US share bought from a euro account and reported in euros uses all three. A US share bought from a dollar sub-account at the same broker uses two. Stonqs stores each of them and converts at the point where a figure needs it, not before.
The rate of the trade stays the rate of the trade
A purchase from two years ago keeps that day’s rate forever. Later moves in the exchange rate change what the holding is worth now; they never rewrite what it cost you. Rates are read as of a date, or the last published one before it, exactly like prices, so a trade on a weekend uses Friday’s rate rather than inventing one.
Where the rates come from, in order
The European Central Bank publishes daily reference rates for roughly thirty currencies, and that is the first source asked. If the bank cannot be reached, a mirror of the same reference rates is asked. For a currency the ECB does not publish, the Russian rouble since March 2022, the Argentine peso, most emerging-market currencies, the market’s own daily close is used instead. The sources differ by a fraction of a percent at most.
Two rules about filling gaps are worth stating plainly, because they are where a tracker can quietly lie to you:
- A later source only fills days that have no rate yet. It never replaces a rate already stored.
- A currency no source knows stays missing. Every figure that depends on it shows as unavailable. Nothing is assumed to be 1.
A rate silently assumed to be 1 is the kind of error that produces a perfectly formatted total nobody can trace, which is worse than an empty cell with a reason next to it.
Pence, cents and agorot
London quotes many shares in pence, Johannesburg in cents, Tel Aviv in agorot. A price of 5,234 in that minor unit is 52.34 GBP, not 5,234 GBP. Stonqs folds the minor unit into the major currency on the way in.
If a position in your tracker is worth exactly a hundred times too much, this is almost always why, and it is worth checking before you reach for a currency explanation.
A benchmark brings its own currency
Comparing your time-weighted return against an ETF quoted in dollars carries that ETF’s currency movement into the comparison, in the same way your own foreign holdings carry theirs. When the gap between you and your benchmark looks strange, the exchange rate is worth ruling out before the stock selection takes the blame.
Sources
- Stonqs: currency and FX · The three currencies and the order the rate sources are asked in.
- Euro foreign exchange reference rates, European Central Bank · The daily rates the app uses first, and the list of currencies they cover.
- Stonqs: data sources