---
title: "Latency Arbitrage and Its Defence"
book: "Market Making and High-Frequency Trading"
subject: quant
language: en
chapter: 9
exercises: 8
source: https://one-course.com/books/quant/11/en/chapter/9-latency-arbitrage-and-its-defence
---

# Chapter 9 — Latency Arbitrage and Its Defence

A quote that was right a millisecond ago is still resting on one venue after the price has moved on another. The first firm to reach it wins a riskless tick, and the loser of the race is the market maker who left it there. On the London Stock Exchange, Aquilina, Budish and O’Neill counted such races about once a minute in each FTSE 100 stock. The winner beat the first loser by five to ten microseconds, and the races taxed trading at 0.42 basis points. In this chapter’s race model a market maker whose cancel takes a median 50 microseconds, facing three snipers at 40, loses 90% of its races. A 350-microsecond delay on every message changes nothing; the same delay on takers only removes the race. On the simulated market, a market maker that reads the leading instrument within a millisecond halves the informed share of its fills. Reading it more slowly than the lead itself protects it not at all.

## 9.1 Stale quotes and races

**Definition 9.1 (Latency arbitrage, stale-quote sniping, latency race).**

*Latency arbitrage* is trading on a price that public information has already made wrong, before the trader who posted it can correct it. *Stale-quote sniping* is its commonest form: taking a resting quote that a move elsewhere (another venue, a related instrument, a news release) has left behind. A *latency race* is the contest that follows each such event: the snipers’ orders and the liquidity provider’s cancel all head for the matching engine, and the first to arrive decides whether the quote is taken.

The information is public; the only edge is speed. That is what separates [latency arbitrage](#def-hf-latency-arbitrage-and-its-defence-arb) from the adverse selection of chapter 6, where the informed trader knows something others do not. It is a mechanical consequence of processing orders one at a time, in the order they arrive, on a continuous limit order book (One Quant Book 10, chapter 1): whoever is a microsecond faster wins everything, and the price of the race is paid by the quote.

## 9.2 The evidence: races, their size and who wins

Budish, Cramton and Shim studied the S&P 500 future and its fund from 2005 to 2011. The median life of an arbitrage opportunity between them fell from 97 milliseconds to 7, while the median profit per opportunity stayed near 0.08 index points: speed investments shortened the races without shrinking the prize, and the prize went to the fastest. Aquilina, Budish and O’Neill used London Stock Exchange message data, which contain the orders and cancels that failed as well as those that succeeded, and so show the losers of each race. In FTSE 100 stocks they found about 537 races a day per stock; a modal gap between winner and first loser of 5 to 10 microseconds; about 22% of trading volume inside races; and a latency-arbitrage tax of 0.42 basis points of all trading volume (0.53 of volume outside races), against an effective spread of just over 3. Eliminating the races would cut the cost of liquidity by about 17%, some $5 billion a year in global equities. Shkilko and Sokolov found the other side: when weather disrupted the fastest traders’ microwave links, adverse selection and trading costs fell.

The chapter’s race model ([Listing 9.1](#lst-hf-latency-arbitrage-and-its-defence-race)) reproduces the mechanics. After each event the liquidity provider’s cancel and three snipers’ orders reach the engine after lognormal latencies: medians of 50 microseconds for the cancel and 40 for each sniper, jitter 0.3. The quote is at half a tick and the price jumps a tick. The provider is sniped in 89.9% of races, losing 0.45 ticks a share per race on average. Among the snipers, the winner beats the first loser by a median of 7.3 microseconds, the order of magnitude London showed.

## 9.3 Defence by the market maker

A market maker has three defences. The first is speed: [Figure 9.1](#fig-hf-latency-arbitrage-and-its-defence-sniped) shows the probability of being sniped against the provider’s median cancel latency, with the snipers fixed at 40 microseconds. At 20 microseconds it is 12%; at parity, 75%; at 100, certain. The second is prediction: withdraw a quote before the information arrives, from a signal that moves first (chapter 7’s skew, chapter 8’s lead). The third is width and size: a quote that is wider or smaller loses less per race. In practice the three combine, and all have costs: speed is a fixed cost (chapter 1), prediction gives up volume (chapter 6), width gives up capture.

![Probability that a liquidity provider’s stale quote is taken before its cancel arrives, against the provider’s median cancel latency (log scale), with three snipers at a median of 40 microseconds (lognormal jitter 0.3), on a continuous book and on one that delays takers by 50 microseconds; 100 000 races per point. Data: hf_latency.by_lp_latency.](https://one-course.com/images/onecourse/chapters/quant-11/hf-latency-arbitrage-and-its-defence/fig-f8ff48eea05a.svg)

***Figure 9.1.** Probability that a liquidity provider’s stale quote is taken before its cancel arrives, against the provider’s median cancel latency (log scale), with three snipers at a median of 40 microseconds (lognormal jitter 0.3), on a continuous book and on one that delays takers by 50 microseconds; 100 000 races per point. Data: `hf_latency.by_lp_latency`.*

The lead defence can be tested on the simulated market. A one-lot quoter in the fund, which follows the future half a second later, withdraws for a second the side of its quote that the future’s move leaves stale ([Listing 9.2](#lst-hf-latency-arbitrage-and-its-defence-guard)). The informed traders of the fund’s market play the snipers: they trade towards the fund’s efficient price when it moves. Varying how late the quoter reads the future, over four twenty-minute sessions:

| reads the future after | no guard | 1 ms | 100 ms | 300 ms | 600 ms | 1 s |
| --- | --- | --- | --- | --- | --- | --- |
| shares a session | 7 550 | 5 225 | 5 875 | 6 750 | 7 425 | 7 175 |
| informed share of fills | 28.8% | 13.4% | 18.7% | 20.0% | 24.6% | 29.6% |
| five-second mark-out (ticks a share) | 0.174 | 0.402 | 0.374 | 0.330 | 0.192 | 0.099 |

Read within a millisecond, the future halves the informed share and more than doubles the mark-out ([Figure 9.2](#fig-hf-latency-arbitrage-and-its-defence-defence)). The benefit shrinks as the reading slows and is gone once it is slower than the lead itself: at 600 milliseconds the guard reacts after the informed traders have acted, and at one second it withdraws quotes at the wrong moments.

![A one-lot quoter in the fund that withdraws the side the future’s move leaves stale: informed share and five-second mark-out of its fills against how late it reads the future (log scale); the future leads the fund by half a second; four sessions of twenty minutes. Without the guard: 28.8% and 0.174. Data: hf_latency.defence.](https://one-course.com/images/onecourse/chapters/quant-11/hf-latency-arbitrage-and-its-defence/fig-d0bde2dc9922.svg)

***Figure 9.2.** A one-lot quoter in the fund that withdraws the side the future’s move leaves stale: informed share and five-second mark-out of its fills against how late it reads the future (log scale); the future leads the fund by half a second; four sessions of twenty minutes. Without the guard: 28.8% and 0.174. Data: `hf_latency.defence`.*

## 9.4 Defence by the venue: speed bumps and batches

**Definition 9.2 (Speed bump, asymmetric speed bump).**

A *speed bump* is a fixed delay a venue adds to messages before they reach its matching engine. An *asymmetric speed bump* delays only some messages, typically those that take liquidity, while cancellations and new quotes pass undelayed, so that a liquidity provider can correct a stale quote before any taker can reach it.

**Proposition 9.3 (What a delay changes).**

If every inbound message is delayed by the same $d$, the order of arrival at the engine, and so the winner of every race, is unchanged. If only takers are delayed by $d$, a stale quote is taken only when the first taker’s latency plus $d$ is shorter than the provider’s cancel latency, which fails for all races once $d$ exceeds the difference between the slowest cancel and the fastest taker.

**Proof.** Arrival times $t+x_i$ become $t+x_i+d$: a common shift preserves their order. With takers alone delayed, the comparison is $x_{\text{take}}+d<x_{\text{cancel}}$. ∎

A symmetric delay protects against something else: a delay on the venue’s outgoing data as well as its incoming orders stops a trader from reacting to the venue’s own fills before the venue routes a customer’s order onward. The chapter’s race model puts numbers on the designs:

| venue design | probability of being sniped | tax per race (ticks a share) |
| --- | --- | --- |
| continuous | 0.899 | 0.449 |
| every message delayed 350 microseconds | 0.899 | 0.449 |
| takers delayed 350 microseconds | 0.000 | 0.000 |
| frequent batch auction, 100 microseconds | 0.211 | 0.106 |
| frequent batch auction, one millisecond | 0.021 | 0.011 |

A frequent batch auction (One Quant Book 10, chapter 10) processes all the orders that arrive during an interval together, at one price, so speed within the interval is worth nothing; a stale quote is taken only if the takers arrive in an earlier batch than the cancel. Budish, Cramton and Shim proposed it as the market-design response to the race. The longer the batch, the rarer the loss.

**As of September 2026 — Speed bumps in US equities.**

The SEC approved IEX as a national securities exchange on 17 June 2016 (Release 34-78101), with a point of presence and a coil of about 38 miles of optical fibre adding 350 microseconds to messages in both directions. In 2020 it approved IEX’s D-Limit order (SR-IEX-2019-15), a displayed limit order that IEX reprices when its Crumbling Quote Indicator, a model built on eight other exchanges’ quotes, predicts an imminent change of the protected best price: an asymmetric protection run by the venue. In February 2020 it disapproved Cboe EDGA’s Liquidity Provider Protection, which would have delayed incoming executable orders by four milliseconds while letting resting orders be cancelled or revised without delay. On 11 June 2026 it proposed to rescind Rule 611 of Regulation NMS, the trade-through prohibition that makes every venue’s protected quote a target for cross-venue routing (One Quant Book 1, chapter 9).

## 9.5 Last look as a defence

In over-the-counter FX, the liquidity provider’s defence is contractual. Under last look (One Quant Book 2, chapter 15) a provider that streams a price may, during a hold time, compare it with the market and reject a deal request made on a price that has moved against it. It is an [asymmetric speed bump](#def-hf-latency-arbitrage-and-its-defence-bump) controlled by one side, and the reason the FX Global Code sets principles for how it may be used. Chapter 21 prices streams with and without it.

## 9.6 Strategy files

**Strategy file 9.1 — Cross-venue stale-quote sniping.**

**Who pays you, and why.** Liquidity providers whose quotes on one venue have not yet caught up with a trade or quote change on another.

**Instruments and venues.** Stocks traded on many venues; the same future on two venues; coins on several exchanges.

**Signal.** A price change on the fastest-updating venue that leaves a resting quote elsewhere on the wrong side of the new price.

**Sizing and execution.** Immediate-or-cancel orders for the stale quote’s size, sent the instant the move is seen.

**Costs.** Taker fees; the losses of the races lost (orders that miss, or arrive after the quote is gone and trade at worse prices); the fixed cost of being fastest.

**How it dies.** Only the fastest few win: Aquilina, Budish and O’Neill found winners ahead by 5–10 microseconds; venues and providers defend (asymmetric delays, cancel-on-signal).

**Horizon, capacity, infrastructure.** Microseconds; small per race, large in aggregate (about $5 billion a year in global equities); colocation, microwave and hardware (One Quant Books 13 and 14).

**Backtest honestly.** Message-level replay with every competitor’s latency; a replay without the losers’ messages cannot show the races.

**Sources.** Aquilina, Budish and O’Neill (2022); the chapter’s race model: 89.9% of races won by snipers against a provider 10 microseconds slower.

**Strategy file 9.2 — Futures-led sniping of equity quotes.**

**Who pays you, and why.** Market makers in funds and stocks whose quotes lag a move of the index future traded in another city.

**Instruments and venues.** Index futures and the funds and stocks on the index.

**Signal.** The future’s move, translated into each instrument’s units.

**Sizing and execution.** Take the stale quotes of the most exposed instruments first.

**Costs.** The fastest link between the two cities; taker fees.

**How it dies.** The arms race: 97 milliseconds of median opportunity in 2005, 7 in 2011; when bad weather cut microwave links, adverse selection and trading costs fell (Shkilko and Sokolov).

**Horizon, capacity, infrastructure.** Milliseconds; long-haul microwave and fibre (One Quant Book 14, chapters 13–14).

**Backtest honestly.** Real one-way link latency and its weather outages, and the targets’ own cancel speed.

**Sources.** Budish, Cramton and Shim (2015); Shkilko and Sokolov (2020).

**Strategy file 9.3 — Liquidity provision behind an asymmetric speed bump.**

**Who pays you, and why.** Takers who accept the delay for the venue’s quotes; the venue shields the provider from the fastest.

**Instruments and venues.** Venues with asymmetric protections, such as a venue-repriced displayed order (IEX’s D-Limit).

**Signal.** The provider’s own [fair price](https://one-course.com/books/quant/11/en/chapter/2-fair-value#def-hf-fair-value-fair); the venue’s protection handles the races.

**Sizing and execution.** Quote tighter or larger than on continuous venues, since fewer quotes are sniped.

**Costs.** Fewer fills: some takers avoid delayed venues; a venue’s repricing may move the quote when the provider would not have.

**How it dies.** Regulation: the SEC disapproved an asymmetric four-millisecond delay on Cboe EDGA in 2020; takers route around the venue.

**Horizon, capacity, infrastructure.** As for any quoting; the venue supplies the protection.

**Backtest honestly.** Model who stops routing to the venue; the race model’s zero sniping at 350 microseconds assumes takers still come.

**Sources.** SEC orders of 2016, 2020 (IEX) and 2020 (EDGA); the chapter’s race model.

**Strategy file 9.4 — Defensive quote cancellation on a lead signal.**

**Who pays you, and why.** Uninformed takers keep trading with the provider; the snipers find no stale quote.

**Instruments and venues.** Any follower instrument with a leader: a fund and its future, a stock and its sector, a secondary venue and the primary.

**Signal.** The leader’s move minus the follower’s over a short window, read as fast as possible.

**Sizing and execution.** Withdraw the stale side for a short hold; return at the back of the queue.

**Costs.** Volume given up (31% here at 1 ms), messages, queue places.

**How it dies.** When the snipers read the leader faster than the provider: at 600 milliseconds, beyond the lead, the guard no longer protects.

**Horizon, capacity, infrastructure.** Microseconds to milliseconds; a feed from the leader’s venue.

**Backtest honestly.** The provider’s real latency to the leader’s data, and the snipers’ latency, not a merged clock.

**Sources.** This chapter: informed share of fills 28.8% without the guard, 13.4% with a 1-millisecond reading, 24.6% at 600 milliseconds.

## 9.7 Tutorial: who wins the race

**Goal.** Simulate [latency races](#def-hf-latency-arbitrage-and-its-defence-arb) under each venue design, and test a lead-based defence on the simulated market. **End state:** the two tables and Figures [9.1](#fig-hf-latency-arbitrage-and-its-defence-sniped) and [9.2](#fig-hf-latency-arbitrage-and-its-defence-defence).

1. **Races.** `firm.latrace.race` draws every message’s latency and applies the venue’s rule. `def race (design: str = " continuous " , n: int = 100_000 , lp_median: float = 50.0 , sniper_median: float = 40.0 , snipers: int = 3 , jitter: float = 0.3 , d: float = 0.0 , tau: float = 1000.0 , jump: float = 1.0 , half: float = 0.5 , seed: int = 1 ) -> dict : rng = np.random.default_rng(seed) c = _lat(rng, lp_median, jitter, n) s = _lat(rng, sniper_median, jitter, (n, snipers)) first = s.min(axis=1 ) second = np.sort(s, axis=1 )[:, 1 ] if snipers > 1 else np.full(n, np.inf) if design in (" continuous " , " symmetric " ): sniped = first < c # a symmetric delay shifts both by d elif design == " asymmetric " : sniped = first + d < c elif design == " batch " : u = rng.uniform(0.0 , tau, n) sniped = np.floor((u + first) / tau) < np.floor((u + c) / tau) else : raise ValueError(design) arrivals = np.column_stack([c, s]) ordered = np.sort(arrivals, axis=1 ) return {" p_sniped " : float (sniped.mean()), " tax " : float (sniped.mean() * max (jump - half, 0.0 )), " gap_median " : float (np.median(ordered[:, 1 ] - ordered[:, 0 ])), " first_loser_gap " : float (np.median(second - first))}` **Listing 9.1.** A hundred thousand races at once, under four venue designs. code/firm/latrace/firm_latrace.py
2. **Designs and latencies.** `hf_latency.designs()` and `by_lp_latency()` .
3. **The guard.** `LeadGuard` reads the future with its own delay and withdraws the stale side for a second. `def on_market (self , ctx, t, top): x = ctx.external(top) mid = 0.5 * (x[" bid " ] + x[" ask " ]) self .own.append((t, mid)) while len (self .own) > 1 and self .own[1 ][0 ] <= t - self .window: self .own.pop(0 ) if self .guard: gap = (self ._lead_mid(t) - self ._lead_mid(t - self .window)) - (mid - self .own[0 ][1 ]) if gap >= self .move: self .until[-1 ] = t + self .hold elif gap <= -self .move: self .until[1 ] = t + self .hold bq = self .size if ctx.position + self .size <= self .limit and t >= self .until[1 ] else 0 aq = self .size if ctx.position - self .size >= -self .limit and t >= self .until[-1 ] else 0 ctx.quote(int (x[" bid " ]), bq, int (x[" ask " ]), aq)` **Listing 9.2.** Withdraw the side the leader’s move leaves stale. code/firm/latrace/firm_latrace.py
4. **Test** with `defence()` on four sessions in which the fund follows the future by half a second.

**What to change next.** Replace `firm_tape` by `firm.exchsim` (One Quant Book 10, chapter 26) with two venues and a latency matrix, and race real sniper agents; give the snipers a random latency advantage that changes daily.

## 9.8 Build: the race simulator

**Purpose.** The probability of losing a race and its cost, under a venue design, for a given latency profile; and a lead guard for any quoter.

**Interface.** `race(design, n, lp_median, sniper_median, snipers, jitter, d, tau, jump, half, seed) -> {p_sniped, tax, gap_median, first_loser_gap}`; `LeadGuard(leader_t, leader_mid, lead_delay, move, window, hold, size, limit)`.

**Rules.** Latencies are drawn per message; designs: continuous, symmetric, asymmetric, batch (cancels first within a batch). The guard reads the leader with its own delay, never the simulator’s truth.

**Acceptance tests.** `code/firm/latrace/tests/`: a symmetric delay leaves every race’s winner unchanged; a 350-microsecond asymmetric delay protects every quote; a faster provider is sniped less; a one-millisecond batch cuts sniping by more than ninety per cent; the tax equals the probability times the stale edge.

**Stretch.** Races on `firm.exchsim` with its asymmetric-delay and batch-interval settings; a sniper that learns the provider’s cancel latency.

Sources and further reading

- M. Aquilina, E. Budish and P. O’Neill, “Quantifying the high-frequency trading arms race”, *Quarterly Journal of Economics* 137(1), 2022.
- E. Budish, P. Cramton and J. Shim, “The high-frequency trading arms race: frequent batch auctions as a market design response”, *Quarterly Journal of Economics* 130(4), 2015.
- A. Shkilko and K. Sokolov, “Every cloud has a silver lining: fast trading, microwave connectivity, and trading costs”, *Journal of Finance* 75(6), 2020.
- SEC, Release 34-78101 (IEX, 2016); order approving SR-IEX-2019-15 (D-Limit, 2020); order disapproving SR-CboeEDGA-2019-012 (2020); Regulation NMS reforms fact sheet (2026).

## 9.9 Exercises

**Exercise 9.1 ★.**

A quote at half a tick is taken after a two-tick jump. What does the sniper earn per share?

**Solution of Exercise 9.1.**

$2-0.5=1.5$ ticks a share, before fees.

**Exercise 9.2 ★.**

A symbol has 537 races a day over an eight-and-a-half-hour session. How many a minute?

**Solution of Exercise 9.2.**

$537/510\approx1.05$ a minute.

**Exercise 9.3 ★.**

A provider’s cancel arrives 60 microseconds after an event, the fastest taker’s order 45. What delay on takers alone protects the quote?

**Solution of Exercise 9.3.**

More than $60-45=15$ microseconds.

**Exercise 9.4 ★★.**

Prove that a delay applied equally to every inbound message changes no race, and say what a symmetric delay is still good for.

**Solution of Exercise 9.4.**

See [Proposition 9.3](#prop-hf-latency-arbitrage-and-its-defence-bump): arrival times shift by the same $d$ and keep their order. A symmetric delay, applied to the venue’s outgoing data too, still stops traders from reacting to the venue’s own executions faster than the venue can route a customer’s order on.

**Exercise 9.5 ★★.**

Why does a frequent batch auction with a one-millisecond interval still let 2% of stale quotes be taken in the chapter’s model?

**Solution of Exercise 9.5.**

When the event falls just before the end of a batch, a taker can arrive before the boundary while the slower cancel lands after it: the taker is in an earlier batch. The chance is about the gap between the two latencies divided by the interval, here about 2%.

**Exercise 9.6 ★★.**

From [Figure 9.2](#fig-hf-latency-arbitrage-and-its-defence-defence), at which reading delays does the guard still halve the gap between the unguarded informed share and the 1-millisecond one?

**Solution of Exercise 9.6.**

Half-way between 28.8% and 13.4% is 21.1%: the guard still does it at 100 ms (18.7%) and 300 ms (20.0%), not at 600 ms (24.6%).

**Exercise 9.7 ★★★.**

*Coding.* Run `race` with the asymmetric design, `lp_median=70`, `d=50` and the chapter’s other parameters, how often is the provider sniped, and how large must the takers’ delay be to bring it under 1%?

**Solution of Exercise 9.7.**

0.314. The probability falls to 1.0% at a 110-microsecond delay and to 0.5% at 120: the delay must cover the provider’s disadvantage plus most of the jitter.

**Exercise 9.8 ★★★.**

*Find the flaw.* “Our replay of the exchange’s order-book feed shows no [latency races](#def-hf-latency-arbitrage-and-its-defence-arb) in this stock, so [latency arbitrage](#def-hf-latency-arbitrage-and-its-defence-arb) does not affect us.”

**Solution of Exercise 9.8.**

An order-book feed shows only the orders that succeeded; the losers of a race (orders that missed, cancels that came too late) leave no trace in it. Races are visible only in message data with failed attempts, as Aquilina, Budish and O’Neill used, or in one’s own logs of rejected cancels and missed takes.

## 9.10 Problem: The Race Nobody Sees

**Problem 9.1.**

Weekend problem — the race nobody sees

A market maker in a fund suspects it is paying for other firms’ speed. Find out how much, and what would stop it.

**Part I — Races.**

1. Define [latency arbitrage](#def-hf-latency-arbitrage-and-its-defence-arb) , [stale-quote sniping](#def-hf-latency-arbitrage-and-its-defence-arb) and a [latency race](#def-hf-latency-arbitrage-and-its-defence-arb) , and distinguish them from informed trading.
2. What did Budish, Cramton and Shim find about the future–fund arbitrage from 2005 to 2011?
3. Give Aquilina, Budish and O’Neill’s counts, race gaps, share of volume and tax.
4. Why could they see races that an order-book feed cannot show?

**Part II — The model.**

5. Describe the race model and its parameters.
6. Give the probability of being sniped and the tax on a continuous book.
7. Give the probability at provider latencies of 20, 40 and 100 microseconds.
8. What is the gap between the winner and the first loser, and how does it compare with London?

**Part III — Venue designs.**

9. Define a [speed bump](#def-hf-latency-arbitrage-and-its-defence-bump) and an [asymmetric speed bump](#def-hf-latency-arbitrage-and-its-defence-bump) .
10. Prove [Proposition 9.3](#prop-hf-latency-arbitrage-and-its-defence-bump) .
11. Give the sniping probability under each design of the table.
12. Summarise the regulatory record of the dated box.
13. Why is last look an [asymmetric speed bump](#def-hf-latency-arbitrage-and-its-defence-bump) , and who controls it?

**Part IV — The verdict.**

14. State the *named result* : the latency-arbitrage tax as a share of the provider’s half-spread on a continuous book, with a symmetric delay, with an asymmetric one and with a one-millisecond batch.
15. Give the lead guard’s informed share and mark-out at 1, 300 and 600 milliseconds, and explain the pattern.
16. What does the guard cost?
17. Which defence would you choose for a new fund market maker without the fastest links?
18. Why might takers stop routing to a venue with an asymmetric delay?
19. What would the rescission of the trade-through rule change for cross-venue sniping?
20. In one sentence: who pays for [latency arbitrage](#def-hf-latency-arbitrage-and-its-defence-arb) ?

**Solution of Problem 9.1.**

1. See [Definition 9.1](#def-hf-latency-arbitrage-and-its-defence-arb) ; the information is public and only speed matters, unlike informed trading, which uses information others do not have.
2. The median opportunity fell from 97 to 7 milliseconds; its median profit stayed near 0.08 index points.
3. About 537 races a day per FTSE 100 stock; modal gap 5–10 microseconds; about 22% of volume in races; tax 0.42 basis points of all volume.
4. Message data contain failed orders and cancels, the losers; an order-book feed shows only what succeeded.
5. One provider cancel at a median 50 microseconds against three snipers at 40, lognormal jitter 0.3; a one-tick jump against a half-tick quote.
6. 0.899, and 0.449 ticks a share per race.
7. 12%, 75% and 99.9%.
8. A median 7.3 microseconds, within the 5–10 microseconds reported for London.
9. See [Definition 9.2](#def-hf-latency-arbitrage-and-its-defence-bump) .
10. See the proof: a common shift keeps the order; with takers alone delayed the comparison becomes $x_{\text{take}}+d<x_{\text{cancel}}$ .
11. 0.899 continuous and with a symmetric 350-microsecond delay; 0 with the same delay on takers only; 0.211 and 0.021 for batches of 100 microseconds and one millisecond.
12. IEX approved with a 350-microsecond delay (2016) and its venue-repriced D-Limit order (2020); EDGA’s four-millisecond asymmetric delay disapproved (2020); rescission of the trade-through rule proposed (2026).
13. The provider may reject a deal request after a hold time if the price has moved; the provider controls it, within the FX Global Code’s principles.
14. 90% of the half-spread on a continuous book and with a symmetric delay ( $0.449/0.5$ ), zero with an asymmetric delay, 2.1% with a one-millisecond batch.
15. 13.4% and 0.402 at 1 ms, 20.0% and 0.330 at 300 ms, 24.6% and 0.192 at 600 ms: the guard works while it reads the leader faster than the lead, and fails beyond it.
16. 31% of the volume at 1 ms (5 225 shares a session against 7 550), and messages.
17. A lead guard fed as fast as it can afford, a slightly wider quote, and a preference for venues that protect quotes.
18. The delay makes their fills slower and less certain; routers that value speed of execution go elsewhere, as the SEC’s record of objections shows.
19. Venues would no longer have to route to or respect each other’s protected quotes; stale quotes could be traded through instead of taken, changing which races are worth running.
20. Liquidity providers, and through their wider spreads, everyone who trades.

## 9.11 Interview questions

**Interview question 9.1 ★ trader.**

What is the difference between being adversely selected and being sniped?

**Solution of Interview question 9.1.**

Adverse selection: the counterparty knew something you did not. Sniping: the information was public, and the counterparty was faster to act on it than you were to cancel.

*What the interviewer is looking for: private versus public information.*

**Interview question 9.2 ★★ researcher.**

How would you measure how often your quotes lose [latency races](#def-hf-latency-arbitrage-and-its-defence-arb), from your own data?

**Solution of Interview question 9.2.**

Log every cancel that arrived too late (rejects, fills between send and acknowledgement) and the fills that followed a move on another venue within your round trip; compare the timestamps of the move, your cancel and the fill.

*What the interviewer is looking for: too-late cancels and cross-venue timestamps.*

**Interview question 9.3 ★★ developer.**

Where would you look to shave ten microseconds off your cancel path?

**Solution of Interview question 9.3.**

The path from the market-data packet to the cancel on the wire: kernel bypass, feed decoding, the decision, the order encoding, the network card, the link to the exchange; measure each stage before optimising (One Quant Book 13, chapter 1).

*What the interviewer is looking for: a measured, stage-by-stage view.*

**Interview question 9.4 ★★ researcher.**

Why does a frequent batch auction remove the value of speed within the batch but not at its boundaries?

**Solution of Interview question 9.4.**

Within a batch all orders are treated alike and priced together, so arriving earlier gains nothing; at a boundary, arriving just before rather than just after it puts an order into an earlier auction.

*What the interviewer is looking for: discrete time and its edges.*

**Interview question 9.5 ★★ risk.**

Your firm’s microwave link goes down in a storm. What changes in the strategies’ risk, and what do you do?

**Solution of Interview question 9.5.**

The firm becomes slower than its competitors on that route: its quotes there are stale for longer and its taking strategies lose races. Widen or withdraw the affected quotes, stop the latency-sensitive strategies, and fall back to the fibre route with its latency in the risk parameters.

*What the interviewer is looking for: operational dependence on speed and a fallback.*

**Interview question 9.6 ★★★ researcher.**

A provider’s cancel latency is exponential with mean $c$ and each of $n$ snipers’ latency exponential with mean $s$, all independent. What is the probability that the provider is sniped?

**Solution of Interview question 9.6.**

The minimum of $n$ exponentials with mean $s$ is exponential with rate $n/s$; it beats an independent exponential of rate $1/c$ with probability $(n/s)/(n/s+1/c)=nc/(nc+s)$.

*What the interviewer is looking for: competing exponentials.*
