Interpreting Add, Update, and Remove Events in Futures Depth Feeds
Summary
The document presents a question about Level 2 depth data for an E-mini S&P 500 futures contract. Its example shows an ask quote added at a ladder position, updated several times, and then removed. The author asks why other removal events appear without a corresponding earlier add, whether multiple market makers can share a ladder position, and whether market-maker identifiers affect interpretation.
No answer resolving those questions is included, so the document does not establish the feed’s event semantics or provide a definitive reconstruction method. Its practical lesson is that add, update, and remove records cannot necessarily be interpreted from a filtered excerpt alone; understanding the data source’s ordering, position, and participant fields matters. The sample is a single observed sequence, not evidence about all CME depth-feed behavior, and the post raises the need for more detailed documentation without supplying it.
Key ideas
- The example shows a futures ask quote added, updated, and then removed in a depth stream.
- The author reports removal events for which no earlier add is visible in the captured data.
- The post asks how ladder positions and market-maker identifiers relate to quote events.
- It offers no definitive explanation, so feed-specific documentation is needed to interpret the records.
Tags
Full text
# ES futures exchange with CMEGROUP_DOM Depth of Market (Level 2) # ES futures exchange with CMEGROUP_DOM Depth of Market (Level 2) I am looking at quote data from ES contracts on NinjaTrader using the CMEGROUP_DOM data source, and trying to understand the events of add/update/remove of quotes and ordering. The below simple case makes sense and is as i expect, line is added, updated then removed: ``` Sequence,Symbol,Exchange,Time,Type,Operation,Price,Volume,Position,MarketMaker ES 06-24,Globex,2024-04-01T20:21:35.0190000,Ask,Add,5290,122,2, ES 06-24,Globex,2024-04-01T20:21:35.2770000,Ask,Update,5290,128,2,3 ES 06-24,Globex,2024-04-01T20:21:35.3860000,Ask,Update,5290,127,2,3 ES 06-24,Globex,2024-04-01T20:21:35.4700000,Ask,Update,5290,112,2,3 ES 06-24,Globex,2024-04-01T20:21:35.8090000,Ask,Remove,0,0,2,3 ``` But I am also seeing cases within the same stream where removes are happening, without any corresponding add prior: Questions please as I rule out any coding issues during my capture (I dump direct to a file currently for this analysis, above screenshot is filtered for positions 0,1,2 of ask side): - Why are there multiple removes performed but none added prior? - Can market makers share the same position on the ladder (this makes total sense, but not what i am seeing in the data)? - Is the market maker important, is this what is confusing me here? - Pointers for books or links to understand the stream in more detail. Thanks in advance.
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.