Order Cancel/Replace Request <G> message – FIX 4.1 – FIX Dictionary – Onix Solutions
The 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 <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>.
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 Cancel Reject <9> message. The Cancel Reject <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.
Tag | Field Name | Req'd | Comments |
---|---|---|---|
<MessageHeader> | Y | MsgType <35> = G | |
37 | OrderID | N |
Unique identifier of most recent order as assigned by broker. |
109 | ClientID | N |
Used for firm identification in third-party transactions. |
76 | ExecBroker | N |
Used for firm identification in third-party transactions. |
41 | OrigClOrdID | Y |
ClOrdID <11> of the previous order (NOT the initial order of the day) when canceling or replacing an order. |
11 | ClOrdID | Y |
Unique identifier of replacement order as assigned by institution. Note that this identifier will be used in ClOrdID <11> field of the Cancel Reject <9> Message if the replacement request is rejected. |
66 | ListID | N |
Required for List Orders |
1 | Account | N | |
63 | SettlmntTyp | N |
Absence of this field is interpreted as Regular. |
64 | FutSettDate | N |
Required when SettlmntTyp <63> ='6' (Future) or SettlmntTyp <63> ='8' (Sellers Option) |
21 | HandlInst | Y | |
18 | ExecInst | N |
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). |
110 | MinQty | N | |
111 | MaxFloor | N | |
100 | ExDestination | N | |
55 | Symbol | Y |
Must match original order |
65 | SymbolSfx | N | |
48 | SecurityID | N |
Must match original order |
22 | IDSource | N |
Must match original order |
167 | SecurityType | N |
Must be specified if a Future or Option. If a Future: Symbol <55>, SecurityType <167>, and MaturityMonthYear <200> are required. If an Option: Symbol <55>, SecurityType <167>, MaturityMonthYear <200>, PutOrCall <201>, and StrikePrice <202> are required. |
200 | MaturityMonthYear | N |
For Options or Futures to specify the month and year of maturity. |
205 | MaturityDay | N |
For Options or Futures and can be used in conjunction with MaturityMonthYear <200> to specify a particular maturity date. |
201 | PutOrCall | N |
For Options. |
202 | StrikePrice | N |
For Options. |
206 | OptAttribute | N |
For Options. |
207 | SecurityExchange | N |
Can be used to identify the security. |
106 | Issuer | N | |
107 | SecurityDesc | N | |
54 | Side | Y |
Must match original side, however, Buy and Buy Minus can be interchanged as well as Sell and Sell Plus |
38 | OrderQty | N |
Either CashOrderQty <152> or OrderQty <38> is required. Should be the 'Total Intended Order Quantity' (including the amount already executed for this chain of orders) |
152 | CashOrderQty | N |
Either CashOrderQty <152> or OrderQty <38> is required. Specifies the approximate 'dollar quantity' for the order. Broker is responsible for converting and calculating OrderQty <38> in shares for subsequent messages. |
40 | OrdType | Y | |
44 | Price | N |
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 | StopPx | N |
Required for OrdType <40> = 'Stop' or OrdType <40> = 'Stop limit'. |
211 | PegDifference | N | |
15 | Currency | N |
Must match original order. |
59 | TimeInForce | N |
Absence of this field indicates Day order |
126 | ExpireTime | N |
Required if TimeInForce <59> ='GTD' |
12 | Commission | N | |
13 | CommType | N | |
47 | Rule80A(aka OrderCapacity) | N |
Must match original order |
121 | ForexReq | N |
Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade. |
120 | SettlCurrency | N |
Required if ForexReq <121> ='Y'. |
58 | Text | N | |
193 | FutSettDate2 | N |
Can be used with OrdType <40> = 'Forex - Swap' to specify the 'value date' for the future portion of a F/X swap. |
192 | OrderQty2 | N |
Can be used with OrdType <40> = 'Forex - Swap' to specify the order quantity for the future portion of a F/X swap. |
77 | OpenClose | N |
For options |
203 | CoveredOrUncovered | N |
For options |
204 | CustomerOrFirm | N |
For options when delivering the order to execution system/exchange. |
210 | MaxShow | N | |
114 | LocateReqd | N | |
<MessageTrailer> | Y |