ExecutionReport [8] Message
Core Fields
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 35 | MsgType | Y | str | 8 = ExecutionReport |
| 1 | Account | N | str | Account reference if indicated on order |
| 6 | AvgPx | Y | price | Volume-weighted average price of all trades |
| 11 | ClOrdID | Y | str | Participant-assigned order ID |
| 14 | CumQty | Y | qty | Cumulative filled quantity |
| 17 | ExecID | Y | str | Unique execution report ID (13-char alphanumeric) |
| 31 | LastPx | Y | price | Price of this fill (zero if not a trade) |
| 32 | LastQty | Y | qty | Quantity of this fill (zero if not a trade) |
| 37 | OrderID | Y | str | Exchange-assigned order ID (13-char alphanumeric) |
| 38 | OrderQty | Y | qty | Total order quantity |
| 44 | Price | Y | price | Order limit price |
| 54 | Side | Y | char | 1=Buy, 2=Sell |
| 55 | Symbol | Y | str | Instrument symbol |
| 60 | TransactTime | Y | time | Transaction timestamp |
| 99 | StopPx | Y | price | Stop price (zero for non-stop orders) |
| 151 | LeavesQty | Y | qty | Remaining unexecuted quantity |
Order Status
| Tag | Field | Req | Type | Values |
|---|---|---|---|---|
| 39 | OrdStatus | Y | char | 0=New, 1=Partially filled, 2=Filled, 3=Done For Day, 4=Canceled, 6=Pending Cancel, 8=Rejected, A=Pending New, C=Expired, E=Pending Replace |
| 150 | ExecType | Y | char | 0=New, 3=Done For Day, 4=Canceled, 5=Replaced, 8=Rejected, C=Expired, F=Trade |
Order Type & Time in Force
| Tag | Field | Req | Type | Values |
|---|---|---|---|---|
| 40 | OrdType | Y | char | 2=Limit, 3=Stop, 4=Stop Limit, K=Market with leftover as limit |
| 59 | TimeInForce | Y | char | 0=Day, 1=GTC, 3=IOC, 4=FOK, 6=GTD |
| 126 | ExpireTime | N | time | Order expiry timestamp |
Security Identification
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 22 | SecurityIDSource | Y | str | Security ID source (8=Exchange symbol) |
| 48 | SecurityID | Y | str | Security identifier (matches Symbol) |
| 167 | SecurityType | N | str | CS=Common Stock, EVENT=Event contract, FUT=Future, FXSPOT=FX Spot, OPT=Option, etc. |
| 762 | SecuritySubType | N | str | Sub-type qualification of SecurityType/CFICode |
| 460 | Product | N | int | Product type: 1=AGENCY, 2=COMMODITY, 3=CORPORATE, 4=CURRENCY, 5=EQUITY, 6=GOVERNMENT, 7=INDEX, etc. |
Trade-Specific Fields
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 12 | Commission | N | amt | Commission amount charged on this fill, trades only |
| 13 | CommType | N | char | Commission calculation method. 3=Absolute (total dollar amount) |
| 119 | SettlCurrAmt | N | amt | Amount of this fill (LastPx × LastQty), trades only |
| 381 | GrossTradeAmt | N | amt | Total traded amount (AvgPx × CumQty) |
| 828 | TrdType | N | int | Trade type: 0=Regular trade |
| 880 | TrdMatchID | C | str | Unique trade ID (13-char, same for buyer/seller) |
| 1057 | AggressorIndicator | C | bool | Whether this order was the aggressor |
Order Modification
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 41 | OrigClOrdID | N | str | Original ClOrdID being amended/canceled |
| 378 | ExecRestatementReason | N | int | Unsolicited cancel reason: 8=Market/exchange option, 99=Other (SMP) |
Rejection
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 103 | OrdRejReason | N | int | 0=Broker/Exchange, 1=Unknown symbol, 2=Closed, 3=Price limit, 5=Unknown order, 6=Duplicate ClOrdID, 11=Unsupported, 12=Surveillance, 13=Bad quantity, 15=Unknown account, 16=Price band, 18=Bad tick size, 99=Other |
Account Classification
| Tag | Field | Req | Type | Values |
|---|---|---|---|---|
| 581 | AccountType | N | int | 1=CUSTOMER, 2=NON_CUSTOMER, 3=HOUSE_TRADER, 4=FLOOR_TRADER, 14=LIQUIDITY_PROVIDER, 17=FUTURES_MARKET_MAKER (see spec for full list) |
| 582 | CustOrderCapacity | N | int | 1=OWN_ACCOUNT, 2=PROPRIETARY, 3=FINANCIAL_ADVISOR, 4=ALL_OTHER, 5=RETAIL_CUSTOMER |
Party Identification
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 453 | NoPartyIDs | N | int | Number of party entries |
| → 448 | PartyID | N | str | Party identifier/code |
| → 447 | PartyIDSource | N | char | D=Proprietary |
| → 452 | PartyRole | N | int | 1=EXECUTING_FIRM, 3=CLIENT_ID, 24=CUSTOMER_ACCOUNT |
Advanced Features
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 110 | MinQty | N | qty | Minimum execution quantity |
| 1028 | ManualOrderIndicator | N | bool | Order received manually vs electronically |
| 6127 | ConditionTriggerMethod | N | int | Stop trigger: 2=Last price, 5=Settlement price |
Self-Match Prevention
| Tag | Field | Req | Type | Description |
|---|---|---|---|---|
| 7928 | SelfMatchPreventionID | N | str | Unique identifier for the self-match prevention instruction |
| 8000 | SelfMatchPreventionInstruction | N | str | Self-match instruction. O = Cancel oldest (resting) order, N = Cancel newest (aggressive) order |