The examples in this topic illustrate the mechanics of a Market by Price 5-deep book. All books that are not top-of-book will use the same mechanics.
This topic describes multiple depth MDP 3.0 Market by Price (MBP) books. CME Group provides a multiple-depth Market by Price (MBP) book for most products. Client systems must determine the book depth for an instrument from tag 264-MarketDepth in the Security Definition message. The MBP aggregate book reports summarized order quantities and order counts at a given price level. The depth represents the number of price levels supported via the market data feed.
The book is represented by an equal number of rows in a table for each of the bid and ask sides. The rows indicate the quantity available at each price level.
An aggregate depth book is sequenced by price, descending for bid and ascending for ask.
5-Deep - Best Bid/Ask
CME Group maintains the Aggregate Depth view with the following data blocks:
- Add - create/insert a new price at a specified price level (tag 279 MDUpdateAction=0)
- Change - change quantity for a price at a specified price level (tag 279 MDUpdateAction=1)
- Delete - remove a price at a specified price level (tag 279 MDUpdateAction=2)
An Aggregate book is built from a series of data blocks which indicate whether an entry is to be inserted (Add), changed (Change), or removed (Delete). All data blocks are issued for a specified entry type (tag 269), price (tag 270), and price level (tag 1023). The incremental instruction approach assumes the use of the. The Bid and Ask sides are updated independently with separate data blocks. The practice of sending separate data blocks provides efficiencies by allowing only the bid or ask to be sent, based on which side has changed, rather than both sides.
CME Globex sends an add data block if there is a new price level. Client systems should then shift price levels down, and delete any price levels past the defined depth of the book as indicated in tag 264-MarketDepth in the Security Definition (tag 35-MsgType=d) message.
CME Globex sends a delete data block to remove a price level in the book. Client systems should shift prices below the data block up to the price level vacated by the deleted price level. If available, an add data block will be sent to fill in the last price level.
The change data block is sent to update characteristics of a price level without changing the price itself, or impacting any other prices on the book. The change data block is sent to update the order count and / or quantity for a price level. The change data block is not sent when the price changes at a given price level.
In general, if a trade occurs, CME Group will send a delete or change data block to update the book. The trade data block itself is not used to update the order book.