MDP 3.0 - Event Based Market Data Messaging
This page describes how CME Globex order entry activity and market state changes drive MDP 3.0 messages for each event.
On the CME Globex platform, market data is generated by order activity and market state events.
Contents
Types of Events
Order Action Driven Events
Each action taken on an order or a quote results in a trading platform event. The most basic example of an event is the entry of a single accepted order that generates a book update market data message. However, an order can also result in a series of market data messages For example, if an incoming order matches against resting orders, a series of market data messages containing the trade, volume, book, and statistics updates are sent. Such an event can further trigger stop orders that match with other orders and generate a continuing series of messages resulting from the original incoming order.
Most events result in generation of market data messages. Examples of events that do not generate market data include reject events, stop order entry, and cancellation of unelected stop orders.
Market State Driven Events
Events also can result from a scheduled or manual market change to a market state. For example, a scheduled group close that also triggers day order elimination will be represented with a Security Status message as the first message in the event and a series of Book updates for each instrument for which orders are eliminated.
Event Message Structure
Market Data Incremental Refresh (tag 35-MsgType = X) messages are segregated by their Entry Type value (tag 269-MDEntryType).Â
To provide visibility and expected results, MDP 3.0 generates messages for a given event in the following predictable order:
Trades (if any trades, including implied trades on other contracts)
Electronic Volume updates (if any, trades generate volume, including implied volume updated on other contracts)
Customer Order Book updates (if any)
Statistic updates (if any, generated as a result of order action/ trade)
Implied quotes (if any)
Not all message blocks are required for every event, only those message blocks which are relevant to the event will be included. For example, if there are no new highs, lows, or other statistics that pertain to the event, the statistics block will not be included in the event.
Match event market data from Order Routing and Market Data partner exchanges may not follow the standard Trade Summary Data Sequence. Client systems are encouraged to leverage tag 5799-MatchEventIndicator to identify the end of the event.
Tag 60-TransactionTimeÂ
All market data messages that are the result of a single incoming order action have consistent tag-60 TransactionTime values that represent the time CME Globex started processing the given event in nanosecond granularity.Â
Tag 5799-MatchEventIndicatorÂ
The MatchEventIndicator tag is included in every event and identifies the last message in a market event for all activity including: Order Entry, Match Event, State Change, Security Definition update, Daily Statistics (Settlements, Limits, Fixing etc.), and RFQ events.
This indicator is included at the body level of FIX messages and signals the end of updates for each type for a given event as well as the end of messages. The indicator is always sent and can be sent in a message with no other data (tag 268-NoMDEntries=0).
The majority of events will include only Market Data Incremental Refresh (tag 35-MsgType=X) messages.
Market Data Incremental Refresh messages are segregated by their Entry Type value (tag 269-MDEntryType). In the majority of events, the dissemination of the CME Globex event will be consistent and only include Market Data Incremental Refresh (tag 35-MsgType=X) messages. Not all message blocks are required for every event. Only those message blocks which are relevant to the event will be included.
Each incremental message in the event is flagged to indicate the following:
Last trade for a given event
Last volume update for a given event
Last book update for a given event
Last statistic update for a given event
Last implied quotes for a given event
Last message (any data) for a given event
5799-MatchEventIndicator Tag Details
Tag | Name | Examples | Description |
---|---|---|---|
5799 | MatchEventIndicator | ex. 00000001 – end of trade summaries, not end of event messages ex. 10000100 – end of quotes, end of event ex. 00001000 – end of statistics, not the end of event | Bitmap field of eight Boolean type indicators reflecting the end of updates for a given CME Globex Event: Bit 0: (least significant bit) Last Trade Summary message for a given event Bit 1: Last electronic volume message for a given event Bit 2: Last customer order quote message for a given event Bit 3: Last statistic message for a given event Bit 4: Last implied quote message for a given event Bit 5: Message resent during recovery Bit 6: Reserved for future use Bit 7: (most significant bit) Last message for a given event |
Non-Standard Event Structure
The following Market Data messages can possibly cause an event, be included in the middle of the event, or be the last message of the event:
Market Data Incremental Refresh (tag 35-MsgType = X)
Market Data Security Status (tag 35-MsgType = f)
Market Data Security Definition (tag 35-Msg Type = d)
Market Data Request for Quote (tag 35-MsgType = R)
Statistics
The following messages are considered Session Statistics:
Session High Trade Price (tag 35=X & tag 269=7)
Session Low Trade Price (tag 35=X & tag 269=8)
Best High Bid (tag 35=X & tag 269=N)
Best Low Ask (tag 35=X & tag 269=O)
Opening Price (tag 35=X & tag 269=4)
Indicative Opening Price and Quantity (tag 35=X, tag 269=4 & tag 286=5)
The following messages are considered Daily Statistics:
Settlement Prices - Final and Preliminary (tag 35-MsgType = X & tag 269 = 6)
Limits and Banding (tag 35-MsgType = X & tag 269 = g)
Open Interest (tag 35-MsgType = X & tag 269 = C)
Cleared Volume (tag 35-MsgType = X & tag 269 = B)
Fixing Price (tag 35-MsgType = X & tag 269 = W)
Volume Weighted Average Price (tag 35-MsgType = X & tag 269 = 9)
Daily statistics will not be grouped with the other statistics in an event because they may occur at any time during an event, and can either trigger or be triggered from an action that occurs during the event.
If the daily statistic is not the last message in the event, tag 5799-MatchEventIndicator will contain the value ‘00000000’. If it is the last message in the event, then tag 5799 will contain the value ‘10000000’.
Group or Instrument State Changes
When the Group or Instrument State changes during the event, the presence of a Security Status (tag 35-MsgType=f) message in the event indicates that there may be another set of Market Data Incremental Refresh (tag 35-MsgType = X) message data blocks that follow the state change. If there is another group of Market Data Incremental Refresh messages, they will be sent in the order listed above.
If one of the following messages is not the last message in the event, tag 5799-MatchEventIndicator will contain the value ‘00000000':
Security Status (tag35-MsgType=f)
Security Definition (tag35-MsgType=d)
Request for Quote (tag35-MsgType=R)
For the last message in the event, tag 5799 will contain the value ‘10000000’.
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.