iLink 3 Execution Report - Trade Spread

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

  • Fill Execution Report only for spread instruments

35=8, 39=1,2

Tag

Field Name

Binary Type

Binary Length

Required

Value

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 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.

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:

  • 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

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 and echo the value 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 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



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



Trade ID assigned to the trade once it is received or matched by the exchange.

151

LeavesQty

uInt32

4

Y



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).

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

  • OrdStatus=1 (Partially Filled)

  • OrdStatus=2 (Filled)

Identifies status of order as partially filled or completely filled.

150

ExecType

ExecTypTrade

0

Y

ExecType=F (Trade)

Describes the specific ExecutionRpt (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

  • OrdType=1 (Market order with protection)

  • OrdType=2 (Limit order)

  • OrdType=4 (Stop limit order)

  • OrdType=K (Market limit order)

Order type.

54

Side

SideReq

1

Y

  • Side=1 (Buy)

  • Side=2 (Sell)

Side of order.

59

TimeInForce

TimeInForce

1

Y

  • TimeInForce=0 (Day)

  • TimeInForce=1 (GTC)

  • TimeInForce=3 (FAK)

  • TimeInForce=4 (FOK)

  • TimeInForce=6 (GTD)

Specifies how long the order remains in effect.

FOK is only for BrokerTec.

1028

ManualOrderIndicator

ManualOrdIndReq

1

Y

  • 0=Automated

  • 1=Manual

Indicates if order was sent 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

  • 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

BooleanFlag

1

Y

  • AggressorIndicator=0 (No)

  • AggresorIndicator=1 (Yes)

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

549

CrossType

uInt8NULL

1

N

  • CrossType=3

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

393

TotalNumSecurities

uInt8

1

Y



Indicates total number of leg fills for the spread.

18

ExecInst

ExecInst

1

N

  • 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.

5906

ExecutionMode

ExecMode

1

N

  • 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.

9373

LiquidityFlag

BooleanNULL

1

N

  • 0=False

  • 1=True

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

Applicable only for EU BrokerTec and MiFID.

5409

ShortSaleType

ShortSaleType

1

N

  • 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.

Note

The 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. 

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

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

555

NoLegs

groupSize

3

N



Number of Leg executions.

Currently not supported; set the groupSize 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.

→624

LegSide

SieReq

1

Y



The side of this individual leg of a multileg security.

1795

NoOrderEvents

groupSize

3

N



Number of fills which comprise fill quantity.   

The maximum number of fills is configured 100.

Applicable for BrokerTec markets only.

→1799

OrderEventPx

PRICE9

8

Y



Refers to the fill price; same as tag 31-LastPx

→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

→1797

OrderEventExecID

uInt32

4

Y



This is a unique ID that ties together a specific fill between two orders.

→1800

OrderEventQTY

uInt32

4

Y



Refers to the specific fill quantity between this order and the opposite order.

→1796

OrderEventType

OrderEventTye

1

Y

  • 4=Partially Filled

  • 5=Filled

The type of event affecting an order.

→1798

OrderEventReason

uInt8

1

Y



Action that caused the event to occur. 100=Binary Trade Reporting




How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.