FIX Gateway

Execution Report (8) Message

Purpose

Used to receive order information from a third-party FIX acceptor, such as fills, cancel and change accepts or rejects, and unsolicited changes

Message Direction

From a third-party FIX acceptor to the TT FIX Order Gateway

Supported Tags

Tag # Field Name Req’d Data type Comments
Component: Standard Header Y 35=8 (MsgType)
17 ExecID Y String

Unique identifier for this execution report

20 ExecTransType Y char

Type of execution report

Third-party FIX acceptors should always send 0 (New)

37 OrderId Y String

Order ID assigned by the third-party FIX acceptor

11 ClOrdId Y String

TT order identifier

41 OrigClOrdID C String

Previous order identifier, equal to Tag 11 (ClOrdID) of the original request message

Condition: Not required when 150=0 (New) or when this Execution Report (8) is not in response to a direct change change (such as a fill)

150 ExecType Y char

Indicates the reason for sending this Execution Report

Possible values include:

  • 0: New
  • 1: Partially filled
  • 2: Filled
  • 4: Canceled
  • 5: Replaced
  • 8: Rejected
  • D: Restated
103 OrdRejReason C int

Reason for rejecting the incoming request

Possible values include:

  • 0: Broker option
  • 1: Unknown symbol
  • 2: Exchange closed
  • 3: Order exceeds limit
  • 4: Too late to enter
  • 5: Unknown order
  • 6: Duplicate order
  • 7: Duplicate of a verbally-communicated order
  • 8: Stale order
  • 9: Trade along required
  • 10: Invalid Investor ID
  • 11: Unsupported order characteristic
  • 12: Surveillance option
  • 13: Incorrect quantity
  • 14: Incorrect allocated quantity
  • 15: Unknown account
  • 16: Price exceeds current price band
  • 18: Invalid price increment
  • 19: Message pending
  • 20: Routing error
  • 99: Other

Condition: Send when Tag 150 (ExecType) is 8 (Reject)

58 Text C String

Additional information about the message

Condition: Send when you want to include additional information

378 ExecRestatementReason C int

Reason for the restatement

Possible values include:

  • 2: Verbal change
  • 3: Repricing of order
  • 4: Broker option
  • 6: Cancel on trading halt
  • 7: Cancel on system failure
  • 99: Other
  • 100: Cancel on disconnect

Condition: Send when Tag 150 (ExecType) = D (Restated)

39 OrdStatus Y int

Status of the order

Possible values include:

  • 0: New
  • 1: Partially filled
  • 2: Filled
  • 4: Cancelled
  • 5: Replaced
  • 6: Cancel pending
  • 8: Rejected
  • A: Pending new
  • C: Expired
  • E: Pending replace
32 LastShares C int

Indicates the number of contracts that just filled

Condition: Send only when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)

31 LastPx C Price

Price of this fill

If Tag 442 (MultiLegReportingType) is 2 (Leg), the value represents the price at which a leg of the spread filled.

Condition: Send when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)

6 AvgPx C Price

Average price of all fills on this order

The value is calculated as follows:

  • If order has no fills, send 0 in this tag.
  • If the order has fills, send the sum over all fill execution reports of the product of Tag 32 (LastShares) and Tag 31 (LastPx) divided by the Tag 14 (CumQty).
  • If Tag 442 (MultiLegReportingType) is 2 (Leg), send the average price at which the leg filled.

Condition: Send when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)

60 TransactTime Y UTCTimestamp

Time, in UTC, the transaction occurred

151 LeavesQty Y int

Number of contracts that are still working in the market

Possible values include:

  • Value of (Tag 38 (OrderQty) - Tag 14 (CumQty)), if the order is still in the market
  • 0, otherwise

Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contracts that are still working for the leg of the specified strategy.

14 CumQty Y int

Total number of contracts that have filled over the life of this order

The value always equals the sum of the Tag 32 (LastShares) of all fill execution reports received for this order, including this one.

Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contacts that have filled for the leg of the specified strategy.

442 MultiLegReportingType Y char

Indicates what an Execution Report represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.)

Possible values include:

  • 1: Outright
  • 2: Leg of multi-leg security
  • 3: Parent of multi-leg security (summary fill)
75 TradeDate C LocalMktDate

Date of trade referenced in this message in YYYYMMDD format

Condition: Send when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill)

Component: Instrument Y

Instrument associated with this Execution Report

Component: Trader Y

Trader information associated with this Execution Report

44 Price C Price

Order price

Condition: Send when Tag 40 (OrdType) is one of the following:

  • 2: Limit
  • 4: Stop Limit
99 StopPx C Price

Trigger price for a stop order

Condition: Send when Tag 40 (OrdType) is one of the following:

  • 3: Stop
  • 4: Stop Limit
110 MinQty C Qty

Minimum quantity for a Minimum Volume (MV) order

Condition: Send for Minimum Volume (MV) orders

1138 DisplayQty C Qty

Working quantity of a disclosed quantity (Iceberg) order slice

Condition: Send for disclosed quantity orders

38 OrderQty Y Qty

Total order quantity

54 Side Y char

Order side

Possible values include:

  • 1: Buy
  • 2: Sell
40 OrdType Y char

Order type

Possible values include:

  • 1: Market
  • 2: Limit
  • 3: Stop
  • 4: Stop Limit
  • 5: Market On Close (MOC)
77 OpenClose Y char

Whether the resulting position after a trade should be an opening position or closing position

Possible values include:

  • O: Open
  • C: Close
59 TimeInForce Y char

How long an order remains active

Possible values include:

  • 0: Day (default, if not specified)
  • 1: Good Till Cancel (GTC)
  • 2: At The Opening (OPG)
  • 3: Immediate or Cancel (IOC)
  • 4: Fill Or Kill (FOK)
  • 6: Good Till Date
  • 8: Good in Session (GIS)
432 ExpireDate C LocalMktDate

Date a Good Till Date order expires

Condition: Send when tag 59 (TimeInForce) = 6 (Good Till Cancel)

Component: Standard Trailer Y

Message Notes

The Execution Report (8) message is used to respond to a successful order request, a fill, or an unsolicited order change.