With CME Market Data over WebSocket API, clients can access easy-to-use real-time CME Group market data feeds. CME Market Data over WebSocket API supports JavaScript Object Notation (JSON) format. The service provides an easy, low-cost, and highly scalable format to drive trading analysis, risk management, or distribution. Data available in this universal format includes top of book information, trade execution, and product statistics including settlement, total daily volume, and open interest. CME Market Data over WebSocket API is a service powered by Google Cloud for market data distribution. 

Contents

Product Offerings

CME Market Data over WebSocket API supports CME Globex sourced futures and options products from the following Designated Contract Markets (DCM):

  • CME
  • CBOT
  • COMEX
  • NYMEX
  • DME

Supported Market Data

The following market data types are available via Google Cloud WebSocket feed:

  • Top of Book Topic - Provides a 1-deep Market by Price (MBP) book for an instrument
  • Market Stats Topic - Includes Open Interest, Settlement and Traded Volume
  • Trade Information Topic - Provides trade updates for an instrument
  • Session Management

Onboarding and Entitlements

Client Onboarding / Authorization and Entitlement

A registered OAuth API ID is required to access the CME Market Data Over WebSocket API services. API IDs for CME Group Logins are created and managed in the CME Customer Center - My Profile menu. Client API IDs must also be entitled prior to accessing CME APIs.

New clients should consult the CME Group Login registration process page for more information.

Complete the step(s) that are applicable to your account:

New Clients

Clients with Existing CME Group Logins

  1. Create a CME Group Login with multi-factor authentication.
  2. After creating and activating a CME Group Login ID, login to CME Customer Center under My Profile and create an OAuth API ID.
  3. Client API IDs must be entitled. To request access to the CME APIs, contact Global Account Management (GAM).
  1. Login to CME Customer Center and under My Profile create an OAuth API ID.
  2. Client API IDs must be entitled. To request access to the CME APIs, contact Global Account Management (GAM).

Accessing CME Market Data over WebSocket API

To access CME Market Data over WebSocket API, an OAuth API ID and access token are required. Client systems are allowed to use any API tool of their choice to request and refresh access tokens to access order entry Endpoints using the OAuth protocol.  Endpoints are used by client applications to communicate with the OAuth Authorization Server to request and refresh access tokens.  Additional information on on OAuth 2.0 adoption can be found in the Client API Service Adoption using OAuth 2.0 Protocol documentation.

OAuth 2.0 Authorization Server Access Token Retrieval Endpoints

The below Endpoints are available to request and refresh access tokens. 

OAuth 2.0 Authorization Server Endpoints
DetailNew ReleaseProduction
OAuth Token Endpoint

https://authnr.cmegroup.com/as/token.oauth2

https://auth.cmegroup.com/as/token.oauth2

Connectivity

Once clients have completed onboarding and granted entitlements they can access the CME Market Data over WebSocket API endpoints.  WebSocket API supports WSS connections over the internet.

DetailPath
Google Cloud WebSocket Path

wss://markets.api.cmegroup.com/marketdatastream/v1

Web Socket Initiation must have the header parameter "Authorization" with value "Bearer" pre-pended to the OAuth token (including a space separator).

Example: "Bearer <Oauth Access token>"

WebSocket API Endpoints
DetailNew Release/CertificationProduction
WebSocket APIwss://markets.api.uat.cmegroup.com/marketdatastream/v1wss://markets.api.cmegroup.com/marketdatastream/v1

OWASP Compliance

The APIs are hosted on Google Cloud and protected by Google Cloud Armor with preconfigured Web Application Firewall(WAF) rules leveraging the OWASP Top 10 rules.

Client systems should utilize the OWASP Top 10 rules

Messaging Information

This section provides detailed message information.

Trade Information

Trade information is available via CME Market Data over Websocket API. The messageType for trades is "TRD"

Book Management Information

CME Market Data over WebSocket API provides a 1-deep Market by Price (MBP) book for an instrument. The CME Market Data over WebSocket API book messages use an overlay approach to book management. Overlay book management completely restates the book with each new book update.  Book updates, per instrument, are sent at a maximum of every 500 milliseconds.  The messageType for top of book orders is "TOB".

Daily Statistics Information

Daily statistics provide statistical data for the trading day including:

  • Cleared Volume  
  • Open Interest 
  • Settlement Price 

The messageType for daily statistics is "STAT".

Cleared Volume

Cleared Volume is the number of contracts that have been through the clearing process for an active instrument for the previous trading day.  Cleared Volume is updated once per day throughout the trading week.

Open Interest

Open Interest is the total number of contracts per instrument that are not yet offset or fulfilled from the previous trading day. Open Interest is updated once per day throughout the trading week.

Settlement Price

CME Market Data over WebSocket API sends the following types of settlement prices:

  • Final/Preliminary
  • Actual/Theoretical
  • Settlement at Trading Tick/Settlement at Clearing Tick

For a settlement price overview, refer to the Settlement Prices topic.

Settlement Price Attribute Examples
EXAMPLE #KEYATTRIBUTEVALUEMEANING
1

payload.tradeStatistics

settlementFinal

0

Preliminary Actual Settlement at Trading Tick
payload.tradeStatisticssettlementActual

1

payload.tradeStatisticssettlementRounded

1

2

payload.tradeStatistics

settlementFinal

0

Preliminary Actual Settlement at Clearing Tick
payload.tradeStatisticssettlementActual

1

payload.tradeStatisticssettlementRounded

0

3

payload.tradeStatistics

settlementFinal

1

Final Theoretical Settlement at Trading Tick
payload.tradeStatisticssettlementActual

0

payload.tradeStatisticssettlementRounded

1

4

payload.tradeStatistics

settlementFinal

1

Final Actual Settlement at Trading Tick
payload.tradeStatisticssettlementActual

1

payload.tradeStatisticssettlementRounded

1

5

payload.tradeStatistics

settlementFinal

1

Final Actual Settlement at Clearing Tick
payload.tradeStatisticssettlementActual

1

payload.tradeStatisticssettlementRounded

0

Connectivity Processing 

CME Market Data over WebSocket API is a bi-directional communication allowing clients access to CME Globex market data in real-time in JSON format.

Messaging Summary

The diagram below shows the message flow for CME Market Data Over WebSocket API.


WebSocket Connection

Login Status Messages

Upon a websocket connection, CME Market Data over WebSocket API sends one of the following login status messages.  

StageMessage NamemessageTypeFromPurpose
InitializationCME Globex StatusLOGIN_STATUSCME Globex to Client SystemAccepts connection
Login RejectLOGINERRCME Globex to Client SystemRejects connection

Message Requests

A subscription message allows client systems to recover and to subscribe a product code. A Subscription is sent after a successful login.  Subscription requests and book states are reset at session disconnection. Therefore, subscriptions must be re-established after reconnection and a successful login.

Subscription Message

Message NamemessageTypesubscriptionMessageTypesStatusFrom | ToPurpose
Subscribe/ UnsubscribeUNSUBSCRIBE

Client System to CME GlobexUnsubscribe
Subscription StatusSUBSCRIPTION_STATUS
  • TOB (Top of Book)
  • TRD (Trade)
  • STAT (Statistics)
  • SUBSCRIBED
  • UNSUBSCRIBED
CME Globex to Client SystemSubscription Confirmation
Subscription Error

SUBSCRIPTION_ERROR

  • TOB (Top of Book)
  • TRD (Trade)
  • STAT (Statistics)
 CME Globex to Client System

Subscription Rejection

Additional Considerations

Sequence Number

Sequence Number (field name sequenceNumber) is a unique number per each CME to client message. Each topic has its own separate set of sequence numbers that increment sequentially with each message and reset weekly. 

Heartbeat

Heartbeat messages are generated by MDP every 10 seconds, independently for each authenticated socket connection in periods of no activity. Generated if there is no data to be sent and 10 seconds passed since last message of any kind was sent to client connection. The messageType for the heartbeat is "HEARTBEAT". 

System Recovery Processing

In the event of a CME Websocket Market Data failure, client systems must reestablish a connection and re-subscribe via request messages. 

Product and Instrument Referential Data

CME Market Date over WebSocket API does not support instrument referential data. Clients must obtain instrument referential data from one of the many other services offered by CME Group, including

SERVICE

DESCRIPTION

CME Reference Data API 

Product and instrument referential data can be obtained via CME Reference Data API.

  • The MDP Websocket field "Id" maps to the Reference data API instrument field "globexSecurityId".



  • No labels