cpg

The perils of computing cross-currency performance

2026-01-10 #math#software

Converting the performance of a stock between currencies naively does not capture currency effects, even though they play a secondary factor long-term.

Profit/Loss decomposition

Consider the acquisition at time $t_0$ of one unit of a stock offered in currency $C_1$, using a base/home currency $C_2$. The price in the base currency, excluding fees, is $$E_{12}(t_0)P(t_0),$$ where:

Later, at time $t$, the unrealized profit or loss (PL) in the base currency $C_2$ is equal to $$\text{PL}=E_{12}(t)P(t) - E_{12}(t_0)P(t_0),$$ which can be decomposed as $$\text{PL}=E_{12}(t)\big(P(t)-P(t_0)\big) + \big (E_{12}(t) - E_{12}(t_0)\big) P(t_0)=\text{Product PL} + \text{Currency PL},$$ where:

In particular, the total PL will generally be larger or smaller than the product PL, due to the currency PL.

In other words:

The naive idea of computing PL in the stock currency and converting it to the base currency using the current exchange rate is generally incorrect.

Multiple buys

When stock is acquired at times $t_1,\dots,t_N$, the above formula generalizes to

$$ \begin{aligned} \text{PL} &= \left(E_{12}(t)NP(t) - \sum_{i=1}^N E_{12}(t_i)P(t_i)\right) \newline &= E_{12}(t)N\left(P(t) - \frac{1}{N}\sum_{i=1}^N P(t_i)\right) + \sum_{i=1}^N \big(E_{12}(t) - E_{12}(t_i)\big) P(t_i) \end{aligned} $$

The first term is simply the product PL in the base currency with respect to the average acquisition cost (or break-even price) $1/N\sum_{i=1}^N P(t_i)$.

Product PL or Product+Currency PL?

The fact that converting the product PL to the base currency is not equal to the total PL can be a source of confusion and bugs in portfolio tracking tools, as well as in the brokers’ own interfaces.

Long-term behaviour of currency and product PLs

In the above decomposition of the total PL as product and currency PL:

When considering currency pairs where the exchange rate is roughly stationary (many major currencies pairs over a long time) and market indices, it can therefore be expected that:

On the long term, the currency PL becomes a secondary factor of the total PL:

Indeed, this reflects the fact that exchange rates are relative prices and stay roughly constant, while stock prices grow through compounding.

Example: VT ETF in CHF

Consider the VT ETF with $C_1=\text{USD}$ and $C_2=\text{CHF}$. The monthly prices since 2009 are illustrated below. The CHF strengthens against the USD (i.e. $E_{12}$ decreases) episodically, and the ETF rises in value.


VT unit price and the USDCHF price $E_{12}$. Source: Yahoo Finance.

When computing the total PL and the two components with the expression above, we indeed see that the currency PL corrects down the product PL value.


Product, Currency, and total PL on January 10, 2026, for the acquisition of one unit of VT stock in CHF at the given date in the past.

On the other hand, the size of the currency PL remains relatively small. The following plot shows its relative size compared to the product PL, in the setup of the previous plot.


Relative size of the PL components.

While the currency effect can be quite important in the short term (e.g. up to 50% for a 2024 acquisition), for a buy date between 2008 and 2018, the currency PL is at most 20% of the product PL, matching with the arguments above.

Example: MSCI World ETF in CHF

Similarly, consider the HSBC MSCI World ETF in EUR:


MSCI World price in EUR and the EURCHF price $E_{12}$. The CHF also becomes stronger with respect to the EUR. The fall of the exchange rate in 2015 corresponds to the discontinuation of the minimum exchange rate by the SNB. Source: Yahoo Finance.


Product, Currency, and total PL on January 10, 2026, for the acquisition of one unit of WRD.PA stock in CHF at the given date in the past.


Relative size of the currency PL compared to the product PL. Similarly, for buy dates before 2020, the currency PL is at most 20% of the product PL.