Currency & Forex
Advanced

Triangular Arbitrage

A riskless profit captured when three currencies’ cross rates are momentarily inconsistent.

Formula

Profit=(1RAB×RAC×RCB)−1Profit = \left(\dfrac{1}{R_{AB}} \times R_{AC} \times R_{CB}\right) - 1

Variables

R_{AB}Rate A to B
R_{AC}Rate A to C
R_{CB}Rate C to B

Example

Rates misaligned by 0.2% → 0.2% riskless gain

How it works

Triangular arbitrage checks whether converting money through three FX markets brings you back with more than you started. The term inside the parentheses multiplies the exchange rates around the loop A → B → C → B; if markets are perfectly consistent, that product should equal 1 after normalizing for the direct A-to-B quote. Any value above 1 implies a profit opportunity, while a value below 1 means the round trip loses value and no arbitrage exists.

When to use it

Use this when you are comparing three related currency pairs and want to test whether their quoted rates are internally consistent. It is especially useful in FX trading, market-making, and exam problems involving cross rates or arbitrage detection.

Worked example, step by step

Suppose the quoted rates are: R_AB = 1.2500 (1 A buys 1.2500 B) R_AC = 0.9100 (1 A buys 0.9100 C) R_CB = 1.4200 (1 C buys 1.4200 B) Plug into the formula: Profit = ((1 / R_AB) × R_AC × R_CB) - 1 Profit = ((1 / 1.2500) × 0.9100 × 1.4200) - 1 Profit = (0.8000 × 0.9100 × 1.4200) - 1 Profit = 1.03376 - 1 Profit = 0.03376 So the triangular arbitrage profit is 0.03376, or 3.376% per cycle.

Common mistakes to avoid

  • Using the wrong quote direction for one of the exchange rates
  • Forgetting to subtract 1 at the end, which makes the result a growth factor instead of profit
  • Ignoring transaction costs and bid-ask spreads, which can eliminate a theoretical arbitrage

Did You Know?

High-frequency trading firms close these gaps in milliseconds, so they rarely survive long enough to exploit by hand.

Share this formula

Reviewed & maintained by the FormulaWon editorial teamLast reviewed September 2026