The Execution Report <8>
message is used to
- Acknowledge the receipt of an order
- Confirm changes to an existing order (i.e. cancelled or replaced)
- Reject order
Tag | Field Name | Data Type | Req’d | Comments |
---|---|---|---|---|
Standard header - Outgoing | Y | MsgType | ||
37 | OrderID | string | N | Unique identifier for Order as assigned by the Exchange. |
198 | SecondaryOrderID | string | N | Unique identifier for Order as assigned by the Exchange(in a different format). |
11 | ClOrdID | string | Y | Unique identifier of the order as assigned by client. |
41 | OrigClOrdID | string | C | ClOrdID |
453 | NoPartyIDs | int | N | A repeating group (↺) which should contain unique combinations of below tags: PartyID |
↺ 448 | PartyID | string | C | Party identifier/code. It can be an Exchange firm name or user unique identifier that is the same as tag 1. e.g. XXXX_GROUP. |
↺ 447 | PartyIDSource | string | N | Identifies class or source of PartyID
|
↺ 452 | PartyRole | int | N | Identifies the type of PartyID
|
17 | ExecID | string | Y | Unique identifier of execution message as assigned by the Exchange. |
527 | SecondaryExecID | string | N | Unique identifier for executed fill as assigned by the Exchange(in a different format), an alphanumeric string of no more than 20 characters. |
150 | ExecType | string | Y | Describes the specific Execution Report while OrdStatus
The supported combination of ExecType<150> and OrdStatus <39> is listed in the reference table below |
39 | OrdStatus | string | Y | Identifies current status of order. Valid values:
The supported combination of ExecType<150> and OrdStatus <39> is listed in the reference table below |
103 | OrdRejReason | int | N | Code to identify the reason for order rejection. |
378 | ExecRestatement | int | N | Code to identify reason for an ExecutionRpt Valid values: |
382 | NoContraBrokers | int | N | Number of repeating groups of contra brokers |
↺ 375 | ContraBroker | string | N | Can be used to provide additional trade into by executing system. Required if NoContraBroker |
1 | Account | string | Y | The Exchange user uuid which is the same as the one specify in Logon |
660 | AcctIDSource | int | Y | Uses to identify the source of the Account
|
63 | SettleType | int | Y | Indicates order settlement period. Valid value:
|
55 | Symbol | string | Y | Currency-pair. |
54 | Side | int | Y | Side of order. Valid values:
|
31 | LastPx | float | C | The price of this trade. Required if ExecType = TRADE ( |
32 | LastQty | float | C | The quantity bought / sold on this trade. Required if ExecType = TRADE ( |
854 | QtyType | int | Y | Type of quantity. Valid values: |
38 | OrderQty | float | C | Quantity to trade. Not required if OrdStatus = REJECTED ( |
40 | OrdType | int | Y | Order type. Valid values:
|
59 | TimeInForce | int | N | Specifies how long the order remains in effect. Valid values: NOTES:
|
18 | ExecInst | string | N | The execution instruction flags for the order. Multiple values should be space delimited. Valid value:
|
126 | ExpireTime | timestamp | C | The time of order expiration (UTC). Required if |
432 | ExpireDate | timestamp | C | The date of order expiration (local market date, in UTC time). Required if |
423 | PriceType | int | C | Code to represent the price type. Valid values: |
44 | Price | float | C | Price per unit of quantity (e.g. per 1 BTC coin). |
1057 | AggressorIndicator | boolean | N | Used to identify whether the order initiator is an aggressor or not in the trade. Valid values:
|
151 | LeavesQty | float | Y | Outstanding quantity for further execution. |
14 | CumQty | float | Y | Total quantity filled. |
6 | AvgPx | float | Y | Calculated average price of all fills on this order. |
75 | TradeDate | string | N | Indicates date of trade (UTC) referenced in YYYYMMDD format. |
60 | TransactTime | timestamp | Y | Time of execution/order creation in UTC i.e. yyyyMMdd-hh:mm:ss:xxx |
381 | GrossTradeAmt | float | N | Total amount traded (e.g. CumQty |
119 | SettlCurrAmt | float | Y | Total amount due expressed in settlement currency. |
120 | SettlCurrency | string | Y | Currency code of settlement denomination. Valid values:
|
155 | SettlCurrFxRate | float | N | Foreign exchange rate used to compute SettlCurrAmt |
156 | SettlCurrFxRateCalc | char | N | Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided. Valid values:
|
110 | MinQty | float | N | Minimum quantity of the order to be executed. |
111 | MaxFloor | float | N | Maximum quantity within the order to be shown on the exchange at any given time. |
136 | NoMiscFee | int | N | Number of repeating groups of miscellaneous fees. |
↺ 137 | MiscFeeAmt | float | C | Miscellaneous fee value. Required if NoMiscFees > 0 and must be the first field in this group. |
↺ 138 | MiscFeeCurr | string | N | Currency of miscellaneous fee. Valid values:
|
↺ 139 | MiscFeeType | int | N | Indicates type of miscellaneous fee. Valid value:
|
797 | CopyMsgIndicator | boolean | N | Indicates whether or not this message is a drop copy of another message. |
58 | Text | string | Y | providing supplemental information on the order. |
Standard trailer | Y |
Tag 150 & 39 tag combinations
Below is a table of the supported combination of ExecType <150> and OrdStatus <39>
ExecType < 150> | OrdStatus < 39> | Comments |
---|---|---|
0 = New | 0 = New | New order placed |
4 = Cancelled | 4 = Cancelled | Order cancelled |
5 = Replaced | 0 = New 1 = Partially filled 9 = Suspended C = Expired | Order that had not received any fills is now replaced Order was partially filled and then replaced Order was amended to be suspended (e.g. at the beginning of cycle, GTC orders get suspended by the Exchange) Order was amended to be expired (e.g. due to self trade) |
8 = Rejected | 8 = Rejected | Order rejected |
9 = Suspended | 9 = Suspended | When market moved from AUCTION to CONTINUOUS, the Exchange sends out the 2nd Ack for orders placed during AUCTION |
C = Expired | C = Expired | Order expired |
D = Restated | 0 = New 1 = Partially filled | When market moved from AUCTION to CONTINUOUS, the Exchange sends out the 3rd Ack for orders placed during AUCTION to move it into active state Order restated and was partially filled |
F = Trade | 1 = Partially filled 2 = Filled | Execution received and order is partially filled Execution received and order is fully filled |