Skip to main content
The Drop Copy feed supports the delivery of Execution Reports for order updates, fills, and cancels. The ExecutionReport message structure is identical to that sent over order-entry sessions.

ExecutionReport [8] Message

Core Fields

TagFieldReqTypeDescription
35MsgTypeYstr8 = ExecutionReport
1AccountNstrAccount reference if indicated on order
6AvgPxYpriceVolume-weighted average price of all trades
11ClOrdIDYstrParticipant-assigned order ID
14CumQtyYqtyCumulative filled quantity
17ExecIDYstrUnique execution report ID (13-char alphanumeric)
31LastPxYpricePrice of this fill (zero if not a trade)
32LastQtyYqtyQuantity of this fill (zero if not a trade)
37OrderIDYstrExchange-assigned order ID (13-char alphanumeric)
38OrderQtyYqtyTotal order quantity
44PriceYpriceOrder limit price
54SideYchar1=Buy, 2=Sell
55SymbolYstrInstrument symbol
60TransactTimeYtimeTransaction timestamp
99StopPxYpriceStop price (zero for non-stop orders)
151LeavesQtyYqtyRemaining unexecuted quantity

Order Status

TagFieldReqTypeValues
39OrdStatusYchar0=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
150ExecTypeYchar0=New, 3=Done For Day, 4=Canceled, 5=Replaced, 8=Rejected, C=Expired, F=Trade

Order Type & Time in Force

TagFieldReqTypeValues
40OrdTypeYchar2=Limit, 3=Stop, 4=Stop Limit, K=Market with leftover as limit
59TimeInForceYchar0=Day, 1=GTC, 3=IOC, 4=FOK, 6=GTD
126ExpireTimeNtimeOrder expiry timestamp

Security Identification

TagFieldReqTypeDescription
22SecurityIDSourceYstrSecurity ID source (8=Exchange symbol)
48SecurityIDYstrSecurity identifier (matches Symbol)
167SecurityTypeNstrCS=Common Stock, EVENT=Event contract, FUT=Future, FXSPOT=FX Spot, OPT=Option, etc.
762SecuritySubTypeNstrSub-type qualification of SecurityType/CFICode
460ProductNintProduct type: 1=AGENCY, 2=COMMODITY, 3=CORPORATE, 4=CURRENCY, 5=EQUITY, 6=GOVERNMENT, 7=INDEX, etc.

Trade-Specific Fields

TagFieldReqTypeDescription
12CommissionNamtCommission amount charged on this fill, trades only
13CommTypeNcharCommission calculation method. 3=Absolute (total dollar amount)
119SettlCurrAmtNamtAmount of this fill (LastPx × LastQty), trades only
381GrossTradeAmtNamtTotal traded amount (AvgPx × CumQty)
828TrdTypeNintTrade type: 0=Regular trade
880TrdMatchIDCstrUnique trade ID (13-char, same for buyer/seller)
1057AggressorIndicatorCboolWhether this order was the aggressor

Order Modification

TagFieldReqTypeDescription
41OrigClOrdIDNstrOriginal ClOrdID being amended/canceled
378ExecRestatementReasonNintUnsolicited cancel reason: 8=Market/exchange option, 99=Other (SMP)

Rejection

TagFieldReqTypeDescription
103OrdRejReasonNint0=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

TagFieldReqTypeValues
581AccountTypeNint1=CUSTOMER, 2=NON_CUSTOMER, 3=HOUSE_TRADER, 4=FLOOR_TRADER, 14=LIQUIDITY_PROVIDER, 17=FUTURES_MARKET_MAKER (see spec for full list)
582CustOrderCapacityNint1=OWN_ACCOUNT, 2=PROPRIETARY, 3=FINANCIAL_ADVISOR, 4=ALL_OTHER, 5=RETAIL_CUSTOMER

Party Identification

TagFieldReqTypeDescription
453NoPartyIDsNintNumber of party entries
→ 448PartyIDNstrParty identifier/code
→ 447PartyIDSourceNcharD=Proprietary
→ 452PartyRoleNint1=EXECUTING_FIRM, 3=CLIENT_ID, 24=CUSTOMER_ACCOUNT

Advanced Features

TagFieldReqTypeDescription
110MinQtyNqtyMinimum execution quantity
1028ManualOrderIndicatorNboolOrder received manually vs electronically
6127ConditionTriggerMethodNintStop trigger: 2=Last price, 5=Settlement price

Self-Match Prevention

TagFieldReqTypeDescription
7928SelfMatchPreventionIDNstrUnique identifier for the self-match prevention instruction
8000SelfMatchPreventionInstructionNstrSelf-match instruction. O = Cancel oldest (resting) order, N = Cancel newest (aggressive) order

Example ExecutionReport for a Fill

| Field              | Value      | Description                    |
|--------------------|------------|--------------------------------|
| ClOrdID            | "ABCD"     | Client order ID                |
| OrdStatus          | "2"        | Order fully filled             |
| ExecType           | "F"        | Trade execution                |
| Side               | "1"        | Buy order                      |
| Account            | "account1" | Trading account                |
| Price              | 0.525      | Order limit price              |
| OrderQty           | 100        | Original order quantity        |
| LastQty            | 100        | Quantity of this fill          |
| LastPx             | 0.525      | Price of this fill             |
| AvgPx              | 0.525      | Average fill price             |
| LeavesQty          | 0          | Remaining unfilled quantity    |
| CumQty             | 100        | Total filled quantity          |
| GrossTradeAmt      | 52.50      | Total trade amount             |
| AggressorIndicator | false      | Passive side of trade          |
| TrdMatchID         | "trade123" | Unique trade identifier        |