Separating FX gains from investment gains in a multi-currency portfolio
How much of that gain was the investment, and how much was just the rand?
The rand figure on your offshore holding is hiding two different stories — the asset moving, and the rand moving — and until you split them, you don't actually know how your investment did.
One return, two drivers: the asset in its own currency, and the rand against that currency — with a small interaction term that most spreadsheets quietly lose.
You check your offshore holding and it's up. Good. But up because of what — the investment, or the rand? Those are different questions with different answers, and the single number on your screen refuses to tell you which one you're looking at. It is, quietly, the average of two stories: the asset moving in its own currency, and the rand moving against that currency. Most of the time you can live without separating them. The moments you can't are exactly the moments that matter — when the rand lurches and you genuinely cannot tell whether you're a good investor or just a lucky one.
This is the companion piece to our cornerstone on how investment return is actually calculated. There we untangled the timing of your contributions from the performance of the investment. Here we untangle something else that hides inside a single percentage: the currency. If you hold anything offshore — a US brokerage account, an S&P 500 feeder fund, property abroad — this is the split that tells you what your money actually did.
Your gain is a product, not a sum
Start with why the number blends two things in the first place. The rand value of an offshore asset is two quantities multiplied together: how many dollars (or pounds, or euros) the asset is worth, and how many rand each of those units converts to. Because the value is a product, the return is too — and a product does not break cleanly into a sum.
Write the asset's return in its own currency as the local return, and the exchange-rate move as the FX return. Your total return in rand is the two growth factors multiplied:
(1 + total) = (1 + local) × (1 + FX)
Expand that bracket and a third term appears that wasn't in either input:
total = local + FX + (local × FX)
That last piece — local × FX — is the interaction term, sometimes called the cross term. It is not a rounding error and it is not optional [1]. It exists because the closing exchange rate applies to your grown asset, not just the capital you started with: when the currency moves, it moves on the investment gain as well as on the principal. It is small most of the time and several percentage points when both the asset and the currency move hard in the same period — and the practitioner literature's sharpest warning is precisely that "an effect which is small 99% of the time is likely to generate a big — and, if missing, unexplainable — impact, twice a year" [2]. This is the standard decomposition in the CFA Institute's curriculum on currency management [1]. Whenever you see the parts of an offshore return that don't quite add up, the interaction term is usually the bit that went missing.
The mistake that flips the whole answer
Before any arithmetic, one thing decides whether your FX number comes out right or upside down: which way you quote the exchange rate. This is the single highest-frequency error in the entire topic, and it is worth being pedantic about.
Quote the rate as rand per one dollar — R18.00 means R18.00 buys you a dollar. With that convention, a rise in the rate means the rand weakened, your dollar asset converts to more rand, and your FX return is positive. Now quote it the other way, as dollars per rand, and every currency figure changes sign — the same real-world event reads as a loss instead of a gain. The CFA curriculum's worked solutions are careful to arrange the quote so the investor's own currency sits on top before computing the FX ratio, exactly to avoid this trap [3]. State the direction explicitly, every time, in your own working. Our calculators print it on screen so you can't get it backwards.
A worked example, to the cent
Numbers make this concrete. You buy a US asset for $10,000 when the rate is R18.00 per dollar. Over the period the asset rises to $11,000, and the rand weakens to R18.90 per dollar.
The asset's local return is 11,000 / 10,000 − 1 = +10.00%. The currency return is 18.90 / 18.00 − 1 = +5.00%. The interaction term is 10% × 5% = +0.50%. Multiply the growth factors and your total return in rand is 1.10 × 1.05 − 1 = +15.50% — which is exactly 10% + 5% + 0.50%.
In money: you started with R180,000 and ended with R207,900, a gain of R27,900. Of that, R18,000 was the investment, R9,000 was the currency, and R900 was the interaction. And that R900 is the whole point — it is the 5% currency move applied to your $1,000 investment gain (1,000 × (18.90 − 18.00) = 900). It belongs to neither the asset alone nor the currency alone, which is exactly why honest reporting gives it its own line rather than quietly folding it somewhere convenient [2]. You can reproduce every figure here in our FX gain decomposition calculator.
When you add money mid-period, it gets harder — and more honest
The clean example above assumes you bought once and held. Real portfolios aren't like that. The moment you contribute partway through, the difficulty arrives: your tranches entered at different exchange rates, so there is no single FX return for the whole holding anymore.
The honest method is also the simplest to defend: track each contribution at its own entry rate, treat each as its own miniature version of the example above, and add up the rand gains. Done that way, the parts reconcile to the total exactly, every time — it is the personal-investor gold standard. The tempting shortcut is to take a single blended return (the kind a Modified Dietz calculation gives you) in rand, subtract the same in dollars, and call the difference "the FX effect." It isn't. That difference silently bundles the currency move, the interaction term, and the distortion from when your cash flowed — three different things wearing one number's clothes, and it does not equal any clean FX return [4]. Our FX calculator switches to the tranche method automatically when you enter contributions, and warns you when a blended number would mislead — which is precisely when a contribution is large, or the currency moved sharply.
What this does and doesn't make Mintelo
A fair question for a sceptical reader: if this decomposition is textbook, who else does it? Honestly — others do, and do it well. Sharesight separates capital gain, income and currency gain in its performance reporting; Exirio splits intrinsic from currency performance for a whole portfolio, with its own worked example landing on the same kind of 15.5% total we used above [5][6]. The FX-versus-investment split is not something Mintelo invented, and you should distrust anyone who claims to have.
What is genuinely under-served is the combination: a rand-native tool that does this at the level of your whole net worth — not just an investment portfolio — and that then tells you, plainly, how much of your wealth is currently riding on a currency you don't spend in. That last part is where this connects to the bigger picture. A rand-priced offshore feeder fund is not a rand asset; its risk is dollar risk, and the issuer's own numbers prove it. Our multi-currency net worth calculator puts the consolidation and the exposure side by side. The decomposition in this article is the engine room underneath it.
So what does this actually buy you?
A straight answer to the question you started with. Next time your offshore holding is up — or down — you'll be able to say how much was the investment doing its job and how much was the rand having a month. That distinction changes what you do next: a currency-driven gain is not evidence your fund is good, and a currency-driven loss is not evidence it's bad. Pull the two apart, keep the interaction term where you can see it, and state which way you quoted the rate. The number stops flattering you, and starts telling you the truth — which, for tracking real wealth, is the only version worth having.
About the author
Rian Cronje comes to personal finance from the outside. After 25 years in corporate finance — Group Financial Controller roles, multi-currency consolidations and digital transformation, the unglamorous rigour of making a business's accounts actually reconcile — he found almost none of that discipline had reached the way individuals track their own wealth. He is not an advisor; he has nothing to sell you about where to put your money. He built Mintelo to close that gap: to hold a person's wealth to the standard a company holds its own books, and to break down the jargon that keeps capable people — him once included — locked out of their own numbers.
Sources
CFA Institute, "Currency Management: An Introduction" (2026 CFA Program Level III curriculum), https://www.cfainstitute.org/insights/professional-learning/refresher-readings/2026/currency-management-introduction, accessed June 2026.
Meradia (Mark R. David, CFA), "Re-Engineering Karnosky-Singer", https://meradia.com/thought-leadership/re-engineering-karnosky-singer-utility-versatility-and-insight-for-practical-multi-currency-management/, accessed June 2026.
AnalystPrep (CFA Level III), "Currency Movement on Portfolio Risk and Return", https://analystprep.com/study-notes/cfa-level-iii/currency-movement-on-portfolio-risk-and-return/, accessed June 2026.
Wikipedia, "Modified Dietz method", https://en.wikipedia.org/wiki/Modified_Dietz_method, accessed June 2026.
Sharesight, "Components return", https://help.sharesight.com/eu/components-return/, accessed June 2026.
Exirio, "Portfolio tracking: Investments & currencies", https://www.exirio.com/portfolio-tracking-currencies/, accessed June 2026.
See your real net worth across every account — in rand or dollar.
One reconciled view, the same number whichever way it's checked. Mintelo is the personal wealth platform built like a real one.

