iLink 3 Execution Report - Trade Outright
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 support for EBS Market.
35=8, 39=1,2
Tag | Name | Binary Type | Binary Length | Req | Enumeration | Description |
---|---|---|---|---|---|---|
9726 | SeqNum | uInt32 | 4 | Y | Sequence number assigned to this message. The max value is 999999999 which is 1 short of 1 billion. | |
39001 | UUID | uInt64 | 8 | Y | Matches Establish.UUID used to establish the connection. | |
17 | ExecID | String40 | 40 | Y | Globally unique identifier for each Execution Report message assigned by exchange. | |
5392 | SenderID | String20Req | 20 | Y | For futures and options markets: represents Operator ID. For EBS and fixed income markets: represents the Entering Trader. For EBS this value must be 3 characters. 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. This tag value is always uppercase, regardless of the case in the inbound message tag. Client systems are not required to submit capitalized identifier to CME Globex. | |
11 | CIOrdID | String20Req | 20 | Y | 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. | |
1505 | PartyDetailsListReqID | uInt64 | 8 | Y | 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:
| |
31 | LastPx | PRICE9 | 8 | Y | Price of this (last) fill. | |
37 | OrderID | uInt64 | 8 | Y | Globally unique identifier for each order assigned by the exchange. | |
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. | |
2422 | OrderRequestID | uInt64 | 8 | Y | 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. | |
527 | SecExecID | uInt64 | 8 | Y | 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) | |
548 | CrossID | uInt64NULL | 8 | N | Identifier for a Cross order. Will be present if execution report is in response to a Cross order. | |
961 | HostCrossID | uInt64NULL | 8 | N | 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. | |
9537 | Location | String5Req | 5 | Y | 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 https://www.cmegroup.com/ftp/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. This field is optional for EBS Market and eFIX Matching Service instruments. | |
48 | SecurityID | Int32 | 4 | Y | Security ID as defined in the market data Security Definition message. | |
38 | OrderQty | uInt32 | 4 | Y | Number of shares or contracts ordered. | |
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 | Trade ID assigned to the trade once it is received or matched by the exchange. | |
820 | TradeLinkID | uInt32NULL | 4 | N | Contains the workup ID; unique per instrument per day. | |
151 | LeavesQty | uInt32 | 4 | Y | Quantity open for further execution. Only present for outrights and spreads, not spread legs. | |
75 | TradeDate | LocalMktDate | 2 | Y | Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch. | |
432 | ExpireDate | LocalMktDate | 2 | Y | 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. | |
39 | OrdStatus | OrdStatusTrd | 1 | Y |
| Identifies status of order as partially filled or completely filled. |
150 | ExecType | ExecTypTrade | 0 | Y | 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. |
40 | OrdType | OrderType | 1 | Y |
| Order type. |
54 | Side | SideReq | 1 | Y |
| Side of order. |
59 | TimeInForce | TimeInForce | 1 | Y |
| Specifies how long the order remains in effect FOK is supported only for BrokerTec/EBS GFS is supported only for EBS |
1028 | ManualOrderIndicator | ManualOrdIndReq | 1 | Y |
| 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 |
9765 | PossRetransFlag | BooleanFlag | 1 | Y |
| 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 | BooleanFlag | 1 | Y |
| Indicates if order was incoming or resting for the match event. |
549 | CrossType | uInt8NULL | 1 | N |
| Type of Cross submitted to the market (if in response to a Cross order). |
18 | ExecInst | ExecInst | 1 | N |
| 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. |
5906 | ExecutionMode | ExecMode | 1 | N |
| 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. |
9373 | LiquidityFlag | BooleanNULL | 1 | N |
| Indicates if an order was submitted for market making obligation as required for MIFID. Applicable only for EU BrokerTec and EBS MiFID. |
6881 | ManagedOrder | BooleanNULL | 1 | N |
| Boolean: flags a managed order. Applicable only to Repo fixed income markets. |
5409 | ShortSaleType | ShortSaleType | 1 | N |
| 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. NoteThe Short-Selling Field is only required from Participants when BrokerTec EU has a regulatory obligation (pursuant to Article 26(5) of MiFIR) to conduct transaction reporting on behalf of the Participant. This obligation only applies to BrokerTec EU when the relevant participant is exempt from MiFIR (typically non-EEA (European Economic Area) firms, corporate entities or certain asset managers). Please reach out to TradingVenueCompliance@cmegroup.com for guidance. |
7191 | Ownership | uInt8 | 1 | N | Specifies the owner of the work up private phase.
| |
845 | DiscretionPrice | PRICENULL9 | 8 | N | The discretion price of an order. Conditionally required if the trader wishes to display one price but will accept trades at another price)
Applicable only for EBS. | |
828 | TradeType | uInt16NULL | 2 | N |
| Represents a trade at fixing price |
378 | ExecRestatementReason | ExecReason | 1 | N |
| Will be present when trade at fixing is assigned fixing price |
64 | SettlDate | LocalMktDate | 2 | N | Specific date of trade settlement | |
541 | MaturityDate | LocalMktDate | 2 | N | Date of maturity | |
1056 | CalculatedCcyLastQty | Decimal64NULL | 9 | N | Total amount traded (in notional) in counter currency for the Spot | |
381 | GrossTradeAmt | Decimal64NULL | 9 | N | Total amount traded (in notional) in base currency for the Spot | |
6262 | BenchmarkPrice | PRICENULL9 | 8 | N | The price assigned to an eFix matched trade which is determined by an automated set market mid-price from a third | |
1362 | NoFills | groupSize | 3 | Y | Specifies the number of fill reasons included in this Execution Report. Maximum number of fill reasons is 6. | |
→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 | |
→1622 | FillYieldType | uInt8 | 1 | Y | 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 24 (LOS) | Enumeration of the Fill Reason field using Integer. Identifies the type of match algorithm |
1795 | NoOrderEvents | groupSize | 3 | N | Number of fills which comprise fill quantity. The maximum number of fills is configured 100. Applicable for BrokerTec and EBS Market only. | |
→ 1799 | OrderEventPx | PRICE9 | 8 | Y | Refers to the fill price; same as LastPx (tag 31) | |
→ 1802 | OrderEventText | String5 | 5 | N | 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. | |
→ 1797 | OrderEventExecID | uInt32 | 4 | Y | This is a unique ID that ties together a specific fill between two orders. For EBS and BrokerTec US and EU Repo markets: this tag will be globally unique across all EBS and Repo instruments. Uniqueness is guaranteed within the configured range per market segment. | |
→ 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 |
→ 5542 | ContraGrossTradeAmt | Decimal64NULL | 9 | N | Amount traded (in notional) in base currency for the Spot with this counterparty | |
→ 5971 | ContraCalculatedCcyLastQty | Decimal64NULL | 9 | N | Amount traded (in notional) in counter currency for the Spot with this counterparty | |
9562 | ReservationPrice | PRICENULL9 | 8 | N | Currently not supported. This field specifies the highest (for a buy) or lowest (for a sell) price at which the order may trade. This price must be better than the limit price and should be a multiple of reservation price tick. | |
638 | PriorityIndicator | ulnt8NULL | 1 | N |
| Indicates whether an incoming New Order/Cancel-Replace entered the book or subsequently rests on the book with Large Order Size or Standard Order Size priority. |
9264 | DailyLimitPrice | PRICENULL9 | 8 | N | Currently not supported. The price at which opposite side orders are listed on the market. Sent only in fill messages for reservation price orders. |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.