Order Entry V2 Websocket - Trade Fill





Contents

Output - Trade Fill Response

Fields

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

header



2

→ messageType

Message Type

messageType

  • TRDR (Trade Response)

ALWAYS



3

→ possibleRetransInd

Possible Retransmission Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

OPTIONAL



4

→ sentTime

Sent Time

dateTime



ALWAYS

Timestamp of the message leaving the producing application.

5

→ sequenceNbr

Sequence Number

string



ALWAYS



6

payload



7

→ action

Action

orderAction

  • TRADE (Trade)

ALWAYS



8

→ additionalVenueExecutionId

Additional Venue Execution ID

string



ALWAYS



9

→ aggressorInd

Aggressor Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

10

→ cumulativeQtyInt

Cumulative Quantity Integer

int32



ALWAYS



11

→ customerOrderId

Customer Order ID

string



ALWAYS



12

→ delta

Delta

decimal



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = "LEG"

13

→ durationType

Duration Type

orderDurationType

  • DAY (Day) - Order expires at the end of the trading day.

  • FILL_AND_KILL (Fill and Kill) - Order is immediately executed against any available quantity and any remaining quantity is eliminated

  • FILL_OR_KILL (Fill or Kill) - Order is filled completely or else eliminated

  • GOOD_TILL_CANCEL (Good till Cancel) - Order remains working until cancelled

  • GOOD_TILL_DATE (Good till Date) - Order remains working until the end of the trading session of the local market date specified in the ExpirationDate field.

CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

14

→ entities



15

→ → operatorId

Operator ID

string



ALWAYS



16

→ → senderCountry

Sender Country

string



ALWAYS



17

→ → senderState

Sender State

string



OPTIONAL



18

→ expirationDt

Expiration Date

date



CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

19

→ fills[]



20

→ → price

Fill Price

price



ALWAYS



21

→ → qtyInt

Fill Quantity Integer

int32



ALWAYS



22

→ → reason

Fill Reason

orderFillReason

  • AGGRESSOR (Aggressor)

  • COVERING (Covering)

  • CROSS_BMG (Cross Broker Match Guarantee)

  • CROSS_BPM (Cross Better PRice Match)

  • FIFO (First In First Out)

  • FIFO_PERCENT (First In First Out Percent)

  • FUTURE_HEDGE (Future Hedge)

  • IMPLIED_OPENING (Implied Opening)

  • INSTITUTIONAL_PRIORITIZATION (Institutional Prioritization)

  • LEAD_MARKET_MAKER (Lead Market Maker)

  • LEG (Leg)

  • LEVELING (Leveling)

  • OPENING (Opening)

  • PRICE_DISCRETION (Price Discretion)

  • PRO_RATA (Pro Rata)

  • TOP (Top Order Status)

ALWAYS



23

→ → venueExecutionId

Fill Venue Execution ID

string



ALWAYS



24

→ instrument



25

→ → glbxSecurityId

Globex Security ID

int32



ALWAYS



26

→ lastTradeCounterCcyNotionalAmt

Last Trade Counter Curency Notional Amount

decimal



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = "LEG"

27

→ lastTradeNotionalAmt

Last Trade Notional Amount

decimal



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = "LEG"

28

→ lastTradePx

Last Trade Price Integer

price



ALWAYS



29

→ lastTradeQtyInt

Last Trade Quantity Integer

int32



ALWAYS



30

→ legCount

Leg Count

int32



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = SPREAD

31

→ manualInd

Manual Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

CONDITIONAL

Indicates whether the order was generated by automated trading logic.

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

32

→ marketDataTradeEntryId

Market Data Trade Entry ID

string



CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

33

→ price

Price

price



CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

34

→ qtyInt

Quantity Integer

int32



CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

35

→ remainingQtyInt

Remaining Quantity Integer

int32



CONDITIONAL

Criteria
  • ALWAYS when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

36

→ riskFreeRt

Risk-Free Rate

decimal



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = "LEG"

37

→ settlementDt

Settlement Date

date



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = "LEG"

38

→ sideInd

Side Indicator

marketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • CROSS (Cross)

  • SELL (Sell) - Identifies a sell side order

ALWAYS



39

→ spreadReportType[]

SpreadReportType

spreadReportType

  • LEG (Leg of Spread)

  • OUTRIGHT (Outright)

  • SPREAD (Spread)

ALWAYS



40

→ status

Status

orderStatus

  • FILLED (Filled)

  • PARTIALLY_FILLED (Partially Filled)

ALWAYS



41

→ stopPrice

Stop Price

price



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] IN (OUTRIGHT, SPREAD)

  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)

42

→ tradeDate

Trade Date

date



ALWAYS



43

→ transactionTime

Transaction Time

dateTime



ALWAYS



44

→ type

Type

orderType

  • LIMIT (Limit) - A Limit order defines the upper price limit at which to buy an instrument and lower price limit at which to sell an instrument. The price limit is defined in the Price field. If the price is not immediately available, the Limit order will rest until filled or cancelled.

  • MARKET (Market) - A Market order with protection is filled within a pre-defined range of prices referred to as the protected range. For buy orders, protection points are added to the current best offer price to calculate the protection price limit. For sell orders, protection points are subtracted from the current best bid price.

  • MARKET_TO_LIMIT (Market to Limit) - A Market-limit order is executed at the best price available in the market. If the market-limit order can only be partially filled, the order becomes a limit order and the remaining quantity remains on the order book at the specified limit price.

  • STOP (Stop) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop order goes on the book as a Market order once triggered.

  • STOP_LIMIT (Stop Limit) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop-Limit order goes on the book as a Limit order once triggered.

ALWAYS



45

→ venueExecutionId

Venue Execution ID

string



ALWAYS



46

→ venueOrderId

Venue Order ID

string



ALWAYS



47

→ venueSideId

Venue Side ID

string



ALWAYS



48

→ volatility

Volatility

decimal



CONDITIONAL

Criteria
  • OPTIONAL when payload.spreadReportType[] = "LEG"




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.