How arrival-by-arrival order matching works, why one order can fill at several prices, and how continuous sessions differ from single-price auctions.
Continuous trading
Continuous trading is a market arrangement in which eligible buy and sell orders can match as they arrive during an active trading session, rather than waiting for a scheduled batch clearing. For a quant execution model, this makes the sequence of orders, cancellations and fills part of the result: a displayed price is an opportunity that another message can remove.
In a continuous order book, an incoming order that can trade against resting orders may execute immediately. An order that cannot trade may rest, expire or be rejected, depending on its instructions and the venue's rules. “Continuous” describes when matching is available. It does not mean that every order fills, prices move smoothly, or trading runs around the clock.
Follow one arrival
Consider a synthetic venue with displayed asks of 50 shares at USD 101 and 100 shares at USD 102. An incoming limit order buys 70 shares with a USD 102 limit. Assume it consumes the lowest eligible ask first and trades at resting ask prices. Freeze the book during matching; ignore fees, hidden liquidity and other messages.
Execution
Shares
Price (USD per share)
Notional (USD)
First ask
50
101
5,050
Next ask
20
102
2,040
Total
70
—
7,090
The quantity-weighted average fill is
pˉ=7050(101)+20(102)=7709≈101.285714 USD per share.
The marginal fill—the price of the last share bought—is USD 102. The USD 101 ask is exhausted, while 80 shares remain offered at USD 102. Continuous matching has produced trades at two prices; it has not repriced all 70 shares to a common clearing price.
Synthetic arrival ledger: a 70-share buy with limit USD 102 consumes 50 shares at 101 and 20 at 102, costs USD 7,090 and leaves 80 shares offered at 102. Average price is 101.285714; marginal price is 102. The timing panel contrasts matching on each arrival with orders accumulating for a single-price batch uncrossing.
Original synthetic ledger. Prices are USD per share; sizes are shares. The book is frozen during matching, with no fees or hidden liquidity. Timing is schematic, not elapsed clock time.
A lower buy limit changes the outcome. With the same 70-share request capped at USD 101, only 50 shares execute, costing USD 5,050; 20 shares remain unfilled at that instant. Whether that remainder stays on the book depends on the order's time-in-force instructions. Immediate matching does not override a limit price.
To explore the mechanism, the free public Order-book simulator lets you submit market and limit orders against preset books and advance simulated market events. Its presets differ from this ledger. For queue priority, cancellation ambiguity and snapshot-based fill modelling, Order Books has a public preview; the full lesson requires membership.
Continuous matching and a single-price auction
A batch auction accumulates orders before an uncrossing event. In a single-price auction, eligible executions clear at one auction price chosen under the auction's rules. The arrival-by-arrival ledger above is therefore not an auction-price calculation. Finding an auction price requires the eligible buying and selling interest together, plus the applicable clearing and tie-breaking rules.
Markets can combine these mechanisms. ASX describes its lit market as continuously matching orders in price/time priority during normal trading, alongside auctions for concentrated single-price discovery. The Vienna Stock Exchange likewise describes continuous trading with scheduled opening, intraday and closing auctions. These are examples of particular market models, not a universal schedule or priority rule. ASX equities trading, ASX auctions, Vienna market models.
What a simulator must preserve
An execution backtest needs the correct session state as well as the correct prices. During an auction call, a halt or another interruption, the continuous-matching rule may be unavailable. A strategy cannot infer an immediate fill merely because its limit crosses the last displayed quote.
It also needs event order. A cancellation processed before your order can remove liquidity that a snapshot appeared to offer. Another incoming order can consume it first. Conversely, new liquidity may arrive. The frozen ledger is conditional arithmetic, not a forecast of what a later order will encounter.
Finally, distinguish execution priority from the timing mechanism. Continuous trading alone does not specify how same-price orders share a fill, how hidden quantity is treated, or what protection applies across venues. Those details require the relevant instrument, venue and jurisdiction. For passive orders, a trade at your price does not by itself prove that your place in the queue was reached.
Rishi K. Narang, Inside the Black Box: A Simple Guide to Quantitative and High-Frequency Trading, 2nd ed., Wiley, 2013, Chapter 7, “Aggressive versus Passive,” pp. 120–122: resting liquidity, multi-price fills and differing allocation rules. The ledger above is original.