Page tree
Skip to end of metadata
Go to start of metadata

The Execution Report - Trade Outright message is sent upon fill or partial fill of client order:

  • Fill Execution Report only for outright instruments

Bolded red text indicates this change supports EBS Market.

35=8, 39=1,2

Tag

Name

Binary Type

Binary Length

Req

Enumeration

Description

9726SeqNumuInt324Y

Sequence number assigned to this message.

The max value is 999999999 which is 1 short of 1 billion.

39001UUIDuInt648Y
Matches Establish.UUID used to establish the connection.
17ExecIDString4040Y

Unique identifier of Execution Report message as assigned by exchange. Uniqueness is guaranteed within a single trading day or the life of a multi-day order.

5392SenderIDString20Req20Y

For futures and options markets: represents Operator ID.

For EBS and fixed income markets: represents the Entering Trader.

This value represents the individual or team submitting the message and is subject to registration requirements and character limits as required by Rule 576 and the Advisory below: 

https://www.cmegroup.com/rulebook/files/cme-group-Rule-576.pdf

In FirmSoft and Global Command Center queries for order status and cancellations, this value must be exact.

11CIOrdIDString20Req20Y

Unique identifier for Order as assigned by client system. Uniqueness must be guaranteed within a single trading day.

Firms, particularly those which electronically submit multi-day orders, trade globally, or throughout market close periods, should ensure uniqueness across days.

1505PartyDetailsListReqIDuInt648Y

The unique identifier of the Party Details Definition Request Acknowledgment associated with this message; this is the value submitted on the inbound message.

For pre-registered messages:

  • Unique ID from Party Details Definition Request Acknowledgment message
  • PartyDetailsListRequestID≠0.

For on-demand messages:

  • If not registered beforehand through iLink then Party Details Definition Request message will be sent along with the business message and will immediately precede it
  • PartyDetailsListRequestID=0.

31

LastPx

PRICE9

8

Y
Price of this (last) fill.
37OrderIDuInt648Y
Unique identifier for order as assigned by the exchange. Uniqueness is guaranteed within a single trading day across all instruments.
44PricePRICE98Y
Price per share or contract.
99StopPxPRICENULL98N
The stop price of a stop limit and stop protect order (Conditionally present if tag 40-OrdType=4).
60TransactTimeuInt648Y
Time the transaction represented by this Execution Report (35=8) occurred. Expressed as nanoseconds since epoch time.
5297SendingTimeEpochuInt648Y
Time when the message is sent. 64-bit integer expressing the number of nanoseconds since midnight January 1, 1970.
2422OrderRequestIDuInt648Y

OrderRequestID used to identify a request to enter, modify, or delete an order. Echoed back on the Execution Report.

For the unsolicited events (e.g. fills and end of day eliminations), echo the value on the ExecutionReport representing the last accepted OrderRequestID on the corresponding order.

527SecExecIDuInt648Y

Unique identifier linking spread summary fill notice with leg fill notice and trade cancel messages.

To uniquely identify each fill, Client System can concatenate: OrderID (37) + TradeDate (75) + SecExecID (527) 

548CrossIDuInt64NULL8N
Identifier for a Cross order. Will be present if execution report is in response to a Cross order.
961HostCrossIDuInt64NULL8N

Host-assigned entity ID used to reference all components of a Cross: sides + strategy + legs.

The HostCrossID also links components of the Cross order. For example, each individual Execution Report associated with the order will contain HostCrossID to tie them to the original Cross order.

9537LocationString5Req5Y

ISO identifier of the physical location of the individual or team head trader identified by the tag 5392 (SenderID) in the message.

The first two bytes as per ISO 3166-1, identify the country (e.g., JP = Japan, CN = China).

The next three bytes indicate a comma-delimited state or province code (e.g., CA = California, QC = Quebec).

For valid values, refer to ftp.cmegroup.com/fix/coo

Market Regulation requires only the submission of the two first characters of tag 9537-Location for all countries with the exception of Canada. For Canada, the 5 bytes including the province code must be submitted.

Note: this field is optional for EBS Market and eFIX Matching Service instruments.

48SecurityIDInt324Y
Security ID as defined in the market data Security Definition message.
38OrderQtyuInt324Y

Number of shares or contracts ordered.

32LastQtyuInt324Y
Quantity bought/sold on this (last) fill.
14CumQtyuInt324Y
Total quantity filled.
37711MDTradeEntryIDuInt324Y
Market Data Trade Entry ID. This identifier is assigned to all trades that take place for an instrument at a particular price level.
1506SideTradeIDuInt324Y
The unique ID assigned to the trade once it is received or matched by the exchange.
820TradeLinkIDuInt32NULL4N
Contains the workup ID; unique per instrument per day.
151LeavesQtyuInt324Y

Quantity open for further execution.

Only present for outrights and spreads, not spread legs. 

75TradeDateLocalMktDate2Y

Indicates date of trading day (expressed in local time at place of trade).

Sent in number of days since Unix epoch.

432ExpireDateLocalMktDate2Y

Date of order expiration (last day the order can trade), always expressed in terms of the local market date.

Sent in number of days since Unix epoch.

39OrdStatusOrdStatusTrd1Y
  • OrdStatus=1 (Partially Filled)
  • OrdStatus=2 (Filled)
Identifies status of order as partially filled or completely filled.
150ExecTypeExecTypTrade0Y

ExecType=F (Trade)

Describes the specific Execution Report (e.g. Cancel) while tag 39-OrdStatus will always identify the current order status (e.g. Partially Filled).

Constant value.

40OrdTypeOrderType1Y
  • OrdType=1 (Market order with protection)
  • OrdType=2 (Limit order)
  • OrdType=4 (Stop limit order)
  • OrdType=K (Market limit order)
Order type.
54SideSideReq1Y
  • Side=1 (Buy)
  • Side=2 (Sell)
Side of order.
59TimeInForceTimeInForce1Y
  • TimeInForce=0 (Day)
  • TimeInForce=1 (GTC)
  • TimeInForce=3 (FAK)
  • TimeInForce=4 (FOK)
  • TimeInForce=6 (GTD)
  • TimeInForce=99 (GFS)

Specifies how long the order remains in effect

FOK is supported only for BrokerTec/EBS

GFS is supported only for EBS

1028ManualOrderIndicatorManualOrdIndReq1Y
  • 0=Automated
  • 1=Manual

Indicates if the message was initially received manually.

'0' indicates the message was generated by automated trading logic.

iLink messages containing a value other than '0' or '1' in this tag will be rejected.

This tag is subject to Rule 536.B.2 Electronic Audit Trail Requirements for Electronic Order Routing/Front-End Systems.

https://www.cmegroup.com/rulebook/files/cme-group-Rule-536-B-Tag1028.pdf

9765PossRetransFlagBooleanFlag1Y
  • 0=False
  • 1=True

Flags message as possible retransmission or duplicate

Indicates if message is an original transmission or duplicate in response to Retransmission Request or possible duplicate

Used when original messages are interleaved with Retransmission responses

Possible duplicate means the same message may have been sent again with different sequence number

1057

AggressorIndicator

BooleanFlag1Y
  • AggressorIndicator=0 (No)
  • AggresorIndicator=1 (Yes)

Indicates if order was incoming or resting for the match event.

549CrossTypeuInt8NULL1N
  • CrossType=3

Type of Cross submitted to the market (if in response to a Cross order).

18ExecInstExecInst1N
  • Bit 0=AON
  • Bit 1=Only Best
  • Bit 2=Not Held

Instructions for order handling for fixed income markets.

Only Best may be applied to resting and aggressing orders and:

  • Prevents submission of an order if the order’s price is not equal to or better than the best price on the book.
  • Cancels an order from the book if a new order with a better price enters the queue.
  • This order condition permits the order to be alone at the best price level or join other orders at the best price level.

Not Held (applies only to US Repo) eliminates quantity remaining from an FaKi order (tag 59=3) and ensures it will it not be included in a work-up session; however, the order can still trigger a work-up session.

AONs will have a separate book with a separate ISIN. The AON orders that cannot trade immediately can rest in the AON book. They can only trade with AON orders on the other side of the AON book that have the SAME PRICE and SAME QUANTITY.

Applicable only for BrokerTec Markets; should not be used for future and options markets.

5906ExecutionModeExecMode1N
  • A=Aggressive
  • P=Passive

Instruction for whether the order should rest on the book upon entry or match as an aggressor.

A Passive Order will rest in the market without executing unless matched with an Aggressive Order on the other side.

An Aggressive Order will match against any other order on the opposite side.

Applicable for US & EU Repos.

9373LiquidityFlagBooleanNULL1N
  • 0=False
  • 1=True

Indicates if an order was submitted for market making obligation as required for MIFID.

Applicable only for EU BrokerTec and EBS MiFID.

6881ManagedOrderBooleanNULL1N
  • 0=False
  • 1=True

Boolean: flags a managed order.

Applicable only to Repo fixed income markets.

5409ShortSaleTypeShortSaleType1N
  • 0=Long Sell
  • 1=Short Sale With No Exemption (SESH)
  • 2=Short Sale With Exemption (SSEX)
  • 3=Undisclosed Sell (Information not available – UNDI)

Indicates the type of short sale on Sell orders only as required for MIFID. 

Should not be used for Buy orders.

Applicable only for EU fixed income markets.

7191OwnershipuInt81N

Specifies the owner of the work up private phase.

  • 0 – Aggressive owner included in workup
  • 1 – Passive owner included in workup
  • 2 – Aggressive owner fill price from order excluded from workup during sweep
  • 3 – Passive owner fill price from order excluded from workup during sweep
  • 9 - Not Applicable
845DiscretionPricePRICENULL98N

The presence of DiscretionPrice on an order indicates that the trader wishes to display one price but will accept trades at another price

Note - DiscretionPrice  must be greater than zero 

Applicable only for EBS

828TradeTypeuInt16NULL2N
  • 1000=Trade at Fixing
Represents a trade at fixing price
378ExecRestatementReasonExecReason1N
  • ExecRestatementReason=8 (Exchange) 
Will be present when trade at fixing is assigned fixing price
64SettlDateLocalMktDate2N
Specific date of trade settlement
541MaturityDateLocalMktDate2N
Date of maturity
1056CalculatedCcyLastQtyDecimal64NULL9N

Total amount traded (in notional) in counter currency for the Spot

381GrossTradeAmtDecimal64NULL9N
Total amount traded (in notional) in base currency for the Spot
6262BenchmarkPricePRICENULL98N
The price assigned to an eFix matched trade which is determined by an automated set market mid-price from a third
party market data feed. The Fixing Price will be distributed as soon as practicable after the Fixing Time
1362NoFillsgroupSize3Y
Specifies the number of fill reasons included in this Execution Report
→1364FillPxPRICE98Y
Price of this fill reason or allocation. Required if NoFills(1362) > 0. Same as LastPx(31)
→1365FillQtyuInt324Y
Quantity bought/sold for this fill reason
→1363FillExecIDString22Y
Used as an identifier for each fill reason or allocation reported in single Execution Report. Required if NoFills(1362) > 0. Append FillExecID with ExecID to derive unique identifier for each fill reason or allocation
→1622FillYieldTypeuInt81Y

0 – Future Hedge

1 – Pro Rata

2 – LMM

3 – TOP

4 – FIFO

5 – Cross BMG

8 – Covering

9 – Cross BPM

10 – Leveling

11 – Aggressor

14 – Leg

16 – Opening

18 – Implied Opening

19 – FIFO Percent

22 – Institutional Prioritization

23 - Price Discretion

Enumeration of the Fill Reason field using Integer. This identifies the type of match algorithm
1795NoOrderEventsgroupSize3N

Number of fills which comprise fill quantity.   

The maximum number of fills is configured 100.

Applicable for BrokerTec and EBS Market only.

→ 1799OrderEventPxPRICE98Y
Refers to the fill price; same as LastPx (tag 31)
→ 1802OrderEventTextString55N

Will not be present for BrokerTec US; Will be populated with the firm ID of the opposite order for BrokerTec EU bilateral trades

Will be populated  with the Settlement Counterparty Public ID for EBS Market.
→ 1797OrderEventExecIDuInt324Y
This is a unique ID which ties together a specific fill between two orders; It will be unique per instrument per day
→ 1800OrderEventQtyuInt324Y
Refers to the specific fill quantity between this order and the opposite order
→ 1796OrderEventTypeOrderEventType1Y
  • 4=Partially Filled
  • 5=Filled
The type of event affecting an order
→ 1798OrderEventReasonuInt81Y
  • 100=Binary Trade Reporting
Action that caused the event to occur
→ 5542ContraGrossTradeAmtDecimal64NULL9N
Amount traded (in notional) in base currency for the Spot with this counterparty
→ 5971ContraCalculatedCcyLastQtyDecimal64NULL9N
Amount traded (in notional) in counter currency for the Spot with this counterparty