Economies
Triangular Arbitrage: How Currency Markets Quietly Police Their Own Pricing

Quote three currencies against each other, and you’d expect the math to simply work out — that converting Rupees to Dollars, then Dollars to Euros, then Euros back to Rupees, should leave you with exactly what you started with, give or take. Most of the time, it does. But every so often, for a brief window, the numbers don’t quite line up — and when they don’t, an entire mechanism exists purely to exploit, and in exploiting, correct, that mismatch.
That mechanism is triangular arbitrage, and it’s one of those ideas in CFA economics that sounds almost too neat to be real, right up until you actually work through the numbers and watch the riskless profit materialize on paper.
What Triangular Arbitrage Actually Is
Triangular arbitrage is a trading strategy that exploits a pricing discrepancy between three currencies, where the implied cross-rate calculated from two exchange rates doesn’t match the directly quoted exchange rate for the third currency pair.
The “triangular” part of the name comes directly from the mechanics: you’re moving through three currencies in a closed loop — say, Rupees to Dollars, Dollars to Euros, Euros back to Rupees — tracing out a triangle of transactions that, in a perfectly efficient market, should leave you exactly where you started. When it doesn’t, that gap is the arbitrage opportunity, and it exists purely because of a temporary inconsistency in how the three currency pairs are priced relative to each other.
Why This Inconsistency Can Happen at All
In principle, exchange rates between any three currencies should always be mutually consistent — a property sometimes called the “no-arbitrage condition” for cross rates. If you know the INR/USD rate and the USD/EUR rate, you can calculate exactly what the INR/EUR rate should be, simply by multiplying the two rates together correctly. If the actual quoted INR/EUR rate in the market differs from that calculated, implied rate, an arbitrage opportunity exists.
Why would real markets ever drift away from this consistency, even briefly? A few reasons. Currency pairs trade across many different banks, electronic platforms, and geographic markets simultaneously, and prices on each platform update based on that platform’s own order flow and liquidity conditions, not necessarily in perfect, instantaneous sync with every other platform. A sudden burst of buying or selling pressure on one specific currency pair can push its quoted rate slightly out of line before market makers and arbitrageurs have had time to react and correct it. These windows tend to be extremely short — often measured in seconds or fractions of a second in modern electronic markets — but they do occur, which is exactly why high-frequency trading firms invest enormous effort and infrastructure specifically in detecting and exploiting them.
Setting Up the Calculation: Implied Cross Rates
Before working through an actual arbitrage example, it’s worth being completely comfortable with how to calculate an implied cross rate, since that calculation is the entire foundation of spotting triangular arbitrage in the first place.
Suppose you’re given the USD/INR exchange rate (how many Rupees one Dollar buys) and the USD/EUR exchange rate (how many Euros one Dollar buys), and you want to calculate the implied INR/EUR rate (how many Euros one Rupee buys, or equivalently, how many Rupees one Euro costs).
If 1 USD = ₹83 and 1 USD = €0.92, then the implied EUR/INR rate works out to ₹83 / €0.92 = ₹90.22 per Euro. In other words, based purely on these two quoted rates against the Dollar, one Euro should be worth approximately ₹90.22.
If the market’s directly quoted EUR/INR rate matches this implied rate closely, the three currency pairs are consistent, and there’s no arbitrage opportunity. If the directly quoted rate differs meaningfully from this implied rate, that gap is exactly what a triangular arbitrage trade is designed to capture.
A Fully Worked Example
Let’s build out a complete scenario with actual numbers, tracing the full triangular loop.
Suppose the following three exchange rates are quoted simultaneously in the market:
USD/INR = 83.00 (1 USD buys ₹83.00)
USD/EUR = 0.92 (1 USD buys €0.92)
EUR/INR = 91.50 (1 EUR buys ₹91.50, quoted directly)
First, calculate the implied EUR/INR rate from the other two quotes, exactly as before: ₹83.00 / €0.92 = ₹90.22 per Euro.
Compare that implied rate of ₹90.22 against the directly quoted market rate of ₹91.50. These don’t match — the market is quoting Euros at a higher Rupee price (₹91.50) than the implied calculation suggests they should be worth (₹90.22). That mismatch is the arbitrage opportunity.
Here’s the trading logic: since the market is overvaluing the Euro relative to the implied rate (in other words, the Euro is “expensive” when bought directly with Rupees, relative to going through Dollars), the arbitrage strategy involves avoiding the expensive direct EUR/INR route and instead routing the trade through Dollars to capture the discrepancy.
Start with, say, ₹10,000,000 (₹1 crore). Convert this to Dollars using the USD/INR rate: ₹10,000,000 / 83.00 = $120,481.93.
Convert those Dollars to Euros using the USD/EUR rate: $120,481.93 × 0.92 = €110,843.37.
Now convert those Euros back to Rupees, but using the directly quoted EUR/INR rate of 91.50, since that’s the rate at which the market will actually let you sell Euros for Rupees: €110,843.37 × 91.50 = ₹10,142,168.
Compare the ending amount, ₹10,142,168, against the starting amount, ₹10,000,000. The trade has generated a riskless profit of ₹142,168 — purely from exploiting the pricing inconsistency across the three currency pairs, without taking on any market risk, currency exposure, or directional bet on where any of these exchange rates are headed.
Why This Profit Is Genuinely “Riskless”
It’s worth pausing on why this qualifies as arbitrage in the strict sense, rather than just a profitable trade.
Every leg of this transaction happens essentially simultaneously, using exchange rates that are all known and locked in at the moment the trades are executed. There’s no waiting period during which exchange rates could move against you, no directional bet on whether the Rupee will strengthen or weaken, no exposure to any market risk at all. You know, the instant you observe the pricing mismatch, exactly how much profit the round-trip will generate — assuming you can execute all three legs at the quoted rates before they have a chance to move.
That last caveat — “before they have a chance to move” — is exactly why these opportunities vanish so quickly in real markets. The moment enough traders spot and act on a mismatch like this one, the buying and selling pressure generated by their triangular arbitrage trades pushes all three exchange rates back toward consistency. Heavy demand for Dollars (from converting Rupees to Dollars) and heavy demand for Rupees (from converting Euros back to Rupees through the direct route) both push the implied and quoted rates back toward each other, closing the gap, often within seconds in modern electronic markets.
The Self-Correcting Mechanism
This is, genuinely, one of the more elegant ideas in the curriculum: triangular arbitrage isn’t just something that can be exploited when it occurs — the act of exploiting it is exactly what eliminates the very inconsistency that created the opportunity in the first place.
Think about what happened in the worked example above. The arbitrage trade involved buying Dollars with Rupees, buying Euros with those Dollars, and selling Euros for Rupees at the relatively higher quoted EUR/INR rate. If many traders simultaneously execute this same trade, several things happen to exchange rates almost immediately: increased demand for USD against INR would tend to push the USD/INR rate up slightly. Increased demand for EUR against USD would tend to push the USD/EUR rate as well. And the heavy supply of EUR being sold for INR through the direct route would push the quoted EUR/INR rate down.
All three of these pressures work in the same direction: closing the gap between the implied cross rate and the directly quoted rate. The arbitrageurs, simply by chasing their own profit, are doing the market’s work of correcting the mispricing — which is exactly why, in efficient, liquid currency markets, triangular arbitrage opportunities of any meaningful size tend to be exceptionally short-lived.
Why This Matters Beyond Just Spotting a Trade
For CFA purposes, triangular arbitrage isn’t really being tested as a trading strategy you’re expected to execute — it’s being tested as a demonstration of a deeper principle: market efficiency in currency markets, and the no-arbitrage condition that holds cross rates in line with each other.
Understanding triangular arbitrage gives you a concrete, calculable reason why cross rates should be mutually consistent in efficient markets, rather than just accepting it as an assumed rule. It also builds the calculation skill — computing implied cross rates from two given exchange rates — that shows up repeatedly elsewhere in currency-related problems, well beyond arbitrage specifically. Any time a question gives you two currency pairs and asks you to derive a third, you’re using exactly the same implied cross-rate calculation that sits at the heart of spotting triangular arbitrage.
A Quick Practice Setup
Suppose you’re given: GBP/USD = 1.27 (1 Pound buys $1.27) and USD/INR = 83.00 (1 Dollar buys ₹83.00). The implied GBP/INR rate would be 1.27 × 83.00 = ₹105.41 per Pound.
Notice the calculation here multiplies rather than divides, unlike the earlier EUR/INR example — and getting that operation right depends entirely on paying close attention to which currency sits in the numerator and which sits in the denominator for each quoted pair. This is exactly the kind of mechanical detail that costs candidates points on otherwise well-understood exam questions: getting the concept right but inverting a rate, or multiplying when you should have divided, because the quoting convention wasn’t tracked carefully enough.
Exam Perspective: What to Lock In
A handful of points are worth holding onto firmly. Triangular arbitrage exploits a pricing inconsistency between an implied cross rate (calculated from two quoted exchange rates) and the directly quoted rate for the third currency pair. The implied cross rate calculation requires careful attention to which currency is in the numerator versus the denominator for each quoted pair — getting this backward is the single most common calculation error. The profit from triangular arbitrage is genuinely riskless, assuming all three legs can be executed simultaneously at the quoted rates, since no directional currency bet is involved. And the act of exploiting a triangular arbitrage opportunity is self-correcting: trading pressure from arbitrageurs pushes exchange rates back toward consistency, which is precisely why such opportunities are typically small in magnitude and extremely short-lived in liquid, efficient currency markets.
Final Thoughts
Triangular arbitrage is a good reminder that market efficiency isn’t some abstract assumption economists impose on currency markets from the outside — it’s an active, ongoing process, enforced continuously by traders chasing exactly the kind of riskless profit worked through in the example above.
The moment three currencies stop pricing consistently against each other, someone, somewhere, with the infrastructure to act quickly enough, is going to notice — and in noticing, fix it, almost as fast as it appeared.


