Finance and Budgeting

Cross Rate and Triangular Arbitrage Calculator

Enter two quoted rates and the direct quote for the third pair to compare them with the implied cross rate.

Your numbers

Three letters. Example figures throughout.

How many of the second currency buy 1 of the first.

The direct quote for the first and third.

More options

Spread or fee on each of the three trades.

Result

Implied JPY per 1 EUR

162.9670

Quoted 163.0000

Quoted rate versus implied
0.0202%
Best loop result
0.0202%
Loop opens a gain
Yes, before other costs

Loops starting with 100,000 EUR

RouteEnds withGain or loss
EUR > USD > JPY > EUR99,979.75(20.25)
EUR > JPY > USD > EUR100,020.2520.25
How this was calculated
  1. Implied EUR/JPY = (USD per EUR) x (JPY per USD).
  2. Loop 1 sells EUR for USD, USD for JPY, then buys EUR back at the quoted rate: end = 1 x r1 x r2 / quoted x (1 - cost)^3.
  3. Loop 2 goes the other way: end = quoted / (r1 x r2) x (1 - cost)^3. A result above 1 is a gain before other costs.
  • Real quotes have a bid and an ask, and prices move between trades, so a small gap on paper often disappears in practice. This tool uses one rate for each pair.

Calculated using SumPanda.com · https://sumpanda.com/cross-rate-and-triangular-arbitrage-calculator/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the cross rate and triangular arbitrage calculator

  1. Enter three currency codes. The first and second are the pair of the first rate, and the second and third are the pair of the second rate.
  2. Enter how many of the second currency buy 1 of the first, and how many of the third buy 1 of the second.
  3. Enter the direct quote for the third currency per 1 of the first.
  4. Optionally enter a cost per trade, then read the implied cross rate, how far the quote is from it and the result of each loop.

Formula

Implied cross rate = rate 1 x rate 2

Loop 1 = rate 1 x rate 2 / quoted x (1 - cost)^3

Loop 2 = quoted / (rate 1 x rate 2) x (1 - cost)^3

A loop result above 1 means you end with more than you began with, before anything else is counted.

EUR, USD and JPY

If 1 EUR buys 1.0850 USD and 1 USD buys 150.20 JPY, the implied rate is 1.0850 x 150.20 = 162.9670 JPY per EUR. The direct quote is 163.00, which is 0.0202% higher than the implied rate.

Selling EUR for JPY at the direct quote of 163.00, then JPY for USD and USD for EUR, ends with 100,020.25 EUR from 100,000, a gain of 20.25. The loop the other way ends with 99,979.75, a loss of 20.25. With a 0.01% cost on each trade the winning loop turns into a loss, so the table shows No for a gain.

What a cross rate is

Two currencies that are both quoted against a third can be compared with each other without a direct quote. Multiply or divide the two quoted rates and you have a cross rate. If a dealer also quotes the direct pair, the direct number and the implied cross rate should agree. When they do not, there is a mispricing.

Why a gap on paper is rarely a profit

In real markets each quote has a bid and an ask, prices move between trades, and each trade has a spread or fee. A gap of two hundredths of a percent is smaller than the cost of most retail trades, so the cost field is there to show how fast a small gap disappears. Even with zero cost, the three trades cannot all be done at the same instant at the quoted prices.

This tool is a way to practice the arithmetic and to sanity-check three quotes. If you only want to convert an amount, use the Currency Converter. To see what a bank or card adds to a rate, use the Currency Exchange Markup Calculator, and to clean a pasted column of amounts first, use the Currency Text Column Normalizer. Balance sheet effects of a rate change are in the Foreign Currency Receivable Remeasurement Calculator.

Assumptions and limits

  • Each pair has a single rate with no bid and ask. Real quotes have both.
  • The cost per trade is a percent of the amount traded, applied to each of the three trades.
  • Loops start with 100,000 units of the first currency to make the amounts easy to read.
  • This is not a trading tool or advice. The currency codes are labels and are not checked against a list.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

What does it mean when the quoted rate is higher than the implied rate?

It means the direct quote values the first currency more highly, in terms of the third, than the two quotes through the middle currency do.

Why are there two loops?

You can go around the triangle in either direction, and one direction gains when the other loses. Only the better one can ever be a gain.

Can I use quotes that are written the other way up?

Yes. Divide 1 by a quote to flip it, and enter the result so that each rate reads as units of the second currency for one of the first.

How is the cost applied?

Each trade keeps (1 - cost) of the amount, and three trades keep that to the third power.