Triangular Arbitrage Calculator
The formula
What the triangular consistency tells you
Tests whether three FX quotes close: if they don’t, someone can loop currency A→B→C→A for free money — the trade is the backbone of FX market making and quote validation.
Calculation: Loop A→B→C→A product vs 1; edge = product − 1 after spread. Enter your inputs and every substitution is shown below the result.
Reading the result
A closing triangle is evidence of a healthy market; persistent non-closure is either stale feeds (most likely) or a sanctioned currency with inconvertible legs (always a trap).
Rules of thumb: Major triangles close inside 0.5–2 bps; retail platform quotes often fail 5–10 bps by construction
Limitations and best practice
Execution latency is the arb: three separate fills mean three directional risks; the "edge" is usually smaller than the time it takes to send the third order.
This calculator gives an estimate based on standard formulas; it is not professional financial, medical, legal or engineering advice. Verify anything you plan to act on with a qualified professional and your own records.
Frequently asked questions
Is triangular arbitrage still real?
Why do my quotes never close?
What breaks the triangle?
Source & methodology
Standard FX market microstructure; CLS Bank data.
How Triangular Arbitrage works — and what your result really means
Time is the one input nobody can renegotiate, which makes getting the arithmetic right worth the minute it takes. Searchers land on a Triangular Arbitrage page for three reasons — to plan, to compare options, and to check that somebody else’s arithmetic is honest. This tool serves all three, and everything after the calculator explains the model instead of hiding it.
The useful way to hold Triangular Arbitrage is as a ratio with a story attached: Loop A→B→C→A product vs 1; edge = product − 1 after spread says how the parts combine, and the 100.36% figure above is simply that sentence written in numbers. Everything that follows unpacks one clause of the sentence at a time.
Money decisions in Finance & Banking almost always reduce to timing: a dollar today versus a dollar next month is a different dollar, and Triangular Arbitrage encodes that difference. When people get Triangular Arbitrage wrong, they usually get the timing wrong — forgetting that EUR/USD (A per B) moves, or that rates quoted and rates paid are different numbers.
What makes a calculation page trustworthy is that its copy is derived from its own arithmetic: here triangular edge = 100.36%, recomputed every time a field changes, and the sensitivity section ranks the inputs that move the result — EUR/USD first, at ≈22.2 % of the headline for a ten-percent error either way in that input. Read the sections in order and you will be able to reproduce every figure by hand.
Inside the Triangular Arbitrage calculation: formula and every input
The engine implements a single stated model: Loop A→B→C→A product vs 1; edge = product − 1 after spread. There is no hidden coefficient and no login-gated precision — the formula printed is the formula executed, which is also what makes the result citable.
EUR/USD (A per B) (example value 1) is a quantity rather than a category — precision here is cheap and worth having. This input feeds the formula directly; a defensible figure here is worth more than false precision anywhere else.
USD/JPY (B per C…) (example value 103) is a plain measured quantity — the unit shown in the label is the unit the formula expects. This input feeds the formula directly; a defensible figure here is worth more than false precision anywhere else.
EUR/JPY traded (A per C) (example value 222) is a measured number in the unit named by the label; the formula does not convert for you. If you are unsure what belongs in this field, look at the printed steps: the substitution shows exactly how the engine uses it.
Starting capital (A units) (example value 2,125,000) is a plain measured quantity — the unit shown in the label is the unit the formula expects. If the true figure falls between counts, run both and read the spread as your uncertainty.
A fully worked Triangular Arbitrage example
Abstract formulas are hard to trust, so here is the complete substitution using the default inputs, written the way an examiner would want it. Starting figures: EUR/USD (A per B), USD/JPY (B per C…), EUR/JPY traded (A per C), Starting capital (A units). Run to the end, the triangular edge resolves to 100.36% — A 100.36% theoretical edge — large enough to check for stale quotes on the bands this tool uses.
- Implied cross: 1.078 × 103.0 = 110.98
- Traded 222.36 vs implied 110.98 → 100.360%
- Loop direction: A→C directly, then C→B, B→A; three spreads ≈ 6 bps minimum to break even
Implied EUR/JPY — 110.98. Read next to the headline, this is the figure that shows the shape of the trade-off.
Traded vs implied — 111.38 JPY. This is the number experienced users quote when the headline alone would mislead.
Edge on capital — $2,132,655. This is the number experienced users quote when the headline alone would mislead.
Min edge to trade 3 legs — 0.06 bps. If your inputs change, this is usually the first companion figure to move.
Re-running with your own figures is instant; re-running by hand once is the best way to know the tool is telling you the truth.
How far Triangular Arbitrage can reasonably move
Single-point answers invite false confidence, so the same engine was run across a band around the input that matters most here. Each row is a full recalculation of Triangular Arbitrage, not an interpolation.
| EUR/USD setting | Triangular edge |
|---|---|
| 80 % of the example value | 150.45% |
| 90 % of the example value | 122.62% |
| example inputs | 100.36% |
| 110 % of the example value | 82.15% |
| 120 % of the example value | 66.97% |
The corridor runs from 66.97% to 150.45% across that band — which is the range worth planning inside rather than the single 100.36% point estimate. Reproduce it in the form above by editing EUR/USD alone; the substitution steps will follow your figures exactly.
Sensitivity: which inputs change Triangular Arbitrage the most
This list was computed for this specific engine just now: each numeric input was nudged ±10 % while every other field held its example value, and the triangular edge was recalculated from scratch. Read it as a map of where Triangular Arbitrage is fragile — drawn for the example inputs, which is the map you want when deciding what to measure carefully.
- EUR/USD +10 % → Triangular Arbitrage = 82.15% · −10 % → 122.62% (the triangular edge shifts ≈22.2 %)
- USD/JPY +10 % → Triangular Arbitrage = 82.15% · −10 % → 122.62% (the triangular edge shifts ≈22.2 %)
- EUR/JPY traded: ten percent up gives 120.40%, ten percent down gives 80.32% — ≈20.0 % of the triangular edge either way
EUR/USD is the dominant lever here: ten percent either way moves the result by about 22.2 %, from 82.15% to 122.62%. Spend your verification effort there first, and USD/JPY is effectively tied with it (≈22.2 % for the same nudge), so verify the pair together. The remaining fields can sit at safe defaults without materially changing the answer — knowing which is which is what separates a careful calculation from an anxious one.
What a Triangular Arbitrage of 100.36% means in practice
The value above only becomes useful the moment you know what it is being measured against. The verdict attached to the default calculation — “A 100.36% theoretical edge — large enough to check for stale quotes” — is one band on a ladder your own figure may sit somewhere else on. Before treating the band as fact, note its width: ten percent either way on EUR/USD already spans 82.15% to 122.62%. The practical reading rules: ask what would have to change to move you one band. If the answer is “a small, plausible input difference”, the band itself is not the finding — the uncertainty is.
Placing this figure in context: calculators of this kind differ less in arithmetic than in what they choose to ignore. This one keeps EUR/USD (A per B) explicit so that the omissions are visible rather than hidden in a preset.
Why Triangular Arbitrage results go wrong — and how to prevent it
Execution latency is the arb: three separate fills mean three directional risks; the "edge" is usually smaller than the time it takes to send the third order. This calculator gives an estimate based on standard formulas; it is not professional financial, medical, legal or engineering advice. Verify anything you plan to act on with a qualified professional and your own records.
Copying a single headline number without checking the companion outputs. The tool reports Implied EUR/JPY, Traded vs implied and Edge on capital alongside the main result precisely because Triangular Arbitrage in isolation misleads — the secondary columns are where outliers and trade-offs show up.
One mistake is specific to this engine: assuming every input matters equally. The computation above shows EUR/USD dominating — a careful figure there beats false precision everywhere else.
A final trap is presentation: reporting Triangular Arbitrage to more decimal places than the inputs support. The tool prints what the arithmetic gives; you should quote only what your least precise field justifies.
Before you trust your Triangular Arbitrage: a short checklist
- State, in one sentence, which convention each rate, unit or period in the form is using.
- Re-run the calculation with a ±10 % stress on the two most sensitive inputs.
- Check EUR/USD before anything else: it is the measured dominant input, ≈22.2 % of Triangular Arbitrage per ten percent.
- Confirm the example values are plausible for your own situation before replacing them.
- Compare the output against one published benchmark or a colleague’s independent estimate.
- Repeat the ±10 % test on the inputs that matter and see whether the decision — not just the number — still holds.
Five steps from raw inputs to a figure you can defend
The tool does the arithmetic; the routine below is what makes the arithmetic trustworthy. Five steps, a minute total — and afterwards you will know not just what the number is, but which assumption produced it.
Step 1 — one document, one pass. Open the statement, label or record that holds eur/usd (a per b), usd/jpy (b per c…), eur/jpy traded (a per c), starting capital (a units) and transcribe straight into the form. Transcription from a single source removes the mismatch errors that appear when figures are assembled from three different places. Most surprises in numbers are surprises about inputs, not about formulas.
Step 2 — enter the conservative case first. Resist the flattering scenario. Type the inputs you would defend in front of a sceptical reader, read the Triangular edge (100.36% for the example values), and note the verdict band. Write the assumptions in the same file as the result, and future arguments take minutes instead of meetings.
Step 3 — measure what deserves measuring. The ranked levers above tell you where a careful figure pays off. Everything else can stay approximate, which is a licence to stop hunting for data you do not need. Compare the calculation to the rough guess you arrived with, and ask why they differ.
Step 4 — run the scenario trio. Expected, pessimistic, optimistic. The gap between pessimistic and expected is the number to plan against; the optimistic result is useful only as a ceiling. Half of a good calculation is knowing which input you would hate to be wrong about.
Step 5 — record the context, not just the number. Note today’s date and the inputs alongside the 100.36% output. Six months from now the context is what turns this figure into a trend. When two sources disagree, it is almost never the arithmetic that differs.
From calculation to decision: where Triangular Arbitrage earns its keep
Most Currency & International disagreements are arithmetic disagreements in disguise. When Triangular edge of 100.36% sits on the table with its working shown, the conversation stops being about who sounds more confident and starts being about which input is wrong. Rounding early is the quietest way to introduce a permanent error.
The audience for this page is people planning around a point or span in time. In professional Currency & International practice the pattern is always the same — screen with Triangular Arbitrage, then invest slow analysis only in whatever survives the screen. Note the assumption you are least sure about; that is where the real risk lives.
Re-running this page costs nothing and catches the slow drifts that never announce themselves. In Finance & Banking the expensive mistakes are rarely sudden; they are small changes in EUR/USD (A per B) that nobody recalculated for a year. Note the assumption you are least sure about; that is where the real risk lives.
People also ask about Triangular Arbitrage
What affects Triangular Arbitrage the most?
Triangular Arbitrage is driven above all by EUR/USD. Perturbing only that field by ten percent either way produced 82.15% against the 100.36% baseline — a ≈22.2 % response, while USD/JPY manages ≈22.2 %.
Do usd/jpy and eur/usd matter equally?
Effectively. Measured on this engine they land at ≈22.2 % and ≈22.2 % for the same ten-percent nudge, so the honest advice is to get both right; chasing precision in only one of them buys almost nothing.
What is a typical Triangular Arbitrage?
There is no honest universal average for Triangular Arbitrage, but there is a reference point: the defaults on this page produce 100.36% (A 100.36% theoretical edge — large enough to check for stale quotes). Replace the inputs with your own and compare — that comparison is the useful meaning of “typical”.
How do I calculate Triangular Arbitrage by hand?
Use the stated model — Loop A→B→C→A product vs 1; edge = product − 1 after spread — and substitute in the order the tool prints (it starts from Implied cross: 1.078 × 103.0 = 110.98). On the example inputs the hand route lands on 100.36%, exactly what the calculator shows. A spreadsheet reproduces it in two or three cells; doing it once by hand is what makes the automated answer trustworthy.
What happens to Triangular Arbitrage if eur/usd changes by 10 %?
Try it in the form above and the printed substitution will follow you; the pre-computed answer for the defaults is 82.15% to 122.62% across the ten-percent probe, i.e. ≈22.2 % sensitivity on the triangular edge.
Is the Triangular Arbitrage result of 100.36% good or bad?
Good and bad are comparisons, so the honest test is three questions: where does your own Triangular Arbitrage sit against the 100.36% reference above, how far would a plausible input error move it (≈22.2 % per ten percent on EUR/USD), and what does the alternative option compute to?
Is Triangular Arbitrage accurate?
The arithmetic is exact: Loop A→B→C→A product vs 1; edge = product − 1 after spread is evaluated with full floating-point precision and every substitution is printed in the worked example. What limits accuracy is input quality and the model’s assumptions, so treat the 100.36% result as the correct answer to the question you typed — and check the assumptions section before acting on it.
How do I calculate Triangular Arbitrage manually?
Write down the inputs, then follow the printed steps in order — Loop A→B→C→A product vs 1; edge = product − 1 after spread. A spreadsheet replicates it with two or three cells. The manual route is worth doing once to build intuition; after that the calculator saves time and eliminates transcription slips.
Is triangular arbitrage still real?
Only for colocated low-latency firms on majors; the spread is now a fee, not a gap.
Why do my quotes never close?
You are seeing bid on one leg and ask on another — the triangle closes after the full spread math.
Can this tool see the numbers I type?
It cannot. There is no submission step: the calculation happens in your browser and the result disappears when you close the page. Treat the fields above as a scratchpad rather than a form.
Glossary for Triangular Arbitrage
- Implied EUR/JPY
- 110.98 for the Triangular Arbitrage worked case; it sits next to the main result because it carries context the headline leaves out.
- Traded vs implied
- 111.38 JPY for the Triangular Arbitrage worked case; it sits next to the main result because it carries context the headline leaves out.
- Edge on capital
- $2,132,655 for the Triangular Arbitrage worked case; it sits next to the main result because it carries context the headline leaves out.
- Triangular edge
- The primary output of this tool: 100.36% for the default inputs, computed exactly from Loop A→B→C→A product vs 1; edge = product − 1 after spread.
- Worked example
- Every substitution in order, from the example inputs to 100.36% — the audit trail for the headline figure.
- Verdict band
- The interpretation attached to a result (“A 100.36% theoretical edge — large enough to check for stale quotes” on these inputs), which turns a bare number into a position on a scale.
- Sensitivity (±10 %)
- How far the Triangular Arbitrage moves when a single input is nudged ten percent either way; the ranked list on this page is computed live from this engine.
Where the Triangular Arbitrage model comes from
Everything above runs on one stated formula, applied without hidden coefficients: Loop A→B→C→A product vs 1; edge = product − 1 after spread. Source of record: Standard FX market microstructure; CLS Bank data. Any other implementation of this model should return the same figure for the same inputs. If one does not, the difference is in its assumptions — which this page prints and that one probably does not.
This page is an estimation aid, not professional advice. The design rule is simple: two people entering identical figures must get identical answers. The promise to the reader is narrow and testable: same inputs, same output, no silent rounding, and no figure presented without the formula that produced it.
What to do with your Triangular Arbitrage next
Re-run whenever a start date moves — time calculations compound small shifts into large misses.
Whoever you are (people planning around a point or span in time), the next step is the same: replace the example inputs with your own, note the date, and re-run whenever a figure moves. In Finance & Banking, a dated figure is a trend, and an undated one is a rumour.
