iLink 3 Execution Report - Trade Addendum Spread Leg

The Execution Report - Trade Addendum Spread Leg message notifies client system of trade cancellation or correction for spread legs.

35=8, 39=H,G

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.

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.

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.

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

9703

OrigSecondaryExecutionID

uInt64NULL

8

N



Unique identifier of the corrected fill.

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.

48

SecurityID

Int32

4

Y



Security ID as defined in the market data Security Definition message.

32

LastQty

uInt32

4

Y



Quantity bought/sold on this (last) fill.

1506

SideTradeID

uInt32

4

Y



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

1507

OrigSideTradeID

uInt32NULL

4

N



Refers to the unique ID assigned to the corrected trade.

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.

39

OrdStatus

OrdStatusTrdCxl

1

Y

  • OrdStatus=H (Trade Cancel)

  • OrdStatus=G (Trade Correction)

Identifies status of order as trade cancellation or correction.

150

ExecType

ExecTypTrdCxl

1

Y

  • ExecType=H (Trade Cancel)

  • ExecType=G (Trade Correction)

Describes the specific Execution Report as trade cancellation or correction.

1028

ManualOrderIndicator

ManualOrdIndReq

1

Y

  • 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

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.

54

Side

SideReq

1

Y

  • Side=1 (Buy)

  • Side=2 (Sell)

Side of Trade Addendum Spread Leg.

64

SettlDate

LocalMktDate

2

N



Specific date of trade settlement for the Spot leg.

1056

CalculatedCcyLastQty

Decimal64NULL

9

N



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

381

GrossTradeAmt

Decimal64NULL

9

N



Total amount traded (in notional) in base currency for the Spot leg.

1362

NoFills

groupSize

3

Y



Specifies the number of fill reasons included in this Execution Report.

The number of fill reason is always '1' for spread leg fills.

→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 (tag 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.

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



For Trade Cancel, refers to price of the canceled trade.

For Trade Correction, refers to the new fill price.

→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

TradeAddendum

1

Y

  • 100=Trade Cancel

  • 101=Trade Correction

  • 4=Partially Filled

  • 5=Filled

The type of event affecting an order.

→1798

OrderEventReason

uInt8

1

Y

  • 100=Binary Trade Reporting

Action that caused the event to occur.

→6555

OriginalOrderEventExecID

uInt32NULL

$

N



Contains the previous tag 1797-OrderEventExecID value of the trade being adjusted or busted.

Will not be present on the following message types:

  • ExecutionReportTradeOutright

  • ExecutionReportTradeSpread

  • ExecutionReportTradeSpreadLeg