Reading LOBSTER Execution Prices for Limit Orders
Summary
The discussion explains why executions recorded for an order in LOBSTER data can share the order’s submitted limit price. A buy limit order resting at 100 may be filled by incoming sell orders at that price, or it may execute against several resting sell orders priced at 100. In either case, the execution price matches the buy order’s limit.
The accepted answer also distinguishes those cases from a buy order priced at 100 that encounters an ask at 99: the execution can occur at 99, improving the buyer’s price relative to the limit. The examples clarify that an order’s limit price does not always determine its realized execution price, and that events tied to one order ID need to be interpreted in the context of the opposing orders and book state. The short exchange offers illustrative cases rather than a full description of LOBSTER message conventions or a general reconstruction procedure.
Key ideas
- A limit price sets the worst acceptable execution price for the order.
- A resting buy order can execute at its limit when incoming sell orders trade against it.
- A marketable buy order may execute at a lower ask price than its limit.
- Order-level execution events should be understood alongside the opposing side of the book.
Tags
Full text
# LOBSTER Execution Price # LOBSTER Execution Price I'm using LOBSTER data to observe order execution. I'm taking the message data and grouping events by order ID to trace their life cycle. I've noticed that, for example, if a buy order for 1000 is submitted at 100 and then that ID has 4 subsequent executions of 250 shares, the prices for those 4 execution events are all 100. This raises the question: does this data not account for differences between limit order price and actual executed price? Does each event (other than submission) that is tied to a given ID just use the submission price? My understanding is that the expected execution price (limit order price) vs the realized execution price can often be expected to differ. Any thoughts? Cheers! ## Answer by autoencoder (score 1, accepted) https://quant.stackexchange.com/a/79761 There are some senarios where what you described could happen: - The buy order 100@1000 is a passive limit order, then it was executed when hit by the four aggressive orders with prices <= 100. - There four passive limit ask orders each with 100@250 resting on the order book, and the buy order 100@1000 hit all of them. In both cases the execution price for the bid order is 100. There are definitely cases where the order price is different than the execution price. For example, if the ask side of the book is 99@1000, then the bid order with price 100 will have a execution price of 99.
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.