CME Smart Stream on GCP SBE
This page contains information about CME MDP 3.0 SBE market data on CME Smart Stream on Google Cloud Platform (GCP). CME Smart Stream on GCP leverages Google Cloud Pub/Sub technology for market data distribution. For complete details regarding Google Cloud Pub/Sub please refer to Google Pub/Sub documentation.
Within CME Smart Stream, CME MDP refers to the CME Group Market Data Platform, which provides the complete array of CME Group market data.
CME MDP 3.0 SBE is the CME Globex event-based bid, ask, trade and statistical market data format.
Real-Time - Real-time market data via CME Globex
Delayed (10 minute delay) - Allows customers to use CME Group data under delayed licensing terms. Traditionally, customers licensing delayed data had to self-manage the throttling of real-time feeds from exchanges per licensing policies. This cloud-based delivery mechanism provides customers with low cost, flexible and reliable access to data without the requirement to delay the content so they can focus on its use. Receipt of the data and licensing removes the requirement, complexity and cost of an intermediary service.
Contents
- 1 Market Data Offerings via Google Cloud
- 2 Testing and Certification
- 3 Getting Started with CME MDP Concepts
- 4 Market Data Support Services
- 4.1 Support Services
- 4.1.1 FTP Site Information
- 4.1 Support Services
- 5 Google Cloud Pub/Sub Processing Overview
- 6 Recovery Processing
- 7 Contact Information
Market Data Offerings via Google Cloud
CME Smart Stream on GCP includes MDP 3.0 channels (CME, CBOT, COMEX, NYMEX, GME, MGEX), Streamlined SBE channels, Data Insights and BrokerTec U.S. Treasuries as follows:
Equity indices - S&P and Bloomberg
Settlements and Valuations
Block trades – GME
OTC daily
BrokerTec U.S. Treasury Market Data
The following table outlines all market data channels supported on CME Smart Stream on GCP.
CME Group Channel ID | Channel Name | Market Data Platform Source | DCM/Venue/Market |
---|---|---|---|
200 | CME Credit OTC | Streamlined - OTC Daily | CME |
201 | CME Cleared OTC | Streamlined - OTC Daily | CME |
210 | S&P Indexes | Streamlined - Equity Indices | S&P |
211 | Dow Jones Indexes | Streamlined - Equity Indices | DJIA |
213 | CME CF Rates and Indexes | Streamlined - CME CF Cryptocurrency Indices | CME |
215 | BrokerTec US Treasury Data | BrokerTec US Treasury Data | BrokerTec/NEX Data |
230 | CME Block Trades | Streamlined - Block Trades | CME |
231 | CBOT Block Trades | Streamlined - Block Trades | CBOT |
232 | NYMEX Block Trades | Streamlined - Block Trades | NYMEX |
233 | COMEX Block Trades | Streamlined - Block Trades | COMEX |
234 | GME Block Trades | Streamlined - Block Trades | GME |
251 | CME Settlement and Valuations | Data Insights - Settlement and Valuations | CME |
252 | CBOT Settlement and Valuations | Data Insights - Settlement and Valuations | CBOT |
253 | NYMEX Settlement and Valuations | Data Insights - Settlement and Valuations | NYMEX |
254 | COMEX Settlement and Valuations | Data Insights - Settlement and Valuations | COMEX |
261 | CME Benchmark Administration Premium | Data Insights - CME Benchmark Administration Premium | CME |
310 | CME Globex Equity Futures | Globex MDP 3.0 | CME |
311 | CME Globex Equity Options | Globex MDP 3.0 | CME |
312 | CME Globex Interest Rate Futures | Globex MDP 3.0 | CME |
313 | CME Globex Interest Rate Options | Globex MDP 3.0 | CME |
314 | CME Globex FX Futures | Globex MDP 3.0 | CME |
315 | CME Globex FX Options | Globex MDP 3.0 | CME |
316 | CME Globex Commodity Futures | Globex MDP 3.0 | CME |
317 | CME Globex Commodity Options | Globex MDP 3.0 | CME |
318 | CME Globex Equity Futures - excludes E-mini S&P 500 | Globex MDP 3.0 | CME |
319 | CME Globex Equity Options - excludes E-mini S&P 500 | Globex MDP 3.0 | CME |
320 | CME Globex FX Futures II | Globex MDP 3.0 | CME |
321 | CME Globex FX Options II | Globex MDP 3.0 | CME |
323 | CME Globex Micro Equity Options | Globex MDP 3.0 | CME |
326 | Cryptocurrency - Futures | Globex MDP 3.0 | CME |
327 | Cryptocurrency - Options | Globex MDP 3.0 | CME |
330 | SpotFX+ | Globex MDP 3.0 | CME |
340 | CBOT Globex Commodity Futures | Globex MDP 3.0 | CBOT |
341 | CBOT Globex Commodity Options | Globex MDP 3.0 | CBOT |
342 | CBOT Globex Equity Index Futures | Globex MDP 3.0 | CBOT |
343 | CBOT Globex Equity Index Options | Globex MDP 3.0 | CBOT |
344 | CBOT Globex Interest Rate Futures | Globex MDP 3.0 | CBOT |
345 | CBOT Globex Interest Rate Options | Globex MDP 3.0 | CBOT |
346 | CBOT Globex Commodity Futures II | Globex MDP 3.0 | CBOT |
348 | CBOT Globex Interest Rate Futures II | Globex MDP 3.0 | CBOT |
360 | COMEX Globex Futures | Globex MDP 3.0 | COMEX |
361 | COMEX Globex Options | Globex MDP 3.0 | COMEX |
380 | NYMEX Globex Emissions Futures | Globex MDP 3.0 | NYMEX |
381 | NYMEX Globex Emissions Options | Globex MDP 3.0 | NYMEX |
382 | NYMEX Globex Crude & Crude Refined Futures | Globex MDP 3.0 | NYMEX |
383 | NYMEX Globex Crude & Crude Refined Options | Globex MDP 3.0 | NYMEX |
384 | NYMEX Globex Metals, Softs, & Alternative Market Futures | Globex MDP 3.0 | NYMEX |
385 | NYMEX Globex Metals, Softs, & Alternative Market Options | Globex MDP 3.0 | NYMEX |
386 | NYMEX Globex Nat Gas & other Non-Crude Energy Futures | Globex MDP 3.0 | NYMEX |
387 | NYMEX Globex Nat Gas & other Non-Crude Energy Options | Globex MDP 3.0 | NYMEX |
440 | GME Globex Futures | Globex MDP 3.0 | GME |
441 | GME Globex Options | Globex MDP 3.0 | GME |
460 | MGEX Globex Futures | Globex MDP 3.0 | MGEX |
461 | MGEX Globex Options | Globex MDP 3.0 | MGEX |
See: Topic Naming Methodology.
Testing and Certification
The following section outlines testing and certification for GCP.
Certification
Certification via AutoCert+ is required for all client systems that will support CME Smart Stream on GCP. The following market data offerings have separate test suites:
Globex MDP 3.0
Data Insights - Settlement and Valuations
Streamlined - Block Trades
Streamlined - OTC Daily
Streamlined - CME CF Cryptocurrency Indices
Streamlined - Equity Indices
Streamlined - OTC Daily
BrokerTec U.S. Treasury Data
CME Globex Test Environments
The New Release test environment allows product and new functionality testing prior to release in production. Use the New Release environment to perform:
New product testing
Development testing on new functionality
Certification testing on new functionality
The New Release test environment has significantly lower data rates than production.
Getting Started with CME MDP Concepts
This section lists current CME MDP 3.0, Streamlined, Data Insight BrokerTec U.S. Treasury market data processing concepts applicable to CME MDP on Google Cloud Pub/Sub. If you are new to CME MDP technology or wish to better understand how your current system aligns with cloud-based technology, CME Group recommends starting here.
Google Cloud Pub/Sub Market data recovery processing differs from the current MDP multicast offering and is outlined in this document.
MDP 3.0
Clients planning to process CME MDP CME Globex market data on Google Cloud Pub/Sub should be familiar with the following CME MDP 3.0 concepts:
Streamlined SBE
Clients planning to process Streamlined SBE on CME Smart Stream on GCP should be familiar with the following Streamlined SBE functional descriptions:
The message specifications for all streamlined systems are available here.
Data Insights: Settlements and Valuations
Clients planning to process CME Data Insights Settlements and Valuations market data should be familiar with the functional specification available here.
BrokerTec U.S. Treasury Data
Clients planning to process BrokerTec U.S. Treasury market data on CME Smart Stream on GCP should be familiar with the functional specification available here.
Market Data Support Services
Market data services provide the external data required to process CME Group market data.
Support Services
There are two MDP services available for markets on CME Globex: Core Globex SBE Schema and CME Reference Data API. An FTP site is used to store the schema files for all environments.
Service | Description |
---|---|
Core Globex SBE Schema | MDP is a template-based SBE protocol wherein a given message is interpreted by means of its corresponding template. Each message contains a unique Schema ID that references the template to use to interpret the message. The core CME Globex SBE schema is used across all market data groups. |
CME Reference Data API | Product and instrument referential data for CME Smart Stream on GCP can be obtained via CME Reference Data API.
|
FTP Site Information
CME provides an FTP (ftp://ftp.cmegroup.com) and SFTP (sftpng.cmegroup.com) site to disseminate MDP SBE schemas and market data configuration information. This FTP/SFTP site contains the Schema and Configuration files for all events.
Information applies as follows in the table:
Environment - specific environment (i.e., Certification, New Release, Production)
Service - Core Globex SBE Schema
FTP Site - address of the FTP/SFTP site
Directory Location - identifies directory
Client System Update Schedule - client systems should download updates according to schedule specified
Environment | Service | FTP/SFTP Site | Directory Location | Client System Update Schedule |
---|---|---|---|---|
New Release | Core Globex SBE Schema | /SBEFix/NRCert/Templates | Sunday prior to market open | |
New Release AutoCert+ | Core Globex SBE Schema | /SBEFix/NRAutoCertPlus/Templates | Sunday prior to market open | |
Production | Core Globex SBE Schema | /SBEFix/Production/Templates | Sunday prior to market open |
Google Cloud Pub/Sub Processing Overview
This section provides an overview of CME MDP processing for Google Cloud Pub/Sub. For complete details regarding Google Cloud Pub/Sub technology, refer to Google's online Pub/Sub documentation. For Pub/Sub libraries, refer to Google’s Pub/Sub Client Libraries. Common GCP SDK Pub/Sub processing concepts include the following:
Pulling data from a subscription in Python synchronously and asynchronously
Topic: A named resource to which messages are sent by a publisher (CME Group).
Subscription: A named resource representing the stream of messages from a single, specific topic, to be delivered to the subscribing application (client system).
Message: The combination of Google data and CME SBE data sent to a topic and delivered to subscribers.
CME MDP on Google Cloud Pub/Sub Message Flow
The following diagram outlines the Publisher (CME Group) relationship with the Subscriber (Client System) for Google Cloud Pub/Sub technology.
CME Group will create a topic in the Cloud Pub/Sub service and send messages to the topic. To process CME MDP on Google Cloud Pub/Sub, client systems must subscribe to a topic to receive data. The Google Cloud message will contain CME Group messages.
Message store ensures that published messages are retained on behalf of subscriptions.
Cloud Pub/Sub forwards messages from a topic to each individual subscription. Each subscription receives messages by pulling them from the service. For CME MDP on Cloud Pub/Sub there are two types of topics for a given channel ID that client systems can subscribe to:
Incremental Topic - CME Group incremental market data using encoded packets containing the following FIX market data message types:
Security Definition (tag 35-MsgType=d)
Market Data Security Status (tag 35-MsgType=f)
Market Data Incremental Refresh (tag 35-MsgType=X)
Request for Quote (tag 35-MsgType=R)
Market by Order (MBO) Market Recovery Snapshot Topic - Market by Order (MBO) Market Recovery method used for real-time and delayed data large-scale data recovery (i.e. major outage or late joiners) to synchronize client systems to the latest state maintained by CME Group. This topic is only available for CME Globex MDP 3.0 channels.
Market by Price (MBP) Market Recovery Snapshot Topic - Market by Price (MBP) Market Recovery method used for real-time and delayed data large-scale data recovery (i.e. major outage or late joiners) to synchronize client systems to the latest state maintained by CME Group. This topic is only available for CME Globex MDP 3.0 channels.
Instrument Recovery Topic - The Instrument Replay feed constantly replays the current week's Security Definition (tag-MsgType=d) messages will reflect any additions, modifications, or deletes to available instruments. This topic is only available for real-time and delayed data CME Globex MDP 3.0 channels.
4. The subscriber receives pending messages from its subscription and acknowledges each one to the Cloud Pub/Sub service. A message contains the CME Group Simple Binary Encoded (SBE) messages.
5. When a message is acknowledged by the subscriber, it is removed from the subscription's message queue.
Message Structure
The following section outlines the CME MDP messaging within a Google Pub/Sub Message structure.
CME MDP Included Data
The Google Pub/Sub data field provides the full CME Group UDP data packet.
The following diagram outlines CME data with a Google Pub/Sub message:
CME MDP Included Attributes
In addition to the full CME Group UDP data packet, Smart Stream on GCP provides the following quick access data in the Google Pub/Sub attributes field:
SendingTime - Sending time from CME before the message is sent to GCP.
Client systems may receive Saturday test data upon connection. Test data can be filtered using the SendingTime attribute.
MsgSeqNum - CME Group Packet sequence number.
Channel - CME Group Channel ID defined in the Market Data Offerings section. Each feed has a unique channel ID identification methodology:
Feed Type | Example Channel Identifier |
---|---|
Incremental Feed | 314 |
Market by Price (MBP) Market Recovery Feed | 314SA |
Market by Order (MBO) Market Recovery Feed | 314SAMBO |
CME Group MDP UDP Packet Headers
The following table outlines CME Group MDP UDP packet header concepts in the diagram above:
Packet Header (12 bytes) | Message Header (10 bytes) |
---|---|
Sequence: 4 bytes
| Message Size: 2 bytes
|
Sending Time: 8 bytes
| Block Length: 2 bytes
|
| TemplateID: 2 bytes
|
| SchemaID: 2 bytes
|
| Version: 2 bytes
|
Message Ordering
Google Pub/Sub does not guarantee message order. Therefore, the client system must ensure the correct processing of messages.
CME Group offers open source java code to assist customers to accomplish this task (https://github.com/CMEGroup/CMESmartStreamonGCP_BinaryData).
Additionally, CME Group offers a CME Smart Stream on GCP tutorial (https://github.com/CMEGroup/CMESmartStream-on-GCP-Tutorial).
Project Names and Topic Naming Methodology
CME Smart Stream SBE on Google Cloud Platform (GCP) has data per product. Project names have the following methodology:
Project Name | Type | Environment |
---|---|---|
cmegroup-marketdata-cr-nr | Cryptocurrency Only | New Release |
cmegroup-marketdata-newrel | All Other Data | New Release |
cmegroup-marketdata-cr | Cryptocurrency Only | Production |
cmegroup-marketdata | All Other Data | Production |
Topic names have the following methodology:
Name | Valid Values | Description |
---|---|---|
EnvType | PROD = Production NR = New Release CERT = Certification | Environment |
ServiceName | SSCL = Smart Stream Cloud Link | Cloud service provider |
Provider | GCP = Google Cloud Products | Name of the cloud provider |
ContentType | MD = Market Data | Type of content |
Content Timing | RT = Real Time DLY = Delayed | Time data is sent |
ContentOwner | CMEG = CME Group Owned Market Data SPDJI = S&P DowJones USTBTEC = BrokerTec US Treasury Data MGEX = Minneapolis Grain Exchange GME = Gulf Mercantile Exchange | Reference to exchange |
Format | FIXBIN = MDP 3.0 Globex Data Channels STRBIN = Streamlined SVBIN = Settlements & Valuations | Feed Type |
Version | v01000 | CME Group version of cloud solution |
Topic Type | INCR = Incremental RPLY = MBP Recovery MBORPLY = MBO Recovery INST = Instrument Recovery | Defines the type of topic |
Channel Number | Examples: 230 = CME Block Trades 340 = CBOT Globex Commodity Futures | CME Group assigned channel ID See Market Data Offerings via Google Cloud for channel IDs. Product and instrument referential data for CME Smart Stream on GCP can be obtained via CME Reference Data API. |
Topic Name Examples
The following are topic name examples:
Production MDP 3.0 Globex Equity Futures Incremental Real-Time Feed (Channel 310): PROD.SSCL.GCP.MD.RT.CMEG.FIXBIN.v01000.INCR.310
Production MDP 3.0 Globex Equity Futures Recovery Real-Time Feed (Channel 310): PROD.SSCL.GCP.MD.RT.CMEG.FIXBIN.v01000.MBORPLY.310
New Release Streamlined S&P Index Real-Time Feed (Channel 211): NR.SSCL.GCP.MD.RT.SPDJI.STRBIN.v01000.INCR.210
Production MDP 3.0 BMD Futures Delayed Feed (Channel 430): PROD.SSCL.GCP.MD.DLY.BMD.FIXBIN.v01000.INCR.430
Recovery Processing
The following section outlines recovery options for CME Smart Stream on GCP.
Google Cloud Pub/Sub Message Replay
Google Cloud Pub/Sub includes the ability to replay messages. For more information on recovering messages, please refer to the Google quick start guide. (https://cloud.google.com/pubsub/docs/replay-qs).
Google Cloud Pub/Sub replay is available for all CME MDP channels on Google Cloud Pub/Sub. Client systems that require data recovery from the beginning of the week on CME Globex can determine the weekly start via the incremental topic when the CME Group sequence number is equal to one.
Large-Scale Market Recovery
This section describes Market by Price (MBP) & Market by Order (MBO) recovery processing for MDP 3.0 channels via Google Cloud Pub/Sub. Market Recovery should be used for large-scale data recovery (i.e. major outage or late join) to synchronize client systems to the latest state maintained by CME Group. Market by Price (MBP) & Market by Order (MBO) recovery have separate topics.
Once a subscriber requests to recover from a market recovery topic all Market Data Snapshot Full Refresh (tag 35-MsgType=W) messages are looped 3 times for an applicable channel.
The Pub/Sub market recovery topic is different the from the MDP 3.0 implementation where the market feed continually iterates.
The following is an example of the messaging from the market recovery 3x topic loop:
Market Recovery Topic | ||||
CME Snapshot Sequence Number | Tag 369-LastMsgSeqNumProcessed | Tag 60-TransactTime
| Tag 48-SecurityID | Tag 911-TotNumReports |
First Market Recovery Iteration (1) | ||||
1 - First message from market recovery topic | 107 | 20191010-18:36:41.000013217 | 8087 | 3 |
2 |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.