JSON Block Trades Data via Google Cloud

With CME Group Market Data in the Google Cloud (GC), clients can access real-time CME Group market data feeds through native Google Cloud services.  With this release block trades will be launched for the CME, CBOT, NYMEX, COMEX, and GME. Google Cloud (GC) supports JavaScript Object Notation (JSON) formatted futures data, allowing customers to use an easy, low-cost, and highly scalable format to drive their business. JSON Block Trades data via Google Cloud will have a different message format than the current data offerings on GC, however both feeds will contain the same trades. 

This page provides an overview of GC JSON for Block trades technical impacts. CME Smart Stream on GC leverages Google Cloud Pub/Sub technology for market data distribution. For complete details regarding Google Cloud Pub/Sub, refer to Google Cloud Pub/Sub documentation

CME Smart Stream on GC also offers Simple Binary Encoded (SBE) data. For more information, refer to the CME Smart Stream on GCP SBE impact documentation.

Contents

New Topic Name Value

With the launch of JSON Blocks Trades Data on Google Cloud, a new topic type of "BLOCKS" will be added.  For more information regarding topic naming consult the CME Smart Stream on GCP JSON documentation

Name

Valid Values

Description

Name

Valid Values

Description

Topic Type

TOB = Top of Book

LVL2 = Top Two Book Levels

TRD = Time and Sales (Trade Information)

STAT = Statistic Information 

BLOCKS = Block Trade Information

Defines the type of topic

JSON Blocks Topic Name Examples

The following are topic name examples:

  • PROD.SSCL.GCP.MD.RT.CMEG.JSON.v01000.BLOCKS.XNYM

  • NR.SSCL.GCP.MD.RT.CMEG.JSON.v01000.BLOCKS.XCME

Message Specification 

The following section outlines the message specification for JSON Block Trades Data via Google Cloud messages.

#

Key

Attribute

Presence

Type

Enumeration

Description

#

Key

Attribute

Presence

Type

Enumeration

Description

1

header

messageType

Required

String

 

TRDBLK

 

2

header

sentTime

Required

UTC Timestamp

 

Message sending time

3

payload

lastUpdateTime

Required

UTC Timestamp

 

Transaction time

4

payload

tradeDt

Required

Date

YYYY-MM-DD

 

5

payload 

action

Required

String

  • NEW

  • UPDATE

  • DELETE

 

6

payload

price

Optional

Price

 

Trade Price.

Null for multi-leg transactions.

7

payload

qty

Required

Qty

 

 

8

payload

strategyLinkId

Optional

 

Int

 

Identifies the multi-leg strategy (e.g. spread) to which the trade belongs.

9

payload

mdTradeEntryId

Required

Int

 

Market data entry identifier to map multiple prices of a single trade.

10

payload

tradeType

Required

String

  • BLOCK

Trade Type

11

payload 

priceType

Optional

String

  • CONTRACT

  • DERIVED

Price Type

12

payload.instrument

exchMic

Required

String

  • XCEC = COMEX

  • XCME = CME

  • XNYM = New York Mercantile Exchange,

  • DUMX = Gulf Mercantile Exchange

  • XCBT = Chicago Board Of Trade

Instrument Exchange MIC

13

payload.instrument

secType

Required

String

  • FUT

  • OOC

  • OOF

  • MLEG

Instrument security type

14

payload.instrument

clrSym

Optional

String

 

Instrument clearing product symbol

15

payload.instrument

glbxSym

Required

String

 

Instrument symbol

16

payload.instrument

periodCode

Required

String

YYYYMMDD

or

YYYYMM

Instrument maturity

 

17

payload.instrument 

putCallInd

Optional

String

  • PUT

  • CALL

Instrument Put/Call Indicator

18

payload.instrument

strikePx

Optional

Price

 

Instrument Put/Call Indicator

19

payload.instrument

unitOfMeasure

Optional

 

String

 

Instrument Unit of Measure. May not be provided in some block trades transactions.

20

payload.instrument

unitOfMeasureQty

Optional

 

Qty

 

Instrument Unit of Measure Qty. May not be provided in some block trades transactions.

21

payload.instrument

underlyingGlbxSym

Optional

 

String

 

Underlying instrument Globex symbol

22

payload.instrument

underlyingPeriodCode

Optional

 

String

 

Instrument Underlying Maturity

23

payload.instrument

underlyingExchMic

Optional

 

String

  • XCEC = COMEX

  • XCME = CME

  • XNYM = New York Mercantile Exchange,

  • DUMX = Gulf Mercantile Exchange

  • XCBT = Chicago Board Of Trade

 

Instrument Underlying Exchange MIC

24

payload.legs[]

 

Optional 

Array

 

Array representing leg trades, resulted from the spread block trade.

Leg Trades array present when Transaction is for the spread payload.instrument.secType="MLEG"  and StrategyLinkID has a value in the first block of the transaction.

 

25

payload.legs[].instrument

exchMic

Required

String

  • XCEC = COMEX

  • XCME = CME

  • XNYM = New York Mercantile Exchange,

  • DUMX = Gulf Mercantile Exchange

  • XCBT = Chicago Board Of Trade

Leg exchange

26

payload.legs[].instrument

clrSym

Required

String

 

Leg Clearing product symbol

27

payload.legs[].instrument

glbxSym

Required

String

 

Leg Globex contract symbol

28

payload.legs[].instrument

 

strikePx

Optional

String

 

Leg instrument Strike price, sent if leg is an option

29

payload.legs[].instrument

putCallInd

Optional

String

  • PUT

  • CALL

Leg instrument put or call indicator, sent if leg is an option

30

payload.legs[].instrument

periodCode

 

String

 

Leg instrument period code

31

payload.legs[].instrument 

legSideInd

Required

String

  • BUY

  • SELL

Side of the leg

32

payload.legs[].instrument

legRatioQty

Required

Qty

 

Leg ratio qty

33

payload.legs[].instrument

secTyp (FUT, OOC, OOF)

Required

String

 

Leg instrument type

34

payload.legs[].instrument

unitOfMeasure

Required

String

 

Leg instrument unit of measure

35

payload.legs[].instrument

unitOfMeasureQty

Required

Qty

 

Leg instrument unit of measure qty

36

payload.legs[]

price

Required

Price

 

Leg trade price 

37

payload.legs[]

qty

Required

Qty

 

Leg trade qty

Message Example

Below is an example Block Trade JSON message.

{   "header" : {     "messageType" : "TRDBLK",     "sentTime" : "2023-05-12T14:04:05.223000000Z",     "version" : "1.0"   },   "payload" : {     "lastUpdateTime" : "2023-05-10T13:50:36.637000000Z",     "tradeDt" : "2023-02-10",     "action" : "New",     "price" : 0.77,     "qty" : 1,     "strategyLinkID" : "19107077",     "mdTradeEntryID" : "19107077",     "tradeType" : "BLOCK",     "priceType" : "CONTRACT",     "instrument" : {       "exchMic" : "XNYM",       "secType" : "MLEG",       "gbxSym" : "LN:FO",       "periodcode" : "20231026",     },     "legs" : [ {       "price" : 3.87,       "qty" : 14.0,       "instrument" : {         "clrSym" : "HP",         "glbxSym" : "HPH4",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20240226",         "legSide" : "SELL",         "legRatioQty" : 14,         "secType" : "FUT",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 0.77,       "qty" : 25.0,       "instrument" : {         "clrSym" : "LN",         "glbxSym" : "LNEX3",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20231026",         "legSide" : "BUY",         "legRatioQty" : 25,         "secType" : "OOF",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 0.77,       "qty" : 25.0,       "instrument" : {         "clrSym" : "LN",         "glbxSym" : "LNEZ3 C4000",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20231127",         "legSide" : "BUY",         "legRatioQty" : 25,         "secType" : "OOF",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 0.77,       "qty" : 25.0,       "instrument" : {         "clrSym" : "LN",         "glbxSym" : "LNEF4 C4000",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20231226",         "legSide" : "BUY",         "legRatioQty" : 25,         "secType" : "OOF",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 0.77,       "qty" : 25.0,       "instrument" : {         "clrSym" : "LN",         "glbxSym" : "LNEG4 C4000",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20240126",         "legSide" : "BUY",         "legRatioQty" : 25,         "secType" : "OOF",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 0.77,       "qty" : 25.0,       "instrument" : {         "clrSym" : "LN",         "glbxSym" : "LNEH4 C4000",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20240226",         "legSide" : "BUY",         "legRatioQty" : 25,         "secType" : "OOF",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 3.87,       "qty" : 25.0,       "instrument" : {         "clrSym" : "HP",         "glbxSym" : "HPX3",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20231026",         "legSide" : "SELL",         "legRatioQty" : 14,         "secType" : "FUT",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 3.87,       "qty" : 14.0,       "instrument" : {         "clrSym" : "HP",         "glbxSym" : "HPZ3",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20231127",         "legSide" : "SELL",         "legRatioQty" : 14,         "secType" : "FUT",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 3.87,       "qty" : 14.0,       "instrument" : {         "clrSym" : "HP",         "glbxSym" : "HPF4",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20231226",         "legSide" : "SELL",         "legRatioQty" : 14,         "secType" : "FUT",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     }, {       "price" : 3.87,       "qty" : 14.0,       "instrument" : {         "clrSym" : "HP",         "glbxSym" : "HPG4",         "exchMic" : "XNYM",         "putCallInd" : "PUT",         "periodCode" : "20240126",         "legSide" : "SELL",         "legRatioQty" : 14,         "secType" : "FUT",         "unitOfMeasure" : "MMBtu",         "unitOfMeasureQty" : 10000.0       }     } ]   } }    

Contact Information

For technical development support, contact Certification Support for Electronic Trading (CSET).

For production requests, please contact the Global Command Center (GCC).

For all other inquiries, please contact Global Account Management (GAM).

 




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.