CalcFX

TRIANGULAR FX · CROSS RATES

Triangular arbitrage calculator

Enter three currencies and a fee: get the per-leg breakdown of the A→B→C→A loop and a cross-source scan of real divergences.

Triangular arbitrage analyser

LIVE · 2026-11-05
→
→
◆ No profit after costs -1.154%
0.9950Product 1.0000 = the no-arbitrage line1.0050
Loop product (routed)1.003433
Loop product (single source)1.000000
After 3 fees9,884.56
Net %-1.154%
Break-even fee0
LegRateBest sourceYou get
USD → EUR 0.890950 C 8,909.50 EUR
EUR → CNY 7.5103 A 66,912.89 CNY
CNY → USD 0.149961 C 9,884.56 USD

Simulated on routed quotes: 1 USD → EUR = 0.888026 · 1 EUR → CNY = 7.5103 · 1 CNY → USD = 0.149940

SCAN

Cross-source arbitrage scan

Fix a base currency; every mainstream two-hop loop is ranked by net return after fees. Only positive paths are shown.

#PathLeg sources Loop productNet product Net return
1 USD → AFN → ANG → USD B/A/B 1.023355 1.00808117 ▲ 0.81%
2 USD → ANG → AFN → USD A/B/A 1.023355 1.00808117 ▲ 0.81%
3 USD → JPY → AFN → USD C/B/A 1.020915 1.00567792 ▲ 0.57%
4 USD → RUB → AFN → USD A/B/A 1.019192 1.00397996 ▲ 0.40%
5 USD → AFN → RUB → USD B/A/B 1.019192 1.00397996 ▲ 0.40%
6 USD → CHF → AFN → USD C/B/A 1.019017 1.00380812 ▲ 0.38%
7 USD → AFN → PHP → USD B/A/C 1.018748 1.00354310 ▲ 0.35%
8 USD → AFN → IDR → USD B/A/C 1.018616 1.00341347 ▲ 0.34%
9 USD → PHP → AFN → USD A/B/A 1.018327 1.00312854 ▲ 0.31%
10 USD → IDR → AFN → USD A/B/A 1.017997 1.00280330 ▲ 0.28%
11 USD → AFN → AMD → USD B/A/B 1.017651 1.00246292 ▲ 0.25%
12 USD → AMD → AFN → USD A/B/A 1.017651 1.00246292 ▲ 0.25%

Universe: top 40 liquid currencies, two-hop loops · data snapshot · 2026-11-05 · quote feed A · 1560 paths tested

Tip: the closer your fee is to real transaction costs, the more honest the verdict.

HOW IT WORKS

How triangular FX math works

A triangular (cross) rate between two currencies is implied through a third. With R(A→B), R(B→C), R(C→A) as the pairwise rates, the loop A→B→C→A multiplies capital as:

Final = Capital × R(A→B) × R(B→C) × R(C→A)

A product above 1 means the loop returns more than you started with; below 1 means a loss. Every trade has a cost, so the tool deducts your fee in bps per leg and only marks paths that stay positive after costs.

The honest part: any single source is internally consistent, so the product is always exactly 1. Real divergence lives between data sources — CalcFX routes each leg to the best published quote, so the scan reflects genuine cross-source gaps instead of mathematical noise.

⚠️ Risk notice

Mid-market rates differ from the rates banks actually give you; retail FX adds 0.5%–3% in spreads and fees. This data is for comparison and research, not investment advice. Always re-check with a live platform before executing.

Which currencies does the scan cover?

The scan uses the 40 most liquid currencies in the current snapshot (USD, EUR, CNY, JPY, GBP, HKD, CHF, AUD, CAD …). The manual calculator supports all 200+ codes including BTC and ETH.

What fee setting should I use?

1 bp = 0.01%. Bank FX spreads commonly run 30–150 bps; FX brokers can be 1–5 bps. Start at 50 bps, then match your channel. The engine reports the break-even fee — above it, no path can win.

The calculator says “no profit” — does arbitrage really not exist?

For individuals, opportunities evaporate fast and get eaten by fees, so this is normal. The value here: at ultra-low fees (1–5 bps) you can see the real cross-source divergence ranking — which source is dearest, which path is cheapest.

How large are divergences between the three sources?

Typically 0.01%–0.3% for major pairs; larger for exotics and crypto. Pair detail pages show all source quotes: bigger divergence, bigger theoretical triangle space.

Convert first, hunt arbitrage second

Converter and triangular tool share the same live data.