Page History
...
NewOrderSingle[D], QuoteResponse[AJ], & OrderCancelReplaceRequest[G]
| Flag | Presence in D | Presence in AJ | Presence in G | Field | Type |
|---|---|---|---|---|---|
| POSS_DUPE | Optional | Optional | Optional | PossDupFlag[43], PossResend[97] | BOOL |
| SEQ_NUM | Required | Required | Required | MsgSeqNum[34] | INT |
| ACCOUNT | Optional | Optional | Optional | Account[1], PartyRole[452], etc | STRING |
| ALLOC_ACCT | BANNED | BANNED | BANNED | AllocAccount[79] | STRING |
| ORD_TYPE | Required | - | Optional | OrdType[40] | ENUM |
| QUOTE_RESP_TYPE | - | Required | - | QuoteRespType[694] | ENUM |
| ORIG_ORDER_ID | - | - | Optional | OrigClOrdID[41] | STRING |
| ORDER_ID | Required | Optional | Required | ClOrdID[11] | STRING |
| QUOTE_RESP_ID | - | Optional | - | QuoteRespID[693] | STRING |
| SYMBOL | Required | Required | Required | Symbol[55], SecurityID[48] | STRING, INT |
| CURRENCY | Optional | Required | Optional | Currency[15] | STRING |
| SIDE | Required | Required | Required | Side[54] | ENUM |
| CONTRACT_MULTIPLIER | Optional | Optional | Optional | ContractMultiplier[231] | FLOAT |
| PRICE | Optional | Optional | Required | Price[44] | FLOAT |
| PRICE | - | Optional | - | BidPx[132], OfferPx[133] | FLOAT |
| PRICE_TWO | BANNED | BANNED | BANNED | Price2[640] | FLOAT |
| PRICE_TWO | - | BANNED | - | BidPx2[. . . ], OfferPx2[. . .] | FLOAT |
| QUANTITY | Required | Optional | Required | OrderQty[38] | FLOAT |
| QUANTITY | - | Optional | - | BidSize[134], BidSize[135] | FLOAT |
| QUANTITY_TWO | BANNED | BANNED | BANNED | OrderQty2[192] | FLOAT |
| QUANTITY_TWO | - | BANNED | - | BidSize2[. . . ], BidSize2[. . . ] | FLOAT |
| SETTLE_DATE | Optional | Optional | Optional | SettlDate[64] | DATE |
| SETTLE_DATE_TWO | BANNED | BANNED | BANNED | SettlDate2[193] | DATE |
| NUM_LEGS | Optional | Optional | Optional | NoLegs[555] | INT |
Processing Sequence
On an outbound risk-carrying Taker message, the parser acts as if the following events occur in sequence:
- Attributes are read in.
- Venue-specific patches are applied.
- Unsupported features: If any of the following conditions hold, the order action will be blocked. Unless specified, the stated reason for rejection will be serialized as (Z_UNSUPPORTED):
- If OrdType[40] has value FOREX_SWAP[G]
- If any of these fields are present: Price2[640], OrderQty2[192], SettlDate2[193], AllocAccount[79]
- If Symbol[55] (SecurityID[48] in LMAX44) did not resolve to a valid currency pair (Z_PRODUCT_UNKNOWN)
- If NoLegs[555] is present and contains any nonzero value
- Sanity: If any of the following conditions hold, the order action will be blocked. Unless specified, the stated reason for rejection will be serialized as (Z_NON_CONFORMING):
- If PossDupFlag[43] or PossResend[97] is present and has value Y
- If any of the required fields are missing
- If account resolution failed on a credential with multiple overloaded accounts set up (Z_ACCOUNT_UNKNOWN)
- For non-market orders, if Price[44] is missing or more than a factor of 2 outside of reference rate (Z_PRICE_RANGE)
- If OrderQty[38] did not contain a positive scalar amount (Z_QUANTITY_RANGE)
- If Currency[15] is missing on an order referencing a quote (Z_DEALT_CCY_UNKNOWN)
- If Currency[15] is present but did not refer to either of the currencies in the symbol (Z_DEALT_CCY_UNKNOWN)
- For Spot orders, if a settle date cannot be computed for the state symbol (Z_SETTLE_DATE_UNKNOWN)
- For non-Spot orders, if settle date computation failed sanity checks (Z_SETTLE_DATE_UNKNOWN)
- If Side[54] contained a value other than BUY[1] or SELL[2]
- A speculative order state is constructed.
Order state is sent to the Risk Instance for assessment. On failure, order action will be blocked with whichever reason it provides.
OrderMassActionRequest[CA]
...
Overview
Content Tools