Skip to main content

ExecutionReport (35=8)

The ExecType (150) field indicates the reason why this ExecutionReport was sent.

ExecType values:

ExecTypeDescription
0New order
4Order cancelled
AResponse to a successful NewOrderSingle (D) request
8Response to a rejected NewOrderSingle (D) request
6Response to a successful OrderCancelRequest (F) request
IResponse to a OrderStatusRequest (H)
FTrade
Execution report received
Schema
    ClOrdID Tag 11 (string)required

    Client-selected order ID.

    OrigClOrdID Tag 41 (string)

    ClOrdID of the previous non-rejected order. i.e. Response from OrderCancelReplaceRequest(35=G) or OrderCancelRequest(35=F).

    ExecInst Tag 18 (string)

    Possible values: [6, 8]

    Instructions for order handling on exchange. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space.

    ExecRefID Tag 19 (string)

    For CDC internal reference only

    OrderID Tag 37 (string)required

    Server-assigned order ID

    ExecID Tag 17 (string)required

    unique execution ID. Equal to Fill ID if this message was the result of a fill

    Symbol Tag 55 (string)required

    Symbol name

    Side Tag 54 (string)required

    Possible values: [1, 2]

    "1": buy; "2": sell

    OrderQty Tag 38 (number)required

    Original order quantity

    Price Tag 44 (number)

    Original order price

    ExecType Tag 150 (string)required

    Possible values: [0, 4, 6, 8, A, F, I]

    Reason for this message (see below)

    OrdStatus Tag 39 (string)required

    Possible values: [0, 1, 2, 4, 6, 8, A]

    Order status (Please refer to standard FIX spec)

    CumQty Tag 14 (number)required

    Quantity of order that has already been filled

    LeavesQty Tag 151 (number)required

    Quantity of order that is still open

    WorkingIndicator Tag 636 (string)

    Possible values: [Y, N]

    Indicates if the order is currently being worked.

    TransactTime date-time

    Time of the order update. Only present on order updates. It is stamped in response flow [no matter there were trades or not]; our system stamp this time when there are updates for an order (so it is called update_time on Web Socket)

    OrderCreateTime date-time

    TransactTime when order is created with 39=0|150=0. it is stamped in request flow; when our system confirmed and accepted the order (i.e. it is called create_time on Web Socket)

    LastPx Tag 31 (number)

    Fill price. Only present if this message was the result of a fill

    LastQty Tag 32 (number)

    Fill quantity. Only present if this message was the result of a fill

    LastLiquidityInd Tag 851 (integer)

    "2": taker fill; "1": maker fill. Only present if this message was the result of a fill

    AvgPx Tag 6 (number)

    Average fill price for all fills in order. Only present if this message was the result of a fill

    Commission Tag 12 (number)

    Fee for trade. Only present if this message was the result of a fill

    CommissionCurrency Tag 2643 (string)

    Fee currency for trade. Only present if this message was the result of a fill

    CommType Tag 13 (string)

    Possible values: [3]

    Always 3 (absolute)

    OrdRejReason Tag 103 (integer)

    Reason the order was rejected (see below). Only present on rejected NewOrderSingle (D) requests. i.e. 1 = Unkown symbol, 5 = Unknown Order, 99 = Other

    Text Tag 58 (string)

    Description of the reason the order was rejected (e.g., Too many requests). Only present on rejected NewOrderSingle (D) requests

    CashMargin Tag 544 (string)

    Possible values: [1, 2, 3]

    1: messages corresponds to a spot order. 2: messages corresponds to a margin order. 3: messages correspond to liquidation.

    TrdMatchID Tag 880 (string)

    Trade match ID

    TradeTransactTime date-time

    TransactTime when order is getting partial filled or fullly filled. It is stamped in response flow [only when there has trade happened]; i.e. the trade time / order matching time of when the trade happened (i.e. the time of this order being matched with another order) [i.e. the transaction_time in Web Socket]

    MatchCount Tag 20101 (integer)

    Number of orders matched for this trade execution. If it is Maker's Order, value is always 1. If it is Taker's Order, it is the number of orders matched for this trade execution

    MatchIndex Tag 20102 (integer)

    Only appears if it is Maker's order. It represents which order entry of corresponding price level was matched. This value is 0 base. If the matched order is on the top of the queue, it is shown 0.

    MsgType Tag 35 (string)

    Possible values: [8]

    Message Type = 8 (Execution Report)