Skip to content
All library documents

Calculating Portfolio FX Returns with Fixed Currency Weights

Article Quant Q&A · Author: John

Summary

The document asks how to calculate the return of a currency basket when its components have stated dollar allocations. It gives a two-currency example and first computes each position’s gain or loss separately, then adds the dollar results. It compares that portfolio P&L with two candidate index formulas: reweighting the exchange rates arithmetically and combining them geometrically. Neither candidate matches the direct position-level calculation.

The central lesson is that a basket index must reflect its portfolio convention and rebalance policy. Fixed dollar allocations imply calculating component returns against their starting allocations; a simple weighted level of exchange rates generally does not preserve those allocations through time. The example identifies the mismatch but does not provide a final index construction or address rebalancing, base currency conventions, or exposure drift. It is therefore a useful framing of the accounting issue, rather than a resolved implementation guide.

Key ideas

  • Compute portfolio P&L by applying each currency position’s return to its own starting allocation.
  • A weighted average of exchange-rate levels need not reproduce dollar P&L.
  • A geometric combination of rates also fails to match the stated position-level calculation in the example.
  • The correct index depends on how weights and rebalancing are defined.

Tags

Full text
# FX weights and P&L


# FX weights and P&L












How to correctly express basket of currencies in and index, such that P&L would align?

Assume our index is 20% EURUSD and 80% GBPUSD and rates are 1.10 and 1.31 for T1 and 1.05 and 1.35 for T2. On a USD 100,000 total real P&L is 20,000*(1.05/1.10-1) + 80,000*(1.35/1.31-1) = $1,533.66

Now for the index, whatever I try, I can't get $1,533.66...

TRY1 weights

$100,000 * ( (1.05*0.2 + 1.35*0.8)/(1.10*0.2 + 1.31*0.8)-1 ) = $1,735.02

TRY2 permanent weights

$100,000 * ( (1.05^0.2 * 1.35^0.8)/(1.10^0.2 * 1.31^0.8)-1 ) = $1,486.74

It's not miles off, but there must be a way to calculate accurate index, returns of which align to first principles PL calc?

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.