Statistical Arbitrage and Pairs Trading in Forex: How It Works (2026 Guide)

Statistical arbitrage is the quiet cousin of the arbitrage family. There is no race to a stale quote, no millisecond edge and no second broker to beat. Instead, a stat-arb trader bets that a price relationship which has held for months will snap back after it stretches. In forex the classic form is pairs trading: buy one currency pair, sell a related one, and wait for the gap between them to close.

It sounds simple, and the maths is not hard. Where most traders go wrong is in the details that tutorials skip: confusing correlation with cointegration, ignoring the shared USD leg, underestimating swaps on a trade that lasts days, and trusting a relationship long after the fundamentals behind it have changed. This guide walks through the whole mechanism with a worked AUD/USD vs NZD/USD example, the real cost stack, and what platform, data and broker setup the strategy needs.

What statistical arbitrage is (and what it is not)

Statistical arbitrage is a family of strategies that trade relative mispricing between instruments whose prices are statistically tied together. You are not predicting whether EUR will rise or fall. You are predicting that the spread between two instruments, which has historically fluctuated around a stable average, will return toward that average.

The word “arbitrage” is generous. A true arbitrage is close to riskless: you capture a price difference that exists right now. Stat arb carries real risk, because the relationship can break and the spread can keep widening. It is better described as a market-neutral mean-reversion strategy. That distinction matters when you compare it with the strategies this site usually covers.

StrategyWhere the edge comes fromTypical holding timeWhat matters most
Latency arbitrageA slow broker quote lags a fast reference feedSeconds or lessFeed speed, execution speed, broker tolerance
Hedge (two-broker) arbitragePrice differences between two brokers, hedged across accountsSeconds to minutesTwo-account execution, masking, costs
Triangular arbitrageA cross rate drifts out of line with its two legsMilliseconds to secondsVery low costs, simultaneous fills
Statistical arbitrage / pairs tradingA stretched spread between related instruments reverts to its meanHours to weeksModel quality, costs incl. swaps, regime risk

The practical consequence: stat arb is far less sensitive to latency and far more sensitive to statistics and holding costs. A 50-millisecond delay is irrelevant on a trade that lasts four days. A swap of a dollar a night is not.

Correlation is not cointegration

The most common mistake in forex pairs trading is picking two pairs because they are “highly correlated”. Correlation measures whether two series move in the same direction from day to day. It says nothing about whether the distance between them stays bounded. Two pairs can be 0.9 correlated and still drift steadily apart for a year, which is exactly what destroys a pairs trade.

Cointegration is the property you actually need. Two price series are cointegrated when some linear combination of them, the spread, is stationary: it wanders, but it keeps getting pulled back to a stable mean. That pull is the edge.

Correlated, NOT cointegrated Cointegrated Pair A Pair B Spread keeps widening: no mean to revert to mean Spread oscillates around a stable mean: tradable prices prices spread spread
Illustrative. Both pairs on the left are strongly correlated, yet the spread trends away. Only the cointegrated pair on the right gives a spread that keeps returning to its mean.

The standard check is the Engle-Granger test: regress one price on the other, then run an Augmented Dickey-Fuller (ADF) test on the residuals. If the residual series is stationary (a p-value below about 0.05), the pair is a candidate. For baskets of three or more instruments, the Johansen test does the same job. Two rules keep you honest: test on one window and confirm on a later, unseen window, and re-run the test regularly in live trading, because cointegration is not a permanent property.

Building the spread in forex

The hedge ratio

The regression in the cointegration test also gives you the hedge ratio (beta). If AUD/USD = 1.10 × NZD/USD + constant + noise, then the spread is:

Spread = AUD/USD − 1.10 × NZD/USD

To trade it, you buy 1.00 lot of AUD/USD and sell 1.10 lots of NZD/USD (or the reverse). Because both pairs are quoted in USD, the P&L of that position is simply 100,000 × the change in the spread. That neat property is one reason USD-quoted majors are the usual starting point.

The shared-currency trap most guides miss

Here is the forex-specific twist. When both legs share a currency, the USD largely cancels out. Long AUD/USD and short NZD/USD in similar size is, economically, very close to being long AUD/NZD. Likewise EUR/USD vs GBP/USD is mostly a bet on EUR/GBP.

That is not a reason to avoid the trade, but it changes how you should think about it:

  • Compare costs against the cross. Two legs means two spreads and two commissions on every entry and exit. If the broker’s AUD/NZD spread is tighter than the combined legs, trading the cross directly may be cheaper for nearly the same exposure.
  • Your real risk is the two economies. The spread reverts only while the forces linking Australia and New Zealand, or the eurozone and the UK, stay similar. A divergence in central-bank policy is exactly what breaks it.
  • Diversification is smaller than it looks. Ten “different” USD-pair trades may really be three cross-rate bets. Group your pairs by the underlying cross before sizing.

Entry and exit rules: z-score and half-life

Raw spread values are hard to compare across pairs, so the spread is normalised into a z-score:

z = (current spread − rolling mean) ÷ rolling standard deviation

A common rule set looks like this: enter when the spread is two standard deviations from its mean (sell the spread at z = +2, buy it at z = −2), exit when it returns to the mean (z = 0), and stop out if it stretches to around z = ±3.5, because at that point the relationship itself is in doubt. These thresholds are starting points to test, not magic numbers.

Trading the z-score of the spread +3.5 +2 0 −2 −3.5 stop zone sell spread exit at mean buy spread enter short exit enter long exit enter short keeps going: stop at +3.5 time (days) → two clean reversions, then a breakdown that the stop must handle
Illustrative z-score path. Most of the edge comes from repeated reversions; most of the damage comes from the one time the spread does not come back.

The second number to know is the half-life of mean reversion: how long, on average, the spread takes to close half of a deviation. Estimate it by regressing the daily change in the spread on yesterday’s deviation from the mean. If the coefficient is −0.17, the half-life is −ln(2) ÷ −0.17 ≈ 4.1 days. The half-life tells you three useful things at once: a sensible lookback window for the rolling mean (a few half-lives), a time stop (close a trade that has not reverted after two or three half-lives), and how many nights of swap you should expect to pay.

A worked example: AUD/USD vs NZD/USD

The numbers below are illustrative, chosen to show the mechanics rather than to promise a result. Assume the pair passed the cointegration test with a hedge ratio of 1.10, a rolling spread mean of 0.0020 and a standard deviation of 0.0010 (10 pips), and a half-life of about four days.

  1. Signal. The spread falls to 0.0000, so z = (0.0000 − 0.0020) ÷ 0.0010 = −2.0. The model says buy the spread.
  2. Position. Buy 1.00 lot AUD/USD, sell 1.10 lots NZD/USD, entered as close to simultaneously as possible.
  3. Exit. Six trading days later the spread is back at 0.0020 (z = 0). Gross profit = 100,000 × 0.0020 = $200.

Now the part that decides whether the strategy survives, the cost stack on that single round trip:

Cost itemAssumptionCost
Spread, AUD/USD leg0.2 pip × $10 × 1.00 lot$2.00
Spread, NZD/USD leg0.4 pip × $10 × 1.10 lots$4.40
Commission$7 per lot round trip × 2.10 lots$14.70
Slippage / leg timing~0.2 pip per leg$4.20
Swaps~$1.50 net per swap-day × 8 (6 nights incl. one triple)$12.00
Total$37.30

A winning trade nets about $163. A trade that hits the −3.5 stop loses 15 pips of spread ($150) plus the same costs, about −$187. Trades that hit the time stop near the entry level cost roughly the fee stack plus a little drift, say −$60. If 55% of trades win, 25% stop out and 20% time out, the expectancy is 0.55 × 163 − 0.25 × 187 − 0.20 × 60 ≈ +$31 per trade. That is positive, but notice how thin it is: costs eat almost a fifth of every winner, and a slightly worse hit rate or a broker with higher commission turns the system flat.

Two lessons fall out of this. First, a stat-arb system lives or dies on its costs per round trip, so the two-leg structure and swaps must be modelled from day one. Second, the stop-loss is not a formality; the right tail of losses is where these strategies fail.

The risks that break forex pairs trades

  • Regime change. The most dangerous risk. When two central banks start moving in different directions, a spread that was stationary for years can trend for months. Your stop protects the account; a scheduled re-test of cointegration tells you when to retire the pair.
  • Event gaps. Rate decisions, elections and surprise interventions can move one leg far more than the other in a single print, jumping straight past your stop.
  • Leg risk. If one leg fills and the other is rejected or slips, you briefly hold a naked directional position. Execution that sends both orders together and checks both fills is essential.
  • Overfitting. Scan enough pairs and some will look cointegrated by luck. Out-of-sample confirmation and a small, economically sensible universe beat brute-force searching.
  • Swap drift. On a carry-heavy pair, negative swap on a long-held position can turn a good model into a loser. Check both legs’ swaps before trading the pair at all.
Lifecycle of a tradable pair 1. Universe economically linked pairs only 2. In-sample Engle-Granger / ADF, beta, half-life 3. Out-of-sample same rules, unseen data, full costs 4. Live z-score entries, price + time stops 5. Retire test fails or regime changes rolling re-test every few weeks: still cointegrated? same beta? fail → drop fail → drop
A pair is not a permanent asset. It earns a place through out-of-sample testing and keeps it only while the rolling re-test still passes.

What platform, data and broker stat arb needs

Because the edge is statistical rather than speed-based, the infrastructure checklist looks different from latency arbitrage:

  • Clean multi-symbol history. You need aligned bars (or ticks) for every pair in the universe, with the same timestamps and session boundaries. Misaligned data creates fake spreads and fake signals.
  • A research environment. Python (statsmodels, pandas) or a similar tool for cointegration tests, hedge ratios and half-life estimates. Most retail platforms can execute a pairs strategy but are awkward for the statistics.
  • Two-leg execution. The platform should send both legs together, size them by the hedge ratio, and alert or unwind if one leg fails. MT4, MT5, cTrader and FIX-connected setups can all do this with the right automation.
  • A hedging-friendly account. Pairs positions are offsetting by design, so the broker must allow simultaneous long and short exposure and automated trading.
  • Low all-in cost per lot and transparent swaps. As the worked example shows, commission and swaps matter more here than raw execution speed.

The broker question is where many traders start, and it deserves its own research. Our comparison of forex brokers that allow arbitrage strategies covers which venues tolerate algorithmic and arbitrage-style flow, and the guide on how to choose a broker for arbitrage explains what to check in the terms, the execution model and the cost schedule before you fund an account. Stat arb is usually less controversial with brokers than latency arbitrage because it does not exploit stale prices, but automated, two-sided trading still needs to be explicitly allowed.

Stat arb vs latency arbitrage: which one fits you?

The two strategies reward different strengths. Latency arbitrage rewards infrastructure: fast feeds, fast execution, careful broker selection and account management. Its trades are tiny, frequent and short. Statistical arbitrage rewards research discipline: good data, honest testing and patience through drawdowns. Its trades are larger, rarer and held for days. Some traders run both, using the same broker relationships and VPS, but they should be treated as separate businesses with separate risk budgets.

If you are weighing up which approach suits your capital, time and temperament, our overview of which arbitrage strategy is more suitable for you compares the main options side by side, and the two-broker hedge arbitrage strategy page covers the speed-based approach that also uses offsetting positions, but for a completely different reason.

A short checklist before you trade a pair

  1. Is there an economic reason the two instruments should stay linked?
  2. Did the pair pass a cointegration test in-sample and hold up out-of-sample with full costs?
  3. Have you checked whether the equivalent cross rate is cheaper to trade directly?
  4. Do you know the half-life, and does your time stop use it?
  5. Have you modelled both legs’ spreads, commission and swaps per round trip?
  6. Is there a hard stop, and a schedule for re-testing the relationship?

FAQ

Is statistical arbitrage really arbitrage?

Not in the strict, riskless sense. It is a market-neutral mean-reversion strategy. You profit if a stretched spread returns to its average, and you lose if the relationship breaks. The “arbitrage” label comes from the fact that you hold offsetting positions and bet on relative, not absolute, prices.

Which forex pairs are best for pairs trading?

Pairs with a clear economic link are the usual candidates: AUD/USD and NZD/USD, EUR/USD and GBP/USD, or USD/CAD against an oil-related instrument. No pair is permanently suitable, though. Test for cointegration on recent data, confirm it out-of-sample, and re-test regularly.

What is the difference between correlation and cointegration?

Correlation measures whether two series move in the same direction over short periods. Cointegration means a combination of them, the spread, stays stationary and keeps reverting to a mean. Pairs trading needs cointegration; highly correlated pairs can still drift apart indefinitely.

Do I need low latency for statistical arbitrage?

Much less than for latency arbitrage. Trades last hours to weeks, so milliseconds rarely matter. What matters is that both legs are executed together with minimal slippage, and that your costs per round trip, including swaps, are low.

What z-score should I use to enter and exit?

A common starting point is entry at ±2, exit at 0 and a stop around ±3.5, combined with a time stop of two to three half-lives. Treat these as parameters to test on out-of-sample data with full costs, not as fixed rules.

Can I run pairs trading on MT4 or MT5?

Yes. Both platforms can execute two-leg trades through automation, and so can cTrader or a FIX connection. Most traders do the statistical research (cointegration tests, hedge ratios, half-life) in Python and use the trading platform for execution and monitoring.

About The Author

Comments
0 Comments
Comments will be displayed after approval by the administrator