Why Level 2 Order Book Data Cannot Fully Recover Time and Sales
Summary
The document considers whether deep Level 2 order book snapshots can substitute for time and sales data when testing a trading model. The key distinction is between the displayed limit order book and the message stream: the book reports resting bids and asks, while trade executions and cancellations are recorded as events. A snapshot of market depth therefore does not directly identify every transaction that occurred between observations.
If event-level messages are unavailable, the answer suggests inferring possible executions by tracking changes in displayed depth alongside bid and ask prices and lot sizes over time. This is a manual reconstruction approach, not an equivalent replacement for the message book. The discussion does not provide an algorithm, validation results, or a way to resolve ambiguous book changes, so inferred trades may be incomplete or misclassified. Its practical value depends on the frequency and detail of the available depth observations.
Key ideas
- Level 2 data describes displayed resting orders at different prices.
- Executions and cancellations are represented in the market message stream rather than solely in book snapshots.
- Trade events may be inferred by tracking depth changes as prices and sizes evolve.
- Reconstructed transactions can be ambiguous when message data is unavailable.
- The document provides no tested reconstruction method or accuracy assessment.
Tags
Full text
# Extract time and sales from the level 2 # Extract time and sales from the level 2 I need data to test some mathematical models. So far I have the level 2 over 120 layers, but I can't pay for the time and sales. Is it possible to extract the time and sales from the level 2? By layers I mean market depth, with layer 1 being the top-level quote in queue. The level 2 is the one offered by data.nasdaq.com. Here is a little picture So I have the bid, ask, the number of orders, number of shares, the time, I can aggregate them by price as well. I have implemented a discrete actor-critic model. ## Answer by develarist (score 1) https://quant.stackexchange.com/a/54455 if sales are executed limit orders, then they wouldnt appear in the limit order book, but the message book. The message book contains executed transactions and cancellations. If you cant obtain the message book, then you would have to manually track executions through the limit order book based on bid and ask prices as they meet with respect to lot size between points in time.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.