Latency Arbitrage and Colocation Explained
Latency arbitrage profits from being faster than other participants at acting on the same public information — a price update on Venue A that has not yet updated Venue B, or a stale quote that has not canceled. It is not classical arbitrage in the risk-free sense; it is a race. This article defines the trade, the infrastructure it requires, and why it matters even if you will never colocate — because latency arb is how your resting orders get adversely selected.
The canonical trade
- ES futures ticks up at CME
- SPY quotes on equity venues are still at the old mid for microseconds to milliseconds
- Fast trader lifts SPY offers (or hits bids the other way) before slow quotes update
- Hedge on futures / ETF / other venues
Economically: you trade against stale liquidity. The slow market maker loses the spread and then some.
edge ≈ |new_fair - stale_quote| - fees - miss_rate_cost
If your reaction time exceeds the quote update time, edge is zero or negative.
Colocation and the speed stack
| Layer | What it is | Order of magnitude |
|---|---|---|
| Colocation | Servers in the exchange data center | Mandatory for HFT |
| Network | Cross-connects, microwave, fiber routes | Microseconds matter |
| Hardware | FPGA / kernel bypass / solarflare-class NICs | Shaves μs |
| Software | Tick-to-trade path length | Nanoseconds–μs |
| Market data | Direct feeds vs consolidated (SIP) | SIP is slower by design |
In the US, the SIP (consolidated tape) lags direct exchange feeds. Strategies that read only SIP are structurally late relative to colocated firms on direct feeds. See HFT and smart order routing.
Is it "unfair"?
Regulation debates aside, the microstructure fact is:
- Exchanges sell speed product (colo, feeds, order types)
- Someone will be fastest
- Slow resting liquidity subsidizes fast takers when quotes are stale
If you post non-updating quotes in a fragmented market, you are the inventory for latency arb. That is why market makers use firewalls, cancel-on-disconnect, and latency-sensitive skew (inventory risk).
Measuring staleness (even if you are slow)
You can study latency effects without being HFT:
import pandas as pd
def stale_quote_markout(quotes: pd.DataFrame, trades: pd.DataFrame,
horizon_ms: int = 50) -> float:
"""
After a trade against a quote, measure mid move over horizon_ms.
Positive markout against maker ⇒ adverse selection / latency loss.
"""
# quotes: ts, bid, ask; trades: ts, price, side (+1 buy lift ask)
mids = (quotes["bid"] + quotes["ask"]) / 2
# join asof — implementation depends on your tick store
return float("nan") # placeholder for architecture discussion
TCA and post-trade markouts at 10ms / 100ms / 1s reveal whether you are providing stale liquidity.
Crypto latency arb
Crypto has:
- Dozens of venues, no SIP equivalent
- Heterogeneous API latency and rate limits (CCXT)
- Withdrawal delays that break true cross-exchange arb
- Triangular and basis races on the same venue
Cross-exchange "arb" without transfer speed is usually statistical (price lag) with inventory risk — closer to lead-lag than risk-free arb. Funding and fee schedules dominate.
What mid-frequency quants should do
You will not win the μs race. You should still:
- Avoid being stale — cancel/replace logic when fair value jumps
- Use appropriate order types — post-only, hidden, pegs with eyes open
- Route smart — do not leave limit orders on venues you cannot monitor in real time
- Widen in uncertainty — around news, when your data feed lags
- Separate research feeds from production — tick architecture
Latency arb is why "passive fills are free alpha" is false. Passive fills are often the ones informed flow wanted.
Capacity and economics
Latency arb capacity is limited by:
- How often prices move enough to create stale quotes
- Competition (many firms racing the same path)
- Exchange fees and maker-taker schedules
- Risk of toxic flow when you are wrong about "fair"
Sharpe can look high at tiny AUM and collapse with scale — classic capacity curve for HFT.
Key takeaways
- Latency arb races to hit stale quotes after a fair-value move
- Colocation and direct feeds are table stakes; SIP-only is late
- Even slow traders must manage adverse selection from faster players
- Crypto "arb" across venues is usually lagged pricing with transfer risk
- Measure markouts — if makers lose after your fills, you are the prey or the predator
