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 or by the intermediary (CIV term, not a hub/service bureau) with the closest association with the investor | ||
526 | String | |||
583 | String | |||
Component | The set of "Parties" (firm identification) fields defined in "Common Components of Application Messages" | |||
229 | LocalMktDate | |||
75 | LocalMktDate | |||
1 | String | |||
660 | Int Enum | |||
581 | Int Enum | Type of account associated with the order (Origin) | ||
589 | Char Enum | |||
590 | Char Enum | |||
591 | Char Enum | |||
70 | String | Used to assign an overall allocation id to the block of preallocations | ||
Component | Number of repeating groups for pre-trade allocation | |||
63 | Char Enum | |||
64 | LocalMktDate | Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values | ||
544 | Char Enum | |||
635 | String Enum | |||
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, W, a, d) 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 | ||
Component | The set of "Instrument" (symbology) fields defined in "Common Components of Application Messages" | |||
Component | The set of "FinancingDetails" (symbology) fields defined in "Common Components of Application Messages" | |||
Component | Number of underlyings | |||
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, trading system, or intermediary | ||
Component | ||||
854 | Int Enum | |||
Component | The set of "OrderQtyData" fields defined in "Common Components of Application Messages" | |||
40 | Char Enum | |||
423 | Int 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" | ||
Component | ||||
Component | The set of "YieldData" (yield-related) fields defined in "Common Components of Application Messages" | |||
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 | If absent, DAY is used | ||
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 | ||
Component | The set of "CommissionData" fields defined in "Common Components of Application Messages" | |||
528 | Char Enum | |||
529 | String Enum | |||
582 | Int Enum | |||
121 | Boolean Enum | Whether broker is requested to execute a Forex accommodation trade in conjunction with the security trade | ||
120 | Currency | Required if ForexReq = Y | ||
775 | Int Enum | Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). If absent, regular booking is used | ||
58 | String | |||
354 | Length | 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 | ||
640 | Price | Can be used with OrdType = "Forex - Swap" to specify the price for the future portion of an F/X swap which is also a limit order. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points) | ||
77 | Char Enum | For use in derivatives omnibus accounting | ||
203 | Int Enum | For use with derivatives, such as options | ||
210 | Quantity | |||
Component | The set of "PegInstruction" fields defined in "Common Components of Application Messages" | |||
Component | The set of "DiscretionInstruction" fields defined in "Common Components of Application Messages" | |||
847 | Int Enum | The target strategy of the order | ||
848 | String | For further specification of the TargetStrategy | ||
849 | Percentage | Mandatory for a TargetStrategy=Participate order and specifies the target participation rate. For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume) | ||
480 | Char Enum | For CIV - Optional | ||
481 | Char Enum | |||
513 | String | Reference to Registration Instructions message for this Order | ||
494 | String | Supplementary registration information for this Order | ||
Component |