This message is used to submit orders for execution, for securities, forex, collective investment vehicles (CIV), and more.
Orders can be submitted with special handling instructions and execution instructions. Handling instructions refer to how the broker should handle the order on its trading floor. See HandlInst (21). Execution instructions contain explicit directions as to how the order should be executed. See ExecInst (18).
Orders received with PossResend (97) set in the header should be validated by ClOrdID (11). Implementations should also consider checking order parameters (side, symbol, quantity, etc.) to determine if the order had been previously submitted. PossResend (97) previously received should be acknowledged back to the client using an Execution Report <35=8>. PossResend (97) not previously received should be processed as a new order.
The given TransactTime (60) should allow the receiver of the order to apply business rules to determine if the order is potentially stale, e.g. in the event that there have been communication problems.
To support forex accommodation trades, two fields, ForexReq (121) and SettlCurrency (120), are included in the message. To request a broker to execute a forex trade in conjunction with the securities trade, the institution would set the ForexReq (121) = Y and SettlCurrency (120) = "intended settlement currency". The broker would then execute a forex trade from the execution currency to the settlement currency and report the results via the execution message in the SettlCurrAmt (119) and SettlCurrency (120) fields.
Orders involving or requiring pre-trade allocation consist of the following steps:
To take an Indication of Interest <35=6> or Quote <35=S> from an ECN or exchange and not display the order on the book, the New Order Single message should contain TimeInForce (59) = "ImmediateOrCancel" and OrdType (40) = "Previously Indicated" or "Previously Quoted".
Tag | Name | Type | Required | Description |
---|---|---|---|---|
Component | ||||
11 | String | Unique identifier of the order as assigned by institution | ||
109 | String | Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID) | ||
76 | String | Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID) | ||
1 | String | |||
Component | Number of repeating groups for pre-trade allocation | |||
63 | Char Enum | Absence of this field is interpreted as Regular | ||
64 | LocalMktDate | Required when SettlmntTyp = 6 (Future) or SettlmntTyp = 8 (Sellers Option) | ||
21 | Char Enum | |||
18 | String Enum | Can contain multiple instructions, space delimited. If OrdType=P, exactly one of the following values (ExecInst = L, R, M, P, O, T, or W) must be specified | ||
110 | Quantity | |||
111 | Quantity | |||
100 | Exchange | |||
Component | Specifies the number of repeating TradingSessionIDs | |||
81 | Char Enum | Used to identify soft trades at order entry | ||
55 | String | |||
65 | String | |||
48 | String | |||
22 | String Enum | |||
167 | String Enum | Must be specified if a Future or Option. If a Future: Symbol, SecurityType, and MaturityMonthYear are required. If an Option: Symbol, SecurityType, MaturityMonthYear, PutOrCall, and StrikePrice are required | ||
200 | MonthYear | Specifies the month and year of maturity. Required if MaturityDay is specified | ||
205 | DayOfMonth | Can be used in conjunction with MaturityMonthYear to specify a particular maturity date | ||
201 | Int Enum | For Options | ||
202 | Price | For Options | ||
206 | Char | For Options | ||
231 | Float | For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount | ||
223 | Float | For Fixed Income | ||
207 | Exchange | Can be used to identify the security | ||
106 | String | |||
348 | Int | Must be set if EncodedIssuer field is specified and must immediately precede it | ||
349 | Data | Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field | ||
107 | String | |||
350 | Int | Must be set if EncodedSecurityDesc field is specified and must immediately precede it | ||
351 | Data | Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field | ||
140 | Price | Useful for verifying security identification | ||
54 | Char Enum | |||
114 | Boolean Enum | Required for short sell orders | ||
60 | UTCTimestamp | Time this order request was initiated/released by the trader or trading system | ||
38 | Quantity | Either CashOrderQty or OrderQty is required. Note that either, but not both, CashOrderQty or OrderQty should be specified | ||
152 | Quantity | Either CashOrderQty or OrderQty is required. Note that either, but not both, CashOrderQty or OrderQty should be specified. Specifies the approximate "monetary quantity" for the order. Broker is responsible for converting and calculating OrderQty in shares for subsequent messages | ||
40 | Char Enum | |||
44 | Price | Required for limit OrdTypes. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points). Can be used to specify a limit price for a pegged order, previously indicated, etc | ||
99 | Price | Required for OrdType = "Stop" or OrdType = "Stop limit" | ||
15 | Currency | |||
376 | String | |||
377 | Boolean Enum | |||
23 | String | Required for Previously Indicated Orders (OrdType=E) | ||
117 | String | Required for Previously Quoted Orders (OrdType=D) | ||
59 | Char Enum | Absence of this field indicates Day order | ||
168 | UTCTimestamp | Can specify the time at which the order should be considered valid | ||
432 | LocalMktDate | Conditionally required if TimeInForce = GTD and ExpireTime is not specified | ||
126 | UTCTimestamp | Conditionally required if TimeInForce = GTD and ExpireDate is not specified | ||
427 | Int Enum | States whether executions are booked out or accumulated on a partially filled GT order | ||
12 | Amount | |||
13 | Char Enum | |||
47 | Char Enum | |||
121 | Boolean Enum | Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade | ||
120 | Currency | Required if ForexReq = Y | ||
58 | String | |||
354 | Int | Must be set if EncodedText field is specified and must immediately precede it | ||
355 | Data | Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field | ||
193 | LocalMktDate | Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of an F/X swap | ||
192 | Quantity | Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of an F/X swap | ||
77 | Char Enum | For options | ||
203 | Int Enum | For options | ||
204 | Int Enum | For options when delivering the order to execution system/exchange | ||
210 | Quantity | |||
211 | PriceOffset | Amount (signed) added to the price of the peg | ||
388 | Char Enum | Code to identify the price a DiscretionOffset is related to and should be mathematically added to. Required if DiscretionOffset is specified | ||
389 | PriceOffset | Amount (signed) added to the "related to" price specified via DiscretionInst | ||
439 | String | |||
440 | String | |||
Component |