When Late Is Wrong

The reversal of stale order-flow signals
and the latency-information frontier

Nikhil Reddy GoguPhD candidate, ICMA Centre
Work in progressOctober 2026

1Background: the order book, the flow signal, and the scoring

The order book, the flow signal, staleness, and the three scores

The order book

A stock does not have one price. It has a queue of buyers and a queue of sellers, each stating a price and a number of shares.

The quote is the best bid and the best ask: the prices at which someone will sell to you or buy from you right now. The price is the midpoint between them. The gap is the spread, measured in ticks of one cent.

The touch is the shares waiting at the two best prices. Orders at a price fill in the order they arrived, so the 90 shares at 100.00 are ahead of anything posted there later.

Every message changes the book: an order added, cancelled or executed. A full NASDAQ session holds 280 to 370 million messages for our 58 stocks, about 13 every millisecond and far more in bursts.

In the high-priced stocks the touch has thinned since 2019.

20192025
Best quote holding fewer than 100 shares46% of the session85 to 88%
Median touch581 shares172 shares
Median spread1.6 ticks3.4 ticks
Illustrative book for a USD 100 stock; the sizes are not data. The message stream is a random illustration at a slowed rate. The facts in the table are from the preliminary draft (Section 2 and the mechanism section): message counts per full-depth NASDAQ session, and the touch in the high-priced stocks across the sample.

Time scales, from a nanosecond to a second

1 ns10 ns100 ns1 µs10 µs100 µs1 ms10 ms100 ms1 s10 sthe rule on a chiptree ensemblethe horizonthe delaythe signal windowfrontier language models
UnitHow longSomething that takes about this longIn this paper
1 nanosecond (ns)a billionth of a secondlight travels about 30 cmthe simplest trading rule, wired into a chip, answers: 1.0 ns
1 microsecond (µs)a millionth of a seconda thousand nanosecondsa tree-based statistical model answers on one processor core: 2.4 µs
1 millisecond (ms)a thousandth of a seconda deep-learning model of the book answers: 1.7 msthe horizon we score. After a burst of buying, the first price change now arrives within 1 ms in 39 to 45% of events
10 msa hundredth of a secondten million nanosecondsthe delay at the centre of the paper: the signal acted on 10 ms late
100 msa tenth of a secondroughly a blink of the eyethe window the trading signal looks back over; a mid-sized language model answers in 252 ms
1 second and moreabout a heartbeat; a frontier language model answers: 0.75 to 2.8 sthe 1 s and 60 s horizons, where every model is close to a coin

Each tick on the axis is ten times the one before; the rule on the chip and the language model are nine orders of magnitude apart. Across the 58 stocks the book receives roughly 13 messages every millisecond on average, and far more in bursts.

Comparisons are approximate. Message rate: 280 to 370 million messages in a regular session of six and a half hours, over the 58 stocks. The models named here are introduced in part 3; the times are the preliminary draft's measured latency cards. The first-move share is from the full-depth days, high-priced stocks.

The flow signal: net buying over the last 100 ms

Order flow over the last 100 ms is buying pressure at the best prices minus selling pressure. New bids and buys that hit the ask count as buying; new asks and sales into the bid count as selling.

An illustrative 100 ms windowBuying pressureSelling pressure
Orders placed at the best prices500 shares of new bids at 100.00400 shares of new asks at 100.02
Trades300 shares bought from the ask at 100.02200 shares sold into the bid at 100.00
Cancellations at the best prices100 shares of asks cancelled150 shares of bids cancelled
Buying
500300100
900 shares
Selling
400200150
750 shares

The rule, which we call the flow rule: if buying dominated over the last 100 ms, predict that the mid moves up over the next millisecond; if selling dominated, down. Here: net buying, so the signal says up.

Flow rule, flow signal, order-flow imbalance: three names for one thing. Every "stale signal" in this talk is this rule acted on late.

Acted on instantly it works: right 68 to 76% of the time in every half-year from 2019 to 2026 (in the high-priced stocks, 69.0% in 2019 H1 and 68.0% in 2026 H1). A coin scores 50%.

A second signal, the depth imbalance: which side of the book has more shares waiting. It scores 46 to 55%, and it does not reverse at any delay.

The flow rule acts on the 100 ms level-one order-flow imbalance, the standard measure in this literature: net buying pressure at the best prices over the trailing 100 ms. The depth imbalance compares the shares waiting on the two sides. Accuracies on nonzero mid moves over the next millisecond, pooled over the 58 names on the 60 confirmatory days.

Taking, making, and the four events that move the mid

The signal says up. Acting on it means sending a buy order into this book, and there are two ways to do that.

Take: buy the 120 shares offered at 100.02 now. Certain, but you pay half the spread: one cent on USD 100, about one basis point (a basis point is one hundredth of one percent).

Make: post your own bid at 100.00 or a cent better and wait for a seller. You earn the spread if a seller comes, but you may not be filled, or be filled just as the price turns down.

Event 3: the price fell without a trade. The buyers’ own best bid was cancelled and the midpoint dropped. This event comes back in the mechanism section.

A seller hits the bid. The same new mid as event 3, by a different message: an execution against the bid.

What we score is the move in the mid after your order arrives: the information value of the decision before any cost. The mid only moves when a best price changes, and these are the four ways it does.

Four events that move the midNew bestNew midFor a buyer who acted on "up"
1   A buyer takes all 120 shares at 100.02ask 100.03100.015with the buying: up
2   A buyer posts a bid at 100.01, inside the spreadbid 100.01100.015with the buying: up
3   The 90 shares bid at 100.00 are cancelledbid 99.99100.005against: own side pulled
4   A seller sells 90 shares into the bid at 100.00bid 99.99100.005against: down
The same illustrative USD 100 book. The mid moves only when the best bid or the best ask changes: a trade empties a level, the last shares at a best price are cancelled, or a new order is placed inside the spread. We score the mid; the "after paying the spread" column later assumes taking at arrival.

Staleness: the book moves while the order travels

t: you read the book and send a buy
t + 10 ms: your order reaches the exchange
market data in · the model computes · the order travels back
messages while your order travelled: 0

The book you saw

The book your order meets, 10 ms later

The book your order meets differs from the book you saw. The shares you meant to buy may be gone, or the bid beneath them cancelled. The age of the information when the order arrives is its staleness, written L in the draft. Every decision has one.

Illustrative: the right-hand book receives a random stream of about 130 messages, the average count for 10 ms across the 58 stocks, and ends with two scripted events: the 120 shares taken and the bid cancelled. We call the age of the information at arrival its staleness, L.

A late signal: the weaker case and the wrong case

t: you see buyingt + 10 ms: your order arrives+ 1 ms: scored
Weaker: the price has moved part of the way by the time you act, so you capture less. The signal still points the right way.
t: you see buyingt + 10 ms: your order arrives+ 1 ms: scored
Wrong: the price has moved and come back. You are now on the wrong side of the next move.

The paper measures which of the two happens when the signal is acted on late, and when it changed.

Acted onRight in 2019 H1Right in 2026 H1Reading
instantly69.0%68.0%the signal works
1 ms late56.1%56.3%weaker, and unchanged across the years
10 ms late55.2%38.0%weaker in 2019, wrong in 2026
High-priced (small-tick) stocks, 100 ms flow rule, scored on the millisecond after arrival; 60 confirmatory days, four per half-year. "Right" is the share of nonzero mid moves whose direction the signal called correctly.

How we score a late decision

the last 100 ms of order flow, read at ttthe model reads the bookt + Lthe order arrivesstaleness L: the order is on its way (10 ms)t + L + hthe move is scoredhorizon h: the move we score (1 ms)

No model is credited for a move that happened while it was computing: the move is scored from the moment its order would have arrived.

How often right

The share of price moves whose direction the signal called correctly. A coin scores 50%.

How much of the movement right

The same share, weighted by the size of each move. Right on the small moves and wrong on the large ones scores below 50% here while above it by count.

The money

The average signed mid change per decision, in basis points (hundredths of one percent), before any trading cost. The quantity a trader cares about.

Whiskers and intervals. Every estimate carries a 95% interval from resampling stock-days (one stock on one day) 1,000 times, because moments within a day are not independent. If the whiskers do not cross 50%, chance is an unlikely explanation. Where a claim rests on few days, a day-level interval is given beside it.
L is the imposed staleness and h the horizon from arrival; the diagram is not to scale. Zero moves are excluded from the accuracy objects and included in the signed markout. Every technology, the rules included, is scored on the same sampled states.

The data: 58 stocks, 2019 to 2026, three layers

20192020202120222023202420252026Complete NASDAQ order books: 19 sessionsConfirmatory days: 60, two per quarterConsolidated prices: 8 + 2 sessions

Complete NASDAQ order books

19 sessions, 2019 to 2026; every order rebuilt from 280 to 370 million messages a day. Answers which technology wins at each speed, and what moves inside the book. Independent test days: 2 in 2019, 3 in 2026.

Confirmatory days

60 new days, two per quarter from 2019 Q1 to 2026 Q2, chosen by a calendar rule written down before the data were pulled; simple rules only, no fitted models. Answers when the reversal happened, in sign and in money. 60 independent days.

Consolidated prices

The best quote across eight exchanges on four days in 2019 H1 and four in 2026 H1; the official national best bid and offer on 1 and 2 July 2026. Answers whether it is one exchange’s screen or the national price.

Stocks are grouped by price, because a one-cent tick means different things. For a USD 10 stock a cent is a big step and the queue at each price is deep; for a USD 500 stock a cent is nothing, quotes are thin and move often. Large tick: below USD 20. Mid: 20 to 100. Small tick: above USD 100, where the megacaps now sit.
Pre-registered means written down before the new data were pulled, with its rules and its predictions, so the dating could not be tuned to the result. One prediction, a single clean flip, was rejected by the data and is reported as such.
Three relative-tick groups by the day's median trade price: below USD 20 (large tick), 20 to 100 (mid), above 100 (small). The confirmatory test was registered after the reversal was found in the full-depth data and before any new data were pulled. Stock-day block-bootstrap intervals throughout; day-level intervals beside them where a claim rests on few days. The calendar marks the actual session dates.

2The finding

A flow signal acted on 10 ms late in the high-priced stocks: right 55% of the time in 2019, right 38% of the time in 2026

Sign accuracy of the stale flow rule by half-year, high-priced stocks

30%40%50%60%70%20192020202120222023202420252026whiskers entirely below 50%chance, 50%1 ms late100 ms late10 ms late48%49%44%38%

Each point is a half-year of the high-priced stocks: four confirmatory days. H1 and H2 are the first and second halves of the calendar year. The whiskers are 95% intervals.

1 ms late: above 50% throughout; 55 to 56% in the last two half-years. The turn has not reached one millisecond.

100 ms late: 55 to 63% in 2019 and 2020; below 50% from late 2021; 41% in 2026 H1.

10 ms late: at or above 50% through early 2024, then 48, 49, 44 and 38%.

38% right means 62% wrong on these moves. From 2025 H2 the whiskers sit entirely below 50%.

The delay at which the signal stops being right moved from beyond 100 ms to about 10 ms, in stages. The pre-registered single clean flip was rejected; the dating is reported as found.

Small-tick stocks, 100 ms flow rule, scored on the millisecond after arrival; 60 confirmatory days, four per half-year. Whiskers: 95% stock-day block-bootstrap intervals. The 1 ms series is re-aggregated from the stored 1 ms scores and has no published interval.

Signed markout of the stale flow rule by half-year

-0.020-0.015-0.010-0.0050+0.005201920202021202220232024202520262024 H2: accuracy 48%, markout negative
2019 H12024 H22025 H22026 H1
How often right55%48%44%38%
How much of the movement right53%41%41%38%
The money, bps per decision+0.001−0.005−0.006−0.015

The money score, which the draft calls the markout: the average signed mid change per decision for someone following the 10 ms-old signal, in basis points. A basis point is a hundredth of one percent, one cent on USD 100.

Positive in 2019 and 2020. Negative with the interval clear of zero from 2024 H2, a full year before the count fell below 50%.

In 2024 H2 accuracy was 48%, close to chance, and the wrong calls fell on the larger moves: the movement-weighted accuracy was 41% and the markout was negative.

The markouts are small per decision; the spread paid to trade is many times larger. What matters is the sign: a trader watching the markout would have flipped the signal a half-year before one watching accuracy.

Average signed mid change per decision when following the 10 ms-old signal, in basis points, including decisions where the mid did not move; small-tick stocks, 60 confirmatory days. Whiskers: 95% stock-day intervals; they exclude zero in 2021 H2, 2022 H1, 2024 H2 and every half-year from 2025 H2. Before spreads, fees and fills.

Break dates by name, and two natural experiments

Among the 23 high-priced namesNames with a significant downward breakMedian break dateMiddle half of the dates
10 ms late, how often right18August 2024May 2022 to February 2025
10 ms late, the money16April 2025July 2024 to December 2025
100 ms late, how often right10January 2022May 2021 to July 2024
2020202120222023202420252026the middle half of the 18 break datesmedian break: August 2024the last cohort: QCOM, MSFT, NXPI, AMD (Aug to Dec 2025)
  • The late-2025 step in the pooled line is the last cohort joining: QCOM in August, MSFT and NXPI in November, AMD in December 2025.
  • Stock splits (a lower price, same company): only the Alphabet split of July 2022 moves the cells, and opposite to the within-stock evidence; AAPL, TSLA and NVDA sit inside the placebo distribution.
  • The round-lot rule change of 3 November 2025 (smaller official lots for the highest-priced names): no evidence that the treated names’ reversal deepened (−0.05, p = 0.26); their money score improved (+0.007 and +0.012 bps).
  • One market-wide episode, August and November 2021, in every group, recovered by early 2022: reported without a cause.
One least-squares break per name with a permutation p-value; exploratory, since all names share the same 60 days. Placebo ranks are descriptive, not calibrated tests (with 22 to 26 controls the smallest attainable rank is 0.04). The growth of the sub-100-share layer at the touch remains the untested candidate cause.

Three prices: NASDAQ, the official NBBO, the all-size best

US stocks trade on more than a dozen venues. The same signal, on the same moments on 1 and 2 July 2026, scored against three prices:

99.9899.99100.00100.01100.02100.03100.04NASDAQ’s own quote100.000: 90 shares bid100.020: 120 shares offeredThe official NBBO100.000: best round-lot bid on any exchange100.020: best round-lot ask on any exchangeThe all-size best100.005: an odd lot of 40 inside the spread100.015: an odd lot of 30 inside the spread

NASDAQ’s own quote

The exchange’s displayed best bid and ask: the book we have been looking at.

39.2%[36.9, 41.5]

−0.0124 bps per decision

The official NBBO

The National Best Bid and Offer: the best bid and best ask across all US exchanges, counting round lots of 100 shares only. What a broker must honour and a retail investor sees.

38.9%[37.0, 40.9]

−0.0124 bps: exactly as much as NASDAQ’s quote

The best quote across eight exchanges, any size

Includes odd lots, orders of fewer than 100 shares, which can sit inside the official spread without changing the NBBO. In the high-priced stocks most quotes at the touch are odd lots.

41.2%[39.1, 43.4]

−0.0063 bps: about half as much

The same holds with national flow: buying pressure summed across the eight exchanges, or across the seven other exchanges alone, reverses on every price by the same amount (38.7% and 40.1% on the official NBBO). On the 17 names whose official lot is still 100 shares, the NBBO reverses in full (36.4%).
1 and 2 July 2026, small-tick stocks, 56 stock-days; identical sampled states and shared valid support. The official NBBO is from NYSE Daily TAQ in the SIP sequence. Intervals: 95% stock-day bootstrap. Across eras, on the eight-venue best: 56.8% in 2019 H1 to 41.2% in 2026 H1. The price axis is illustrative.

The first price move after a burst of buying, 2019 against 2026

2019: the sellers give way

2026: the buyers’ own bid is pulled

First price move within 10 ms of a burst of buying2019-202025-26
Goes with the flow: sellers give way, or a buyer improves the bid64%56 to 60%
Goes against it because the buyers’ own best bid is pulled15%18 to 23%
The same, at ordinary moments with no burst14%18 to 25%
Goes against it because a seller hits the bid4%7 to 8%
Share of bursts whose first price move arrives within 1 ms30%39 to 45%

The same shift at ordinary moments with no burst at all: a general change in how liquidity is provided in these stocks, quotes placed and pulled within milliseconds.

Whether a pulled quote was fleeting, or a duplicate cancelled after a fill on another exchange, is not visible on one exchange’s book.

This is event 3 from the order-book slide, happening far more often. The whole of the fall in the with-flow share is the flow’s own side withdrawing; sweeps and refills on the other side did not rise, and the first move arrives sooner.

First mid change within 10 ms of a burst of buying or selling (top-decile flow events, about 2,500 per stock per day), classified by the book message that produced it; 19 full-depth days, small-tick stocks; stock-day bootstrap intervals within ±0.02. "Own side" is the side the pressure came from: the bids under buying pressure. The two books are illustrative and loop.

Four possible artefacts and the checks

The worryThe checkWhat survives
The signal counts a new bid as buying, so a pulled bid reverses it mechanicallySplit the signal into executed trades only and quotes only; score each 10 ms late on the same momentsTrades alone reverse at least as strongly: right 38.6% with −0.023 bps, against 39.8% and −0.021 for the full signal
The tiny quotes at the touch are the whole storyRebuild the best price from the first level holding at least 100 shares; compare the two books on common support (the same moments)Same on either book: right 55% in 2019-20 and 46% in 2026; the 100-share best is displaced against the flow within 10 ms in 24% of events, against 17%
It is NASDAQ’s own flowRecompute buying pressure across the eight exchanges and across the seven others; score on the official NBBORight 38.9% with NASDAQ flow, 38.7% with national flow, 40.1% with other-exchange flow
It is the spread opening and closingMoments with a one-tick spread at both ends; the price defined as the microprice, a mid weighted by the shares on each sideOne-tick moments are under 1% of moves and stay above 50%; on the microprice the signal is right 42% in the last two half-years

These checks protect the measurement of the reversal. None of them identifies its cause.

Each row uses its own stated support; the rows are not a decomposition of one estimate. These checks protect the measurement of the reversal; none of them identifies its cause.

3Technology: speed against capacity

Every trading technology timed on its own hardware, from a one-nanosecond rule to language models, and scored at the moment its order would arrive

The four technology rungs and their time to answer

A model with more capacity reads more from the same snapshot of the book; a slower model acts on an older snapshot. The frontier measures which effect is larger at each prediction horizon.

TechnologyWhat it does with the bookTime to answer
A rule in a chip (an FPGA: a chip whose wiring is programmed for one computation)compares a handful of numbers1 nanosecond
A tree ensemble on one processor core300 trees over 25 features2.4 microseconds
A deep network on a GPUa convolutional model of the book1.7 milliseconds
A frontier language model over the APIreads the same numbers as text and answers; the open models are read at their internal score for up against down, which is faster than text0.75 to 2.8 seconds
Every rung reads the same 25 numbers describing the book at t. None reads news or text, so the comparison is about capacity and speed only. Prior work prices a millisecond of data for one model class, or maps compute against latency on a benchmark data set; no study times every technology on the hardware it would run on and scores it at the moment its order would arrive on real books.

The reversal adds to the cost of delay: if the response to flow has come and gone before a slow model has finished computing, the slow model is late and also wrong.

Every rung reads the same numbers, the order book at t; none reads news or text. Latencies are from the preliminary draft's latency cards.

Measured latency of each technology

1 ns10 ns100 ns1 µs10 µs100 µs1 ms10 ms100 ms1 s10 sFlow rule, depth-imbalance rule1.0 ns, FPGALogic-gate network8.2 ns, FPGALogistic read-out9.1 ns, FPGATree ensemble (LightGBM)2.37 µs, one CPU corethe first price move after a burstwithin 1 ms in 39 to 45% of burstsDeepLOB network1.70 ms, GPU4B language model, logits109 ms, GPU27B language model, logits252 ms, GPUFrontier language models0.75 to 2.81 s, API round trip
What is timed: computation only, from inputs present to an answer. The trip from the exchange to you and back is extra, the same for every rung, and would shift all of them together without changing the order.

The sweep marks the time since the book was read. In the high-priced stocks the first price move after a burst arrives within a millisecond in 39 to 45% of cases, before the deep network has answered and before any language model has.

Computation boundaries: FPGA register-to-register timing from out-of-context place and route (VU47P, Vivado 2025.2); C on one pinned Xeon 8488C core; GPU at batch one on an NVIDIA L40S; API round trip from the same region. None includes the path from the exchange to you and back, which is common to every rung and would shift all of them together. The sweep runs at a constant speed per decade, not in real time.

The 2019 frontier: best accuracy at each latency budget

50%60%70%80%no delay100 ns1 µs10 µs100 µs1 ms10 ms100 ms1 s10 s1 ms ahead10 ms ahead1 s ahead60 s ahead79%79%62%54%

For each time budget, the best accuracy among the technologies that fit inside it, each scored at that delay. "No delay" is what the best model would score if it could act instantly; it is the reference for the cost of delay.

The next millisecond: 79% with no delay, 79% at 10 µs (the tree ensemble), 62% at 1 ms, 54% at 10 ms. Most of the loss sits between 100 µs and 10 ms.

Ten milliseconds ahead: the same shape, lower.

At longer horizons the curves flatten: at 60 s every technology is within a point of a simple rule.

Speed was worth half a point up to 10 µs and 17 points by 1 ms; cleverness at most 8 points, and only where speed was also available.

In money, the most confident decile of decisions earns 1.01 bps at 10 µs and 0.11 at 1 ms, against a half-spread of 2.4 bps, so no latency budget pays a trader who crosses the spread.

For each latency budget L, the best accuracy among technologies whose own measured latency fits within L, each scored at that delay; 2019-20 test days, 116 stock-days. Whiskers: 95% stock-day intervals. The envelope is conditional on selecting the winner on the test days; a validation-selected policy is within 0.5 points at 55 of 60 cells.

Fast against slow models at horizons from 1 s to 60 s

At horizons of a second or more, a second of delay might matter less and capacity more. The test:

50%55%60%65%1 s ahead62.1%54.1%gap 8.0 points [4.2, 12.1]10 s ahead57.3%51.2%gap 6.1 [3.7, 8.6]60 s ahead53.7%51.2%gap 2.5 [0.3, 4.9]best fast model, scored 1 µs latebest slow model (own latency at least 100 ms), scored at its own latency

With no delay charged, the language models read the book well: the two largest beat the simple rule for horizons of 10 ms to 1 s (65 to 68% against 62 to 66%) and edge the tree ensemble at 1 s and 60 s on a small sample.

Charged for the seconds they take, all four are close to chance (49 to 54% at 1 s ahead). A reasoning budget lifts one of them from 65.6 to 69.3% with no delay and adds nothing at its own latency (51.0%).

2019-20 test days. "At its own latency" means each slow model is scored on what the price did after the seconds it needed to answer, as if its order had been sent then. Language-model read-outs on a 2,320-state sample of the test days, with intervals two to three times wider than the full-sample cells. Differences in points of accuracy with 95% stock-day intervals.

The frontier out of time: 2021, 2025 and 2026 days

Accuracy predicting 1 ms ahead, by latency budget. The 2019 models scored unchanged on later days, then refitted on December 2025 and scored on 2026.

Test days and model vintageno delay10 µs100 µs1 ms10 msEdge kept at 1 ms
2019-20 test days, 2019 models (116)79.2%78.7%75.8%62.2%53.5%42%
2021, 2019 models (55)77.9%77.6%75.1%58.1%52.1%29%
December 2025, 2019 models (249)74.3%73.7%70.2%56.9%53.5%28%
2026, 2019 models (146)70.7%70.0%66.1%56.3%51.9%30%
2026, models refitted on December 2025 (146)73.2%72.3%68.1%57.3%59.5%31%

Up to 10 µs nothing changes: 96 to 99% of the no-delay edge is retained in every era. The whole shift sits between 100 µs and 10 ms, where the queue now reacts. A signal one millisecond old kept 42% of its edge in 2019 and under a third in every later era.

Retraining recovers the no-delay point; the stale cells stay low: about half of the no-delay loss is model drift, nearly the whole of the stale loss is the market. The last row’s 10 ms cell is a model trained for its own delay; the flow rule at that cell scores 41.4%.

Pre-registered tests: the 2019 models scored unchanged on later days; models refitted on 8 to 11 December 2025, validated on 12 December and scored on the 2026 days. Stock-days in parentheses. Edge retained: (F at 1 ms − 50%) over (F with no delay − 50%).

Policies at the stale cell: 10 ms late, 2026

Follow the flow signal, 10 ms late, 2026
41.4%
right, on the nonzero moves
→
Do the opposite
58.6%
right, on the same moves, by arithmetic
A model trained for its own 10 ms delay
59.4%
+0.8 points [+0.1, +1.5]; in money, indistinguishable from zero
Policy at the stale cellRight [95% interval]Money, bps per decisionAfter paying the spread, bps
Follow the flow signal41.4%  [39.7, 43.2]−0.0087−8.8
Do the opposite58.6%  [56.8, 60.3]+0.0087−8.8
Do the opposite of a model trained for no delay56.6%  [55.0, 58.1]+0.0032−9.0
A model trained for its own 10 ms delay59.4%  [57.8, 60.9]+0.0103−13.1
Trained model minus "do the opposite"+0.8 points  [+0.1, +1.5]+0.0016  [−0.0014, +0.0043]

Learning pays where the signal is fresh relative to the horizon: at 1 ms late predicting 10 ms ahead, the model beats the flipped rule by 3.4 points and 0.088 bps per decision.

After paying the spread, no policy makes money as a taker at any cell. What the stale cell offers is its sign, and a half-year of markouts reveals the sign in time.

2026 test days, 10 ms late, predicting 1 ms ahead; the choice among policies and the sign of the rule were fixed on a validation day (12 December 2025). "Trained for its own delay" means the model learned from examples labelled with what the price did 10 ms after each snapshot. Both policies are scored on the same moments and their difference resampled as a pair. Taker P&L per traded state after the half-spread at arrival.

4Interpretation, literature, and next steps

A framework for technology choice, the literature, the next steps, and how the work could grow

Implications for technology choice and market design

A trading technology is a pair, how clever and how slow, and its value per decision is the money it earns at the moment its order arrives. Three things follow from the measured frontier.

  • Horizon sorting. For predictions milliseconds ahead the fast simple rungs win, because delay destroys the gain from cleverness faster than cleverness creates it (17 points lost by 1 ms against at most 8 gained). A minute ahead, speed hardly matters and cleverness and cost decide.
  • Where the arms race stops. Shaving latency is worth what the frontier gives for it, and below 10 µs for trees or 100 ns for a rule it gives nothing, because nothing cleverer fits there.
  • The reversal adds a cost of being wrong. Once the response to flow has completed within a slow model’s delay, a late decision takes the wrong side. A batch auction every 10 ms (collect orders for a fixed interval and match them at one price) would remove the cell the reversal lives in, if the response completes within the batch. This is a testable hypothesis.
  • Who loses. Decisions that follow 10 ms-old flow with no other information. The prints of traders who arrive 5 to 15 ms after a burst move their way, so late traders use more than the stale signal; no class of participant is identified as losing.
Draft Sections 8 and 9 and Appendix E. Partial equilibrium: the framework takes the market's response to flow as given and asks what one trader should do; no market shares, no welfare claim. A market maker's value is further conditional on fills and adverse selection, which the frontier does not measure.

Where this sits in the literature

LiteratureWhat it establishedWhat this paper adds
Price response to tradesBouchaud et al. 2004; Lillo et al. 2003; Taranto et al. 2018; Campigli et al. 2022A trade’s price impact is partly temporary; models of how it decays, in trade time; time-varying impact at the scale of trades and days.How that response at the millisecond scale changed over years, dated on pre-registered days, and what it does to a signal that arrives late.
Speed and absorptionBudish et al. 2015; Menkveld and Zoican 2017; Chordia et al. 2005, 2018; Hasbrouck and Saar 2009; van Kervel 2015Speed as a race for stale quotes; order flow absorbed within seconds to hours; fleeting orders and the liquidity mirage as two readings of quote withdrawals.Absorption measured at the millisecond scale, at the queue, across years, and a frontier that prices latency against capacity for a prediction.
Learning in marketsAït-Sahalia et al. 2022; Hedges 2026; Liu 2026; Dugast and Foucault 2018The value of a millisecond of data for one model class; compute against latency on a benchmark data set; single hardware rungs; raw fast data against processed slow data.Measured latencies from 1 ns to seconds on real books, every prediction scored at arrival, the stale cell as the reversal and the flipped rule as the benchmark any model must beat.

The contribution sits at the junction of the three: a dated change at a fixed arrival delay, joined to value and to technology choice.

The closest studies, from the literature survey of October 2026 and the preliminary draft.

Next steps on the paper

  • Add dates where the cells are thin. The official NBBO beyond two July sessions; the 2026 policy test beyond three sessions; the 2019 frontier beyond two test days; day-level intervals beside the stock-day ones wherever a claim rests on a handful of days.
  • Identify the mechanism. Participant-level or multi-venue order data, or a design around venue events, to separate fleeting quotes from quotes pulled after a fill elsewhere; a test of the sub-100-share layer at the touch, the named candidate still open.
  • Tighten the claims to what the results support. Narrow "acted on 1 ms late it never reverses" (the 2023 H2 small-tick estimate is 48%); reconcile 38 against 39 of 40 days; report the frontier as a test envelope beside the validation-selected policy; keep the flipped rule and the money score as the benchmarks.
Derived from the preliminary draft's own stated limits and from checks of its results. No new results are implied.

How the work could grow: three parts

This is how I see the work growing: three parts, on the same data and the same scoring rule.

A measurement framework

The dated reversal and the frontier: the useful life of order-flow information, scored at arrival, by market, year and technology. Every new chip or model class is a new rung on the same ladder; every tick-size, lot-size or batch-auction change re-dates the turn.

A mechanism

With multi-venue or participant-level order data: how liquidity is supplied and withdrawn within milliseconds, and which reading of the own-side withdrawal survives. A model of quote provision at that scale, tested where the reversal lives.

Technology choice and market design

The value of a decision at the moment its order arrives as the primitive; speed and capacity as the choice; batch intervals and speed bumps as the levers, with implications testable on the same books.

What keeps it relevant: policy is moving on the objects this measures (the round lot for high-priced stocks changed on 3 November 2025, the half-penny tick is now due in November 2027, batch auctions and speed bumps are live design levers), the frontier can be re-estimated for every new technology, and scoring at arrival is a method later work can adopt.

A possible shape; each part depends on the one before it and on data still to be secured.

When Late Is Wrong

The reversal of stale order-flow signals
and the latency-information frontier

Nikhil Reddy Gogun.r.gogu@pgr.reading.ac.uk

Technical backup

← Return to the closing slide

Each appendix slide returns here through the link at its top right. Press Q to return to the closing slide.

Sessions and their roles

LayerTraining and constructionHeld-out evaluation
2019 frontier30 Jan, 27 Mar, 30 Jul and 30 Aug 2019; validation 30 Oct 2019; 30 May and 18 Oct 2019 enter the nine leave-one-day-out folds30 Dec 2019 and 30 Jan 2020: 116 stock-days, 2.9 million states
Out of time2019 models scored unchanged13 Jul 2021 (55 stock-days); 8 to 12 Dec 2025 (249); the 2026 days (146)
2026 era models8 to 11 Dec 2025 training; 12 Dec 2025 validation; the 28 Nov 2025 half session is descriptive only15 May, 18 May and 12 Jun 2026: 146 stock-days
Confirmatory datingCalendar rule fixed before the pull; 58 names carried forward by symbol; rules only60 new dates, two per quarter, 2019 Q1 to 2026 Q2; none among the days above
National priceEight direct feeds rebuilt at the union of update times; official NBBO from Daily TAQ2019 H1 and 2026 H1 confirmatory days (eight venues); 1 and 2 July 2026 (official NBBO)
← Backup menu
Draft Appendix A and Section 2. The reconstruction reports zero invariant failures over 1,035 stock-days. Dates, not the number of intraday states, constrain the inference.

Labels start at arrival; eligibility uses measured latency

  • Target. y(t; L, h) = sign[ m(t + L + h) − m(t + L) ]: the move after the imposed arrival delay; a model is never credited for a move during its own computation.
  • Accuracy. a(h, L) = P[ signal(t) = y(t; L, h) | y ≠ 0 ], per model, conditional on a nonzero target move. The magnitude-weighted accuracy weights each move by |Δm|.
  • Value. V(h, L) = E[ s(t) · ( m(t + L + h) − m(t + L) ) ], the all-state signed markout in bps per state, zero on abstention: the money object of the framework.
  • Frontier. F(h, L) = max { a(h, L) : measured latency of the model ≤ L }. All eligible models are scored at the same L; the oracle is L = 0. A longer delay changes the target as well as the eligible set, so more models need not raise the frontier. The envelope is reported beside a validation-selected policy.
← Backup menu
Draft Sections 2 and 3, Appendices B and E. Midpoints use the last valid quote at each endpoint; zero-signal states are excluded from the signal scores.

The stale flow rule by half-year and tick group, 10 ms late

30%40%50%60%70%20192020202120222023202420252026chance, 50%large tick (below USD 20)mid tick (USD 20 to 100)small tick (above USD 100)

Large tick. At or below 0.5 already in 2019 at 10 ms; at 100 ms as low as 0.24 by 2026 H1.

Mid tick. Near 0.5 at 10 ms (0.48 to 0.56 in 2019-20), 0.47 in 2026 H1; below 0.5 at 100 ms throughout.

Small tick. Above 0.5 through early 2024, then 0.48, 0.49, 0.44 and 0.38. The whole late transition is here.

By value the groups crossed: the large-tick 10 ms markout went from negative in 2019 to zero or slightly positive; the small-tick one from positive to negative.

← Backup menu
100 ms flow rule, h = 1 ms; 60 confirmatory days; names reassigned per day by median trade price with a one-cent tick (large tick below USD 20, mid 20 to 100, small above 100). Whiskers: 95% stock-day block-bootstrap intervals.

The 1 ms control, and a sign fixed from the previous half-year

40%50%60%70%20192020202120222023202420252026chance, 50%1 ms late, small-tick group

The 1 ms control has one earlier point estimate just under one half, 2023 H2 at 0.479, and sits at 0.55 and 0.56 in the last two half-years: the preliminary draft’s "never reverses" wording will be narrowed.

An ex ante sign rule: the sign of the 10 ms-stale rule fixed for each half-year from the previous half-year’s markout within the group chose "reverse" in 9 of the 10 half-years from 2021 H1 and beats always following, by markout, in 8 of 15 half-years; it loses in 2023 H1 and, by count, in 2021 H1, the two half-years whose preceding markout was negative by less than 0.001 bps.

2026 H1 paired gain: +0.0296 bps per state, symbol-day interval [+0.0219, +0.0387], day-level [+0.0271, +0.0337]. Chosen by the previous half-year’s sign accuracy instead, the rule reverses from 2025 H1 and wins in four half-years: value turned before sign.

← Backup menu
Left: stored scores at L = 1 ms, small-tick group (point estimates; no published intervals). Right: paired symbol-day and day-level intervals.

The national price across eras, and the official-NBBO replication

SampleNASDAQ midEight-venue all-size bestOfficial NBBO
2019 H1, four sessions, 65 stock-days0.552 [0.533, 0.566]+0.00090.568 [0.552, 0.582]+0.0016not available
2026 H1, four sessions, 99 stock-days0.379 [0.361, 0.399]−0.01480.412 [0.394, 0.430]−0.0063not available
1 and 2 July 2026, 56 stock-days0.392 [0.369, 0.415]−0.01240.412 [0.391, 0.434]−0.00630.389 [0.370, 0.409]−0.0124
July 2026, the 17 names whose round lot is 100 shares (34 stock-days)0.371 [0.343, 0.399]−0.01570.385 [0.357, 0.411]−0.00860.364 [0.340, 0.387]−0.0166
← Backup menu
Draft Appendix H, small-tick group, 10 ms late, h = 1 ms; stock-day intervals in brackets; markouts in bps per state; shared support within each era. Counting round-lot tops only takes the all-size best from inside the official quote 52% of the time to under 1%. The SIP stamps a quote about 155 microseconds after the exchange does.

The flow signal split into its trade part and its quote part, 10 ms late

Signal component2019-202025 (December days)2026
Full flow signal0.542 [0.533, 0.552]+0.0010.420 [0.399, 0.443]−0.0130.398 [0.381, 0.418]−0.021
Executed flow only0.541 [0.530, 0.551]+0.0010.408 [0.384, 0.430]−0.0150.386 [0.365, 0.407]−0.023
Quoted flow only0.530 [0.521, 0.538]+0.0010.439 [0.421, 0.457]−0.0100.411 [0.396, 0.426]−0.018

Executed flow alone, acted on 10 ms late, loses as much as the full signal; the quote construction cannot by itself explain the reversal. The two parts agree in sign on about three quarters of these states.

← Backup menu
Draft Appendix F, paired-support table: small-tick stocks, h = 1 ms, states where both the trade part and the quote part are nonzero; stock-day 95% intervals; markouts in bps per state. Not comparable with the full-support estimates elsewhere in the draft.

The full 2019 frontier F(h, L) and its selection check

h \ Lno delay100 ns1 µs10 µs100 µs1 ms10 ms100 ms1 s10 s
1 ms0.7920.7310.7310.7870.7580.6220.5350.5520.5330.514
10 ms0.7370.6670.6670.7320.7000.6040.5680.5400.5200.517
100 ms0.7050.6520.6520.7020.6720.6170.6080.5610.5280.507
1 s0.6560.6210.6210.6530.6340.5990.5820.5850.5440.509
10 s0.5900.5730.5730.5890.5800.5640.5580.5560.5380.511
60 s0.5420.5370.5370.5370.5340.5290.5270.5250.5200.514

A validation-selected policy (the model chosen per cell on 30 October 2019, scored once on the test days) is within 0.5 points of this envelope at 55 of 60 cells; the largest gap is 1.7 points, in near-chance cells. Nine leave-one-day-out folds over the 2019-20 days: oracle 0.787 to 0.819, the 1 ms cell 0.627 to 0.649.

← Backup menu
Draft Table 6 and Appendix B. Accuracy on nonzero mid moves; the oracle is the zero-delay counterfactual; intervals are about ±0.02 at the short horizons.

Latency cards: what each number measures

TechnologyLatencyPlatformBoundary measured
Flow and imbalance rules1.0 nsFPGA VU47P, Vivado 2025.2register to register, 3 logic levels
Rules in C5.9 ns per callone pinned Xeon 8488C corecomputation on a core, features in registers
Logic-gate network, 4 × 1024 gates8.2 nsFPGA VU47Pregister to register, 15 levels, 4,483 LUTs
Logistic regression, 25 features9.1 ns (57.5 ns in C)FPGA VU47P, fixed pointregister to register, 28 levels, 2,662 LUTs
LightGBM, 300 trees × 63 leaves2.37 µs medianC generated by tl2cgen, one coreper-call CPU time, batch one
DeepLOB, six horizon heads1.70 ms medianNVIDIA L40SGPU inference, batch one, host to host
Qwen 4B and 27B logit read-outs109 ms and 252 msNVIDIA L40S, vLLM for the 27Bprompt in, logit out, batch one
Claude Haiku, Sonnet, Opus and Fable0.75 to 2.81 s medianAPI from the same regionround trip, numbers-only prompt of about 540 tokens
← Backup menu
Draft Table 1 and Appendix D. No production feed-to-order measurement is claimed; a common feed-to-order constant would shift every rung together and leave the ordering unchanged.

Interpretation: likely questions and what the evidence supports

QuestionWhat the evidence supports
Does reversing the rule make money?A positive midpoint value remains negative after the half-spread: −8.8 to −13.1 bps per traded state for every taker policy in 2026. No net strategy is demonstrated.
Does learning ever help?Yes, where the signal is fresh relative to the horizon: at 1 ms of staleness and h = 10 ms the tree adds 3.4 points and 0.088 bps per state over the reversed rule.
Who loses from the reversal?Decisions that follow 10 ms-old flow without other information. Late prints (5 to 15 ms after an event) move the taker’s way, close to ordinary-moment takers; no participant class is identified.
What causes the change?Own-side withdrawals are observed and have become more common at ordinary states too. Fleeting quotes against cross-venue quote management is not separable on one exchange’s book.
Is this a result about AI?Only on a shared numerical information set and the tested library: at sub-second horizons latency outweighs capacity, and a reasoning budget adds nothing net. Text-reading models would be a different rung.
← Backup menu
Draft Sections 5, 8 and 9 and Appendix G. Policy markouts are midpoint measures; the taker P&L comparisons include the half-spread.

Closest literature for the contribution discussion

Bouchaud, Gefen, Potters and Wyart (2004)
Fluctuations and response in financial markets: the subtle nature of random price changes. Quantitative Finance 4(2), 176 to 190.
Dugast and Foucault (2018)
Data abundance and asset price informativeness. Journal of Financial Economics 130(2), 367 to 391.
Foucault, Hombert and Roşu (2016)
News trading and speed. Journal of Finance 71(1), 335 to 382.
Chordia, Green and Kottimukkalur (2018)
Rent seeking by low-latency traders: evidence from trading on macroeconomic announcements. Review of Financial Studies 31(12), 4650 to 4687.
Aït-Sahalia, Fan, Xue and Zhou (2022)
How and when are high-frequency stock returns predictable? NBER Working Paper 30366.
Hedges (2026)
The inference-compute frontier and a latency-efficient architecture for limit order book prediction. arXiv:2606.25986.
← Backup menu
Full references are in the preliminary draft.

Keys

→ space clicknext click, then next slide
← backspaceone click back (a slide back lands on its final state)
shift + → / ←whole slides
number + entergo to a slide
Ppresenter window: audience view, the state after the next click, notes, timer
Nnotes panel in this window
Ooverview of every slide
A / Qtechnical backup menu / back to the closing slide
Ffull screen
B or .black screen
Rreplay this slide’s animation
Treset the timer
Home / Endcover / closing slide

The dots at the bottom right count the clicks left on the slide; when they are all filled, the next click moves on.