Log in

G Order Cancel/Replace Request

Order Cancel/Replace Request (a.k.a. Order Modification Request) is used to change the parameters of an existing order.

Do not use this message to cancel the remaining quantity of an outstanding order, use the Order Cancel Request <35=F> message for this purpose.

Cancel/Replace will be used to change any valid attribute of an open order (i.e. reduce/increase quantity, change limit price, change instructions, etc.) It can be used to re-open a filled order by increasing OrderQty (38).

An immediate response to this message is required. It is recommended that an Execution Report <35=8> with ExecType (150)='Pending Replace' be sent unless the Order Cancel/Replace Request can be immediately accepted (Execution Report <35=8> with ExecType (150)='Replaced') or rejected (Order Cancel Reject <35=9> message).

The Cancel/Replace request will only be accepted if the order can successfully be pulled back from the exchange floor without executing. Requests which cannot be processed will be rejected using the Order Cancel Reject <35=9> message. The Order Cancel Reject <35=9> message should provide the ClOrdID (11) and OrigClOrdID (41) values which were specified on the Cancel/Replace Request message for identification.

Note that while it is necessary for the ClOrdID (11) to change and be unique, the broker's OrderID (37) field does not necessarily have to change as a result of the Cancel/Replace request.

Only a limited number of fields can be changed via the cancel/replace request message. All other fields should be retransmitted as sent in the original order. The fields which can be changed via this message are:

When modifying ExecInst (18) fields in a replacement order, it is necessary to re-declare all ExecInst (18) in the replacement order. ExecInst (18)'s will not be carried forward from the original order to the replacement unless re-declared.

Structure

TagNameTypeRequiredDescription
Component
Required
37String
Unique identifier of most recent order as assigned by broker
109String
Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID)
76String
Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID)
41String
Required
ClOrdID of the previous order (NOT the initial order of the day) when canceling or replacing an order
11String
Required
Unique identifier of replacement order as assigned by institution. Note that this identifier will be used in ClOrdID field of the Cancel Reject message if the replacement request is rejected
66String
Required for List Orders
1String
Component
Number of repeating groups for pre-trade allocation
63Char Enum
Absence of this field is interpreted as Regular
64LocalMktDate
Required when SettlmntTyp = 6 (Future) or SettlmntTyp = 8 (Sellers Option)
21Char Enum
Required
18String Enum
Can contain multiple instructions, space delimited. Replacement order must be created with new parameters (i.e. original order values will not be brought forward to replacement order unless redefined within this message)
110Quantity
111Quantity
100Exchange
Component
Specifies the number of repeating TradingSessionIDs
55String
Required
Must match original order
65String
48String
Must match original order
22String Enum
Must match original order
167String 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
200MonthYear
Specifies the month and year of maturity. Required if MaturityDay is specified
205DayOfMonth
Can be used in conjunction with MaturityMonthYear to specify a particular maturity date
201Int Enum
For Options
202Price
For Options
206Char
For Options
231Float
For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount
223Float
For Fixed Income
207Exchange
Can be used to identify the security
106String
348Int
Must be set if EncodedIssuer field is specified and must immediately precede it
349Data
Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field
107String
350Int
Must be set if EncodedSecurityDesc field is specified and must immediately precede it
351Data
Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field
54Char Enum
Required
Must match original side, however, Buy and Buy Minus can be interchanged as well as Sell and Sell Plus
60UTCTimestamp
Required
Time this order request was initiated/released by the trader or trading system
38Quantity
Either CashOrderQty or OrderQty is required. Note that either, but not both, CashOrderQty or OrderQty should be specified. Should be the "Total Intended Order Quantity" (including the amount already executed for this chain of orders)
152Quantity
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
40Char Enum
Required
44Price
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
99Price
Required for OrdType = "Stop" or OrdType = "Stop limit"
211PriceOffset
Amount (signed) added to the price of the peg
388Char Enum
Code to identify the price a DiscretionOffset is related to and should be mathematically added to. Required if DiscretionOffset is specified
389PriceOffset
Amount (signed) added to the "related to" price specified via DiscretionInst
376String
377Boolean Enum
15Currency
Must match original order
59Char Enum
Absence of this field indicates Day order
168UTCTimestamp
Can specify the time at which the order should be considered valid
432LocalMktDate
Conditionally required if TimeInForce = GTD and ExpireTime is not specified
126UTCTimestamp
Conditionally required if TimeInForce = GTD and ExpireDate is not specified
427Int Enum
States whether executions are booked out or accumulated on a partially filled GT order
12Amount
13Char Enum
47Char Enum
Must match original order
121Boolean Enum
Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade
120Currency
Required if ForexReq = Y
58String
354Int
Must be set if EncodedText field is specified and must immediately precede it
355Data
Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field
193LocalMktDate
Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of an F/X swap
192Quantity
Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of an F/X swap
77Char Enum
For options
203Int Enum
For options
204Int Enum
For options when delivering the order to execution system/exchange
210Quantity
114Boolean Enum
439String
440String
Component
Required