OnixS C++ CME Market Data Handler  5.4.0
API documentation
Trade Order Details

One of the key features of the third generation of CME MDP is an ability to get detailed order information for a trade. To provide compatibility for existent trading systems, MDP sends summary on a number of orders for a trade. However, advanced data containing order ids for each of trades is also now available.

The Handler provides an ability to process trades in the same way as previously. However, starting with this major release, trade-related data was enhanced with a collection of order ids which are gathered by the Handler during market data processing and afterward are exposed to the user code together with a trade summary.

The OnixS::CME::MDH::HandlerSettings class exposes a new parameter defining processing strategy for the Handler. The parameter can be accessed using OnixS::CME::MDH::HandlerSettings::tradeProcessing members. Currently, there're two strategies available for users. Following table explains behavior or the Handler in case of each strategy.

Trade Processing Strategy Description
OnixS::CME::MDH::TradeProcessing::SummaryLevel The given strategy tells the Handler to provide only a summary-level of trade data. The details of each order related to the trade are not exposed, and only a number of orders is available. Trade summaries are delivered by the Handler to a client code as soon as the correspondent data is received without any additional delays.
OnixS::CME::MDH::TradeProcessing::OrderDetails Tells the Handler to gather detailed information on orders related to each trade. As a result, trade is exposed with order ids referring to the trade in addition to summary information available in a trade. In this mode, trade may be exposed with delays, because MDP sends order ids after trade summary data. Also, data may be distributed across packets belonging to a single market event. Therefore, in general, the given strategy may be slower in comparison to a summary level. However, in 99% the data, belonging to the entire event, is transmitted within a single packet. Therefore, trades are exposed with no delay. Finally, in contrast to book updates, which are strictly exposed at the end of the market event, trades are delivered to the user code as soon as data for those trades is received.
Order ids are sent for trades only through real-time (incremental) feeds. Trades recovered from snapshots do not include order details, and thus a collection of order ids is empty for a recovered trade. CME Partner Exchanges do not provide order details.
Additional documentation on Trade Summary messages and scenarios can be found on the CME MDP Trade Summary Wiki. It is highly recommended to get a general understanding how client systems connect to and process data sent by CME Market Data Platform.