The Execution Report - Trade Spread message is sent upon fill or partial fill of client order:
- Fill Execution Report only for spread instruments
|9726||SeqNum||uInt32||4||Y||Sequence number assigned to this message.|
|39001||UUID||uInt64||8||Y||Matches Establish.UUID used to establish the connection.|
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.
For futures and options markets:
Should be unique per Firm ID.
Assigned value used to identify specific message originator.
Represents last individual or team responsible for the system that modifies the order prior to submission to CME Globex.
For fixed income markets: represents the Entering Trader.
Unique identifier for Order as assigned by the buy side (institution, broker, intermediary, etc.). 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; for example, by embedding a date within the ClOrdID field.
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:
For on-demand messages:
|Y||Price of this (last) fill|
|37||OrderID||uInt64||8||Y||Unique identifier for order as assigned by the exchange. Uniqueness is guaranteed within a single trading day across all instruments.|
|44||Price||PRICE9||8||Y||Price per share or contract.|
|99||StopPx||PRICENULL9||8||N||The stop price of a stop limit and stop protect order (Conditionally present if tag 40-OrdType=4).|
|60||TransactTime||uInt64||8||Y||Time the transaction represented by this Execution Report (35=8) occurred. Expressed as nanoseconds since epoch time.|
|5297||SendingTimeEpoch||uInt64||8||Y||Time when the message is sent. 64-bit integer expressing the number of nanoseconds since midnight January 1, 1970.|
OrderRequestID used to identify a request to enter, modify, or delete an order and echo the value on the Execution Report.
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) + SecExecID (527) + TradeDate (75)
|548||CrossID||uInt64NULL||8||N||Identifier for a Cross order. Will be present if Execution Report is in response to a Cross order.|
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.
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.
|48||SecurityID||Int32||4||Y||Security ID as defined in the market data Security Definition message.|
|38||OrderQty||uInt32||4||Y||Order quantity submitted by client.|
|32||LastQty||uInt32||4||Y||Quantity bought/sold on this (last) fill.|
|14||CumQty||uInt32||4||Y||Total quantity filled.|
|37711||MDTradeEntryID||uInt32||4||Y||Market Data Trade Entry ID. This identifier is assigned to all trades that take place for an instrument at a particular price level.|
|1506||SideTradeID||uInt32||4||Y||The unique ID assigned to the trade once it is received or matched by the exchange.|
Quantity open for further execution
LeavesQty = OrderQty (tag 38) - CumQty (tag 14)
Only present for outrights and spreads and not spread legs.
|75||TradeDate||LocalMktDate||2||Y||Indicates date of trading day (expressed in local time at place of trade).|
|432||ExpireDate||LocalMktDate||2||Y||Date of order expiration (last day the order can trade), always expressed in terms of the local market date.|
|39||OrdStatus||OrdStatusTrd||1||Y||Identifies status of order as partially filled or completely filled.|
Describes the specific ExecutionRpt (e.g. Cancel) while tag 39-OrdStatus will always identify the current order status (e.g. Partially Filled).
|54||Side||SideReq||1||Y||Side of order.|
|59||TimeInForce||TimeInForce||1||Y||Specifies how long the order remains in effect.|
|1028||ManualOrderIndicator||ManualOrdIndReq||1||Y||Indicates if order was sent manually.|
Flags message as possible retransmission.
This will convey whether a message is an original transmission or duplicate in response to RetransmissionRequest.
Used when original messages are interleaved with Retransmission responses.
Indicates if order was incoming or resting for the match event.
Type of Cross submitted to the market (if in response to a cross order).
Indicates total number of leg fills for the spread
Will represent total number of Execution Report Trade Spread Leg messages sent for the spread and will be set to 0 when spread leg fills are consolidated with spread fill.
Instructions for order handling for fixed income markets.
Only Best may be applied to resting and aggressing orders and:
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.
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 and TBAs.
Indicates if an order was submitted for market making obligation as required for MIFID.
Applicable only for EU fixed income markets.
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.
|1362||NoFills||groupSize||3||Y||Specifies the number of fill reasons included in this Execution Report.|
|→1364||FillPx||PRICE9||8||Y||Price of this fill reason or allocation. Required if NoFills (1362) > 0. Same as LastPx (31)|
|→1365||FillQty||uInt32||4||Y||Quantity bought/sold for this fill reason.|
|→1363||FillExecID||String2||2||Y||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.|
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
|Enumeration of the Fill Reason field using Integer. This identifies the type of match algorithm.|
Number of Leg executions. Set to '0'.
|→1893||LegExecID||uInt64||8||Y||The tag 17-ExecID value corresponding to a trade leg.|
|→637||LegLastPx||PRICE9||8||Y||Execution price assigned to a leg of a multileg instrument.|
|→602||LegSecurityID||Int32||4||Y||Multileg instrument's individual security's SecurityID.|
|→1894||LegTradeID||uInt32||4||Y||The TradeID value corresponding to a trade leg.|
|→1418||LegLastQty||uInt32||4||Y||Fill quantity for the leg instrument.|
The side of this individual leg of a multileg security.
|1795||NoOrderEvents||groupSize||3||N||Number of fills which comprise fill quantity.|
|→1799||OrderEventPx||PRICE9||8||Y||Refers to the fill price; same as tag 31-LastPx.|
|→1802||OrderEventText||String5||5||N||Not present for BrokerTec US; populated with the firm ID of the opposite order for BrokerTec EU bilateral trades.|
|→1797||OrderEventExecID||uInt32||4||Y||Unique ID which ties together a specific fill between two orders; unique per instrument per day.|
|→1800||OrderEventQty||uInt32||4||Y||Refers to the specific fill quantity between this order and the opposite order.|
|→1796||OrderEventType||OrderEventType||1||Y||The type of event affecting an order.|
|→1798||OrderEventReason||uInt8||1||Y||Action that caused the event to occur.|