CME MDP 3.0 Market Data Handler SDK

The CME Group Market Data Platform (CME MDP) disseminates event-based bid, ask, trade, and statistical data for CME Group markets and also provides recovery and support services for market data processing.

The CME MDP 3.0 market data messaging feed (MDP 3.0) uses Simple Binary Encoding (SBE) encoding techniques based on the FIX 5.0 SP2 message specification and schema templates that specify the components of a messages as well as the data types and identifiers.

The Simple Binary Encoding (SBE) format is a fixed position, fixed field length protocol supporting direct access to data, therefore avoiding the need for management of multiple variable-length elements which must be sequentially processed. This makes it easier for consuming systems to scan the message for key fields to determine whether or not to process the message.

The CME MDP 3.0 feed provides:

  • Lower latency dissemination versus the previous FIX FAST feed.
  • Less CPU intensive.
  • Increased timestamp granularity.
  • Improved market state granularity.
  • Independence between number of events, messages, and packets, including multiple messages per packet, and a single event over multiple packets.

CME MDP 3.0 Market Data Feed Handler by OnixS

The OnixS directConnect: CME MDP 3.0 Market Data Handler SDK C++, .NET/ C#, and Java SDK implementation features include:

  • Support for CME MDP 3.0 Market By Price (MBP) and Market By Order (MBO).
  • Easy-to-use API.
  • Support for the SolarflareTM ultra-low latency ef_vi API.
  • Low latency and low CPU load.
  • Incremental Book Management.
  • Security Status, Security Definition, Trade and News messages are reported.
  • MBO support for individual order sizes that make up the total quantity at a price.
  • MBO support for Order priority in the queue.
  • Arbitration between A and B feeds.
  • Synchronisation of client systems to the latest market state.
  • Recovery of missed (lost) messages (both "Market Recovery" and and "TCP Replay" feeds are supported).
  • Instrument Recovery.
  • Supported instrument book depth level is identified dynamically (multiple depth order books are supported).
  • Per-symbol and sub-channel filtering.
  • Multiple channels are supported simultaneously.
  • Ability to handle multi-homed hosts.
  • Multithreaded architecture.
  • Flexible logging.
  • CME AutoCert+ certified.
  • Supports historical tick data Feed Engine implementations supporting replay mode for full precision order book reconstruction for back-testing, strategy optimisation, market research and analytics:
    • OnixS::CME::MDH::replayLogFiles: This function provides a pre-built implementation of the Feed Engine which extracts data from the previously persisted OnixS CME MDH SDK replay format log files and pushes it into the given Handlers. Useful when using the inbuilt replay logging persistence feature of the SDK to replay historical data sets.
    • OnixS::CME::MDH::replayPcapFiles: This function provides a pre-built implementation of the Feed Engine which extracts data from .PCAP (Packet Captures) files and pushes it into the given Handlers. Useful when using the ICE Data Services CME raw tick historical data or other PCAP source data.
    • OnixS::CME::MDH::replayDatamineFiles: This function provides a pre-built implementation of the Feed Engine to replay CME DataMine files. This is identical to the PCAP replay with the only difference being the name of the function the parameters used to customize the behavior of the replay. Useful when using CME DataMine datasets.
    • The OnixS directConnect: CME MDP 3.0 Market Data Handler C++ SDK Feed Engine advanced programming feature also enables developers to build bespoke methods for replaying market data from custom historical data sources.

These solutions are implemented on multiple platforms including C ++ on Linux (RedHat, CentOS, SuSE, Ubuntu, etc) and Windows, Microsoft .NET Framework, .NET Core and Java.