Usage
The Execution Report message indicates that an event has occurred that has changed the state of either 1) an order or 2) a cancel request. Moment sends an Execution Report (35=8) to the Client in the cases detailed below.
Message | Update To | Description | ExecType (150) | OrdStatus (39) |
---|---|---|---|---|
Order Acknowledgement | Order | When the Client sends a New Order Single to Moment, Moment will immediately respond with an Execution Report with an ExecType of "Pending New" (150=A) to indicate that Moment has received the order. The order still must pass through Moment's Risk Management System (RMS) and still may be rejected. | "A" (Pending New) | "A" (Pending New) |
Order Rejection | Order | If the order fails to pass the pre-trade risk checks, Moment's RMS will reject the order. To indicate this, Moment will send an Execution Report with an ExecType of "Rejected" (150=8) to the Client. | "8" (Rejected) | "8" (Rejected) |
Order Approval | Order | If the order passes the pre-trade checks, Moment's RMS will approve the order, allowing Moment's Smart Order Router to begin executing the order on the trading venues. To indicate this, Moment will send an Execution Report with an ExecType of "New" (150=0). | "0" (New) | "0" (New) |
Execution | Order | When an execution occurs for an order, Moment will send an Execution Report with an ExecType of "Trade" (150=F). The OrdStatus tag (39) will indicate whether the execution partially executed the order (39=1) or fully executed the order (39=2). | "F" (Trade) | "1" (Partially Filled) OR "2" (Filled) |
Cancellation | Order | When an order is canceled by the Client or by Moment, Moment will send an Execution Report with an ExecType of "Canceled" (150=4). | "4" (Canceled) | "4" (Canceled) |
Expiration | Order | When an order expires at the end of its eligible trading day (either at 4PM or 5PM, depending on its extended hour eligibility), Moment will send an Execution Report with an ExecType of "Expired" (150=C). | "C" (Expired) | "C" (Expired) |
Cancel Acknowledgement | Cancel Request | When the Client sends an Order Cancel Request to Moment, Moment will immediately respond with an Execution Report with an ExecType of "Pending Cancel" (150=6) to indicate that Moment has received the cancel request. Moment will subsequently send the Client an Execution Report when 1) the cancel request is rejected, 2) the order is successfully canceled, or 3) an additional update occurs to the order before it can be canceled. Note that the cancel acknowledgement does not represent an update to the Order's state, but rather to the Cancel Request's state. | "6" (Pending Cancel) | "6" (Pending Cancel) |
Schema
Field Name | Tag | Description | Required | Example |
---|---|---|---|---|
OrderID | 37 | Unique, Moment-assigned ID for the Order or Cancel Request. | Y | "29b5e57e-0adc-45cf-936d-5b1055abeb08" |
MsgNum | 5017 | Moment-assigned ID for an Execution Report message. | Y | "202410160000000026" |
ExecID | 17 | Unique, Moment-assigned Event ID. This identifier will be unique across all messages that Moment sends to the Client. | Y | "01JADC9ARQ3A2NW9D3Y5VBA3S1" |
ExecType | 150 | Describes the purpose of the execution report. "A" = Pending New / Acknowledged. This message indicates that Moment has received the Order, but the Order has not yet been approved or rejected by Moment's Risk Management System. Clients will subsequently receive an Execution Report to indicate approval or rejection. "0" = New. This message indicates that the Order has passed the pre-trade checks, meaning that Moment is currently attempting to execute the Order. "4" = Canceled. This message indicates that the Order has been canceled by the Client, the Venue, or Moment. "6" = Pending Cancel. This message indicates that Moment has received an Order Cancel Request from the Client. "8" = Rejected. This message indicates that the Risk Management System has rejected the Order. The Executing Broker sets the pre-trade checks in the RMS, using Moment's trade blotter. "F" = Trade. This message indicates that the Client has received a fill for the Order. The OrdStatus (39) tag will indicate whether the Order is now partially filled or fully filled. "C" = Expired. This message indicates that the Order has expired, meaning that Moment has canceled any outstanding child orders on the trading venues and no further updates are expected for the Order. | Y | "F" |
TransactTime | 60 | Time when the event being reported occurred. | Y | "20231005-11:48:33" |
Order Request | In the case of an Order Cancel Request Acknowledgement, only the ClOrdID will be included. In this case, the ClOrdID refers to the ClOrdID of the Order Cancel Request. | |||
ClOrdID | 11 | Matches field from NewOrderSingle or OrderCancelRequest. | Y | "fcd69fbf-0c0f-41fa-8c4b-45c36c73ca06" |
Account | 1 | Matches field from NewOrderSingle. | Y | "ACCT_1" |
OrdType | 40 | Matches field from NewOrderSingle. | Y | "2" |
OrderQty | 38 | Matches field from NewOrderSingle. | Y | "1000" |
Side | 54 | Matches field from NewOrderSingle. | Y | "1" |
Price | 44 | Matches field from NewOrderSingle. | Y | "100.00" |
PriceType | 423 | Matches field from NewOrderSingle. | Y | "1" |
SecurityID | 48 | The ISIN of the instrument. | Y | "US912797JE81" |
SecurityIDSource | 22 | The source of the security ID. Always: "4" = ISIN Number. Refer to tag 454 for alternative security IDs. | Y | "4" |
TimeInForce | 59 | Matches field from NewOrderSingle. | Y | "0" |
TradingSessionID | 336 | Matches field from NewOrderSingle. | Y | "REG" |
TradingGroup | 5047 | Matches field from NewOrderSingle. | Y | "GRP_1" |
Alternate Security ID | These fields are included for clients who require CUSIP identifiers. | |||
NoSecurityAltIDs | 454 | Number of alternate security IDs in the block. Always 1, with the single entry representing the CUSIP. | Y | "1" |
SecurityAltID | 455 | The CUSIP of the instrument. | Y | "912797JE8" |
SecurityAltIDSource | 456 | The source of the security ID. Always: "1" = CUSIP. | Y | "1" |
Fill Data | These fields are only included when ExecType = "F". | |||
LastQty | 32 | The quantity of the fill being reported. | C | "1000" |
LastPx | 31 | Price of the fill being reported, inclusive of all fees and markups. | C | "99.00" |
YieldType | 235 | The type of yield provided by Yield (236) . Always "MATURITY" (yield to maturity). | C | "MATURITY" |
Yield | 236 | The yield of the fill price reported by LastPx (31) . | C | "5.235" |
FillPx | 1364 | Price of the fill being reported, excluding all fees and markups. | C | "98.50" |
GrossTradeAmt | 381 | The gross trade amount not inclusive of accrued interest, in dollars. | C | "990.00" |
AccruedInterestAmt | 159 | Accrued interest for the fill, in dollars. | C | "5.00" |
NetMoney | 118 | Settlement trade amount inclusive of accrued interest, in dollars. | C | "995.00" |
TradeDate | 75 | Trade date in YYYYMMDD format. | C | "20230507" |
SettlDate | 64 | Settlement date in YYYYMMDD format. | C | "20230509" |
Parties Block | These fields are only included when ExecType = "F". | |||
NoPartyIDs | 453 | Number of Parties in the block. This will typically be "3" since the contra firm, contra clearing firm, and execution venue will typically be provided. | C | "3" |
PartyID | 448 | Party identifier. | C | "ABCD" |
PartyIDSource | 447 | Type of party identifier. "C" = generally accepted market participant identifier (MPID). "H" = CSD participant / member code. | C | "C" |
PartyRole | 452 | Party role. "17" = Contra Firm. The MPID will be provided in this case. "18" = Contra Clearing Firm. The CSD participant / member code will be provided in this case. "73" = Execution Venue. The MPID will be provided in this case. | C | "17" |
Fees Block | These fields are only included when ExecType = "F". | |||
NoMiscFees | 136 | Number of applicable fees. This is only relevant if the Client uses the Moment Portal to set their fee schedule for charging their customers. In that case, the Client's fees will be included in the drop copy. | N | "1" |
MiscFeeAmt | 137 | Fee amount. | N | "0.10" |
MiscFeeType | 139 | Fee Type. "3" = Commission. "8" = Markup. | N | "8" |
MiscFeeBasis | 891 | The basis on which the fee is assessed: "0" = Absolute. "1" = Per bond. "2" = Percentage. | N | "1" |
MiscFeeBasisType | 5891 | The type of the MiscFeeBasis, to delineate which type of percentage tag 891 corresponds to. "0" = Non applicable. "1" = Percentage of par. "2" = Percentage of market value. | N | "1" |
MiscFeePartyID | 448 | Party identifier for the recipient of the fee, as a Moment organization ID. | N | "01H82R6ZR4YFJ5T32EDZDW74WP" |
MiscFeePartyIDSource | 447 | Type of party identifier. Always: "D" = Proprietary. A Moment-generated organization ID. | N | "P" |
Order State | ||||
OrdStatus | 39 | Status of the Order or Cancel Request. "A" = Pending New / Acknowledged. Moment has received the Order, but the Risk Management System (RMS) has not yet approved or rejected the Order. "0" = New. The RMS has approved the Order and Moment is currently attempting to execute the Order. "1" = Partially Filled. The Order has been partially filled. "2" = Filled. The Order has been fully filled. "4" = Canceled. The Client, the Venue, or Moment has canceled the Order. "6" = Pending Cancel. Moment has received an Order Cancel Request and will subsequently send an Order Cancel Reject or an Execution Report. "C" = Expired. The Order expired at the end of the trading session. "8" = Rejected. The RMS has rejected the Order, meaning that it failed to pass the pre-trade checks. | Y | "2" |
LeavesQty | 151 | The open quantity of the Order, in par value. For an active order, it will always be the case that LeavesQty = OrderQty - CumQty. For an inactive order, it will always be the case that LeavesQty = 0. Will not be included for a cancel request acknowledgement. | Y | "0" |
CumQty | 14 | The cumulative quantity of the Order that has been filled, in par value. For an active order, it will always be the case that LeavesQty = OrderQty - CumQty. Will not be included for a cancel request acknowledgement. | Y | "1000" |
AvgPx | 6 | The quantity-weighted average fill price for the Order. Always provided as a clean, percentage of par price. Will not be included for a cancel request acknowledgement. | Y | "99.00" |