developers:fixapi:executionreport

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developers:fixapi:executionreport [2025/09/12 01:35] – removed - external edit (Unknown date) 127.0.0.1developers:fixapi:executionreport [2025/09/12 02:08] (current) chad
Line 1: Line 1:
 +====== EXECUTION REPORT [35=8] ======
  
 +The Execution Report message notifies clients of order state changes and execution events. This message confirms order receipt, modifications, fills, rejections, and all order lifecycle events.
 +
 +===== Report Types =====
 +
 +**ExecType (150) Values:**
 +^ Code ^ Status ^ Description ^
 +| 0 | New | Order accepted |
 +| 3 | Done for Day | Order expired at close |
 +| 4 | Canceled | Order canceled |
 +| 5 | Replace | Order modified |
 +| 6 | Pending Cancel | Cancel request pending |
 +| 7 | Stopped | Order stopped |
 +| 8 | Rejected | Order rejected |
 +| 9 | Suspended | Order suspended |
 +| A | Pending New | New order pending |
 +| C | Expired | Order expired |
 +| E | Pending Replace | Replace pending |
 +| F | Trade | Execution/fill |
 +| I | Order Status | Status update |
 +
 +===== Order Status (OrdStatus) =====
 +^ Code ^ Status ^
 +| 0 | New |
 +| 1 | Partially Filled |
 +| 2 | Filled |
 +| 3 | Done for Day |
 +| 4 | Canceled |
 +| 5 | Replaced |
 +| 6 | Pending Cancel |
 +| 8 | Rejected |
 +| 9 | Suspended |
 +| A | Pending New |
 +
 +===== ExecID Structure =====
 +  * **Trade:** OrderID_TradeSeqNum_T
 +  * **Leg Trade:** OrderID_LegTradeSeqNum_TL
 +  * **Status:** OrderID_SeqNum_F/S/U/H
 +
 +===== Message Specification =====
 +
 +**Message Direction:** T4 → Client
 +
 +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^
 +| | **Message Header** | | Y | MsgType = 8 |
 +| 1 | Account | String | Y | Account code |
 +| 11 | ClOrdID | String | Y | Client order ID |
 +| 41 | OrigClOrdID | String | O | Previous ClOrdID |
 +| 37 | OrderID | String | Y | T4-generated order ID |
 +| 17 | ExecID | String | Y | Unique execution ID |
 +| 150 | ExecType | Char | Y | Execution type (see table) |
 +| 39 | OrdStatus | Char | Y | Current order status |
 +| 20 | ExecTransType | Int | O | 0=Overnight, 2=BackOffice, 3=Pit |
 +| 48 | SecurityID | String | Y | T4 Market ID |
 +| 55 | Symbol | String | Y | T4 Contract ID |
 +| 207 | SecurityExchange | String | Y | T4 Exchange ID |
 +| 167 | SecurityType | String | Y | FUT, OPT, STK, SYN, BIN |
 +| 201 | PutOrCall | Int | C | Options: 0=Put, 1=Call |
 +| 202 | StrikePrice | Float | C | Options: Strike price |
 +| 54 | Side | Char | Y | 0=None, 1=Buy, 2=Sell |
 +| 38 | OrderQty | Int | Y | Total order quantity |
 +| 40 | OrdType | Char | O | 1=Market, 2=Limit, 3=Stop, 4=Stop Limit |
 +| 44 | Price | Float | C | Limit price |
 +| 99 | StopPx | Float | C | Stop price |
 +| 31 | LastPx | Float | C | Fill price (trades only) |
 +| 32 | LastQty | Int | C | Fill quantity (trades only) |
 +| 14 | CumQty | Int | O | Total filled quantity |
 +| 151 | LeavesQty | Int | O | Remaining open quantity |
 +| 59 | TimeInForce | Char | Y | 0=Day, 1=GTC, 3=IOC, 4=FOK |
 +| 60 | TransactTime | UTCTimestamp | O | Transaction time |
 +| 200 | MaturityMonthYear | String | O | Format: YYYYMM |
 +| 107 | SecurityDesc | String | O | Security description |
 +| 21 | HandlInst | Char | O | 1=Automated private, 2=Automated public, 3=Manual |
 +| 204 | CustomerOrFirm | Int | O | 0=Customer, 1=Firm |
 +| 77 | OpenClose | Char | O | O=Open, C=Close |
 +| 58 | Text | String | O | Rejection reason or status text |
 +| 103 | OrdRejReason | Int | C | Rejection code |
 +| 337 | ContraTrader | String | O | Counterparty trader |
 +| 375 | ContraBroker | String | O | Counterparty broker |
 +| 442 | MultiLegReportingType | Int | O | 1=Single, 2=Individual leg, 3=Multileg |
 +| 66 | ListID | String | O | Batch order identifier (OCO, AutoOCO) |
 +| 198 | SecondaryOrderID | String | O | Secondary order ID |
 +| 526 | SecondaryClOrdID | String | O | Exchange ClOrdIDs |
 +| 584 | MassStatusReqID | String | O | Associated collateral inquiry ID |
 +| 912 | LastReportRequested | Boolean | O | Y=Last report in sequence |
 +| 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated |
 +| 1385 | ContingencyType | Int | O | 1=OCO, 2=AutoOCO, 3=Spark, 8=AutoOCOM |
 +| 210 | MaxShow | Int | O | Iceberg visible quantity |
 +| 10100 | TrailingDelta | Float | O | Trailing stop amount |
 +| 10101 | TriggerPrice | Float | O | Auto OCO trigger price |
 +| 10102 | ActivationType | Int | O | 1=Immediate, 2=Above, 3=Below, 4=Mode, 5=Time, 6=Queue |
 +| 10103 | ActivationValue | String | O | Activation conditions (semicolon-delimited) |
 +| 453 | NoPartyIDs | Int | O | Number of party groups |
 +| →448 | PartyID | String | C | Party identifier |
 +| →447 | PartyIDSource | Char | C | D=Proprietary |
 +| →452 | PartyRole | Int | C | 44=Order entry operator |
 +| | **Message Trailer** | | Y | |
 +
 +===== Sample Messages =====
 +
 +**Note:** Pipe (|) used for readability. Actual FIX messages use SOH (ASCII 01) delimiter.
 +
 +**New Order Acknowledged:**
 +<code>
 +8=FIX.4.2|9=350|35=8|49=T4|56=T4Example|50=T4FIX|52=20130709-22:30:54.794|
 +143=US,IL|1=Account1|11=fn-635089878547629169|
 +17=0.6.1.48024.6481305817_ESU3.635089878581150000.601A5E7B|150=0|
 +37=601A5E7B-8140-478A-AB45-E4916AC8CF3B|39=0|48=CME_20130900_ESU3|55=ES|
 +207=CME_Eq|200=201309|59=0|107=E-mini S&P 500 Sep13|54=2|167=FUT|38=40|
 +40=2|44=164025|60=20130709-22:30:58.115|21=1|204=0|10=234|
 +</code>
 +
 +**Partial Fill:**
 +<code>
 +8=FIX.4.2|9=400|35=8|49=T4|56=T4Example|50=T4FIX|52=20130709-22:30:54.934|
 +143=US,IL|1=Account1|11=fn-635089878547629169|
 +17=1.1.64272:M:132407TN0000685.635089878581150000.601A5E7B|150=F|
 +37=601A5E7B-8140-478A-AB45-E4916AC8CF3B|39=1|48=CME_20130900_ESU3|55=ES|
 +207=CME_Eq|200=201309|59=0|107=E-mini S&P 500 Sep13|54=2|167=FUT|38=40|
 +40=2|44=164025|31=164175|32=1|14=1|151=39|60=20130709-22:30:58.090|
 +21=1|204=0|337=TRADE|375=CME000A|10=234|
 +</code>
 +
 +===== Notes =====
 +  * Multiple execution reports generated for order lifecycle events
 +  * Overnight positions reported with ExecTransType=0, PossResend=Y
 +  * OCO/AutoOCO components linked via ListID (66)
 +  * Verbose reporting controlled via Logon (Tag 372)
 +  * External orders generate reports for subscribed accounts