Forex Triangular Arbitrage Gap Calculator

JJ Ben-Joseph headshot JJ Ben-Joseph

What is a Forex Triangular Arbitrage Gap?

Triangular arbitrage arises when three related currency pairs are quoted at prices that are not perfectly consistent with each other. In theory, the direct cross rate between two currencies should match the synthetic rate implied by trading through a third currency. When the synthetic rate is better than the direct rate (after costs), a trader can potentially lock in a small, low‑risk profit by executing a three‑leg loop.

This calculator focuses on the arbitrage gap between the direct cross (A/C) and the synthetic cross created by combining A/B and B/C. It uses your bid/ask quotes, starting amount, and per‑leg costs to estimate the net profit or loss from running a full loop in one direction.

How the Arbitrage Gap is Calculated

To understand the gap, you need two rates:

Ignoring bid/ask for the moment, the synthetic rate is simply:

R_synthetic = R_A/B × R_B/C

In live trading, you must respect the direction of each leg and use the appropriate bid or ask:

A typical loop might be:

  1. Convert currency A to B using the A/B pair.
  2. Convert B to C using the B/C pair.
  3. Convert C back to A using the A/C pair.

The calculator multiplies your starting amount in A through each leg, applying bid or ask depending on the trade direction chosen by the underlying logic. It then deducts transaction costs and expected slippage, quoted in basis points (bps), from each leg’s notional amount.

Incorporating Costs and Slippage

Your per‑leg costs are entered as bps. One basis point is one hundredth of a percent:

1bp = 0.01% = 0.0001

If the total per‑leg friction (transaction cost + slippage) is c bps, then the fraction of notional lost per leg is:

f = c × 0.0001

The calculator reduces the effective amount on each leg by this fraction. Over three legs, the combined effect can easily erase a small theoretical arbitrage.

Interpreting the Results

The output typically includes your final amount in currency A after all three legs and a net profit or loss figure relative to your starting amount. Interpretation guidelines:

You can also think in terms of return in bps on your starting amount:

Return (bps) = (Net Profit / Starting Amount) × 10,000

This lets you compare the opportunity to your usual trading edge or minimum acceptable spread.

Worked Example

Imagine you are trading three currencies:

You observe the following quotes (units of quote currency per 1 base currency):

You start with 100,000 EUR in currency A, transaction cost of 0.5 bps per leg, and expected slippage of 0.5 bps per leg (1.0 bp total).

Step by step, a EUR → USD → JPY → EUR loop might look like this conceptually:

  1. Sell EUR for USD at the EUR/USD bid: you receive about 109,980 USD (before costs).
  2. Sell USD for JPY at the USD/JPY bid: you receive about 16,463,604 JPY.
  3. Sell JPY for EUR via EUR/JPY at the ask (equivalent to buying EUR): divide JPY by 164.65 to get back about 99,982 EUR before costs.

On the raw bid/ask quotes, you already lose a small amount to spread. Now apply 1 bp per leg. At 100,000 EUR notional, 1 bp is 10 EUR per leg, or roughly 30 EUR across three legs (more precisely, each leg’s bp cost is computed on the leg’s own notional). When you include these frictions, the calculator will show a slightly negative net profit, indicating there is no real arbitrage despite any apparent theoretical mispricing.

Comparison With Related Forex Tools

Triangular arbitrage analysis sits alongside other risk and pricing tools you may use. Conceptually:

Tool Main Question Answered Primary Inputs Typical Use Case
Triangular Arbitrage Gap Calculator Is there a profitable misalignment between three FX pairs after costs? Three bid/ask pairs, trade size, per‑leg bps Scanning live quotes for short‑lived arbitrage loops.
Forex Pip Value Calculator How much is one pip worth in my account currency? Pair, price, position size, account currency Sizing trades and translating price moves into P&L.
Margin Call Distance Calculator How far can price move before I hit a margin call? Leverage, balance, margin requirement, position size Risk management and stress testing positions.

Together, these tools help you judge both whether a pricing edge exists and whether it is worth the capital, leverage, and operational risk involved.

Assumptions and Limitations

Triangular arbitrage in practice is constrained by several real‑world factors. This calculator is designed as an analytical aid and makes the following assumptions:

Because of these limitations, a positive theoretical gap is not a guarantee of profit. It simply flags a potential opportunity that must be tested against your execution quality, latency, and capital constraints.

Practical Use and Risk Considerations

To use this calculator effectively:

Always remember that triangular arbitrage edges are typically tiny and short‑lived. Even with a favorable gap, execution delays, changing spreads, and liquidity constraints can turn a calculated profit into a real‑world loss. Use the outputs as one input into your decision‑making, not as an automated trade signal.

Triangular arbitrage in practice

Foreign exchange markets trade currency pairs that relate one currency to another. If you multiply the price of A/B by B/C, you obtain an implied price for A/C. When the actual quoted A/C price diverges from the implied price, you can simultaneously trade all three pairs to lock in a profit. Executing this strategy requires speed, access to competitive spreads, and awareness of transaction costs. AgentCalc already provides tools for sizing trades (through the pip value calculator) and for protecting positions (via the margin call distance calculator). The triangular arbitrage gap calculator completes the toolkit by checking whether the apparent mispricing survives after fees and slippage.

The calculator evaluates two loops. Loop 1 starts with currency A, sells it for B using the A/B bid, uses B to buy C via the B/C bid, and then converts C back to A using the A/C ask. Loop 2 mirrors the process in the opposite direction: start with A, buy C at the A/C bid, trade C for B at the C/B bid (equivalently 1 divided by the B/C ask), and finish by buying A with B at the A/B ask. Each leg multiplies the notional by the relevant rate after deducting transaction costs and slippage expressed in basis points. The final amount compared with the starting notional reveals the profit or loss.

The synthetic cross rate generated by the other two pairs is compared to the direct cross rate to quantify the raw mispricing. A positive gap does not guarantee profit because each leg erodes value through spreads and fees. The calculator therefore subtracts an “all-in cost factor” from each rate so you can test whether the mispricing is large enough to overcome friction. This is especially helpful for retail traders whose per-trade costs are higher than institutional desks.

Mathematics behind the gap

Suppose you quote pair A/B with bid price q b and ask price q a . Likewise, pair B/C has bid r b and ask r a , and pair A/C has bid s b and ask s a . Ignoring costs, the synthetic ask for A/C inferred from A/B and B/C is q a × r a , while the synthetic bid equals q b × r b . A triangular arbitrage opportunity exists when the actual bid/ask for A/C lies outside this synthetic interval. After deducting basis-point costs, the calculator computes the final capital after each loop via A final = A 0 × q b × r b × 1 s a × ( 1 c ) , where c aggregates per-leg cost factors converted from basis points.

Costs in basis points are converted into multiplicative adjustments via f = 1 < mi=""> 10 ^ 4 . Each leg multiplies the traded amount by this factor to model commissions and slippage. Because costs accumulate, even a seemingly attractive mispricing may vanish after three deductions. The calculator surfaces both the net payoff and the breakeven mispricing—the percentage gap that would reduce your profit to zero.

Worked example

Imagine you monitor EUR/USD (A/B), USD/JPY (B/C), and EUR/JPY (A/C) quotes. EUR/USD trades at 1.06620/1.06626, USD/JPY at 149.52/149.54, and EUR/JPY at 159.35/159.39. You can start with €100,000. Transaction costs are 0.4 bps per leg with expected slippage of 0.2 bps per leg because of fast markets. Feeding these quotes into the calculator shows that Loop 1 (sell EUR for USD, USD for JPY, JPY for EUR) returns approximately €100,018 after costs, a profit of €18 or 1.8 pips. Loop 2 yields a slight loss because the actual cross is inside the synthetic interval for that direction. The tool additionally reports a breakeven gap of 0.00018 (1.8 pips); if the dislocation were any smaller, fees would erase the edge.

The output also includes the synthetic bid/ask interval for EUR/JPY and the percentage mismatch between the actual quote and the implied value. These diagnostics help confirm whether latency or stale quotes caused the opportunity. The net profit is displayed both in currency A and as a percentage of the starting notional, enabling comparisons across trade sizes. If you run the calculator multiple times per day, you can build a log of how often your broker quotes actionable mispricings versus merely theoretical ones.

Comparison of arbitrage conditions

Triangular arbitrage windows vary dramatically depending on spreads and volatility. The table contrasts three common scenarios using the same €100,000 notional. In each case the calculator deducts 0.6 bps in combined costs per leg.

Market state Raw Mispricing (pips) Net Profit (€) Execution comment
Calm Asian session 0.7 -4 Spreads dominate; avoid trade.
Moderate London open 1.8 12 Viable if fills are simultaneous.
Volatile data release 3.6 42 Large edge but higher slippage risk.

Logging these scenarios clarifies whether your infrastructure and cost structure support arbitrage. If most opportunities fall below the breakeven threshold, improving execution speed or negotiating tighter spreads might yield a bigger payoff than chasing more signals.

Interpreting the outputs

The calculator summarizes the direct versus synthetic cross rates, loop profits in both directions, and breakeven gap. You also see the all-in-cost percentage per leg so you can double-check commissions and market-impact assumptions. A warning appears if any calculated rate is non-positive, signaling inconsistent inputs. Because arbitrage requires near-simultaneous execution, the tool emphasizes percentage payoff so you can compare it with latency risk. A 0.02% edge can disappear during a single 100 ms delay.

Beyond immediate trading, the calculator aids in planning. Suppose you run a carry trade and want to hedge currency risk intraday. Evaluating triangular gaps reveals whether hedging is cheaper through direct crosses or synthetic paths. Similarly, algorithm designers can plug in historical spread data to stress-test whether their strategy would have cleared costs.

Staying cautious

Triangular arbitrage is low risk only when all three legs confirm and clear simultaneously. Retail brokers may reject one leg, leaving you with an unintended open position. Use the breakeven gap to set alarms that exceed your minimum fill probability. Consider automating the input feed from your trading platform to minimize manual entry errors. Always test with small notionals before scaling.

With disciplined monitoring, this calculator helps ensure that every arbitrage attempt is deliberate. Combined with AgentCalc’s existing forex suite, you can evaluate trade sizing, financing, margin, and execution quality within a single ecosystem.

Rates should be consistent live quotes: pair A/B expresses units of B per 1 unit of A, and so on. Costs in basis points apply to the notional traded on each leg. Slippage covers fill uncertainty beyond the quoted bid/ask spread.

Enter live bid/ask quotes to analyze direct and synthetic cross rates and the resulting arbitrage gap.

Embed this calculator

Copy and paste the HTML below to add the Forex Triangular Arbitrage Gap Calculator - Cross Rate Profitability to your website.