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.
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:
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.
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.
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 (35=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 (35=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:
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:
The following messages are considered Session Statistics:
The following messages are considered Daily Statistics:
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':
For the last message in the event, tag 5799 will contain the value ‘10000000’.
Order Entry and Market Data Event Correlation
MDP 3.0 provides the ability to identify all market data messages resulting from a given order entry using the features described below. For detailed examples, see Correlating MDP 3.0 with Order Entry.