Order Cancel/Replace Request (MsgType = G, FIXML = OrderModificationRequest)

The order cancel/replace request (G) 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 Cancel Request (F) message for this purpose.

Cancel/Replace (G) 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 ExecutionRpt (8) with ExecType (150) =Pending Replace be sent unless the Order Cancel/Replace Request (G) can be immediately accepted ( ExecutionRpt (8) with ExecType (150) =Replaced) or rejected ( Order Cancel Reject (9) message).

The Cancel/Replace request (G) 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 (G) 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 (G) .

Only a limited number of fields can be changed via the cancel/replace request (G) 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\s will not be carried forward from the original order to the replacement unless re-declared.

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = G
37 OrderID OrderID N Unique identifier of most recent order as assigned by broker.
109 ClientID ClientID N Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID (115) / DeliverToCompID (128) ).
76 ExecBroker ExecBroker N Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID (115) / DeliverToCompID (128) ).
41 OrigClOrdID OrigClOrdID Y ClOrdID (11) of the previous order (NOT the initial order of the day) when canceling or replacing an order.
11 ClOrdID 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 ListID N Required for List Orders
1 Account Account N
78 NoAllocs NoAllocs N Number of repeating groups for pre-trade allocation
=> 79 AllocAccount AllocAcct C Required if NoAllocs (78) > 0. Must be first field in repeating group.
=> 80 AllocShares AllocShares N
63 SettlmntTyp Settlement N Absence of this field is interpreted as Regular.
64 FutSettDate FutSettDate C Required when SettlmntTyp (63) = 6 (Future) or SettlmntTyp (63) = 8 (Sellers Option)
21 HandlInst HandInst Y
18 ExecInst 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 MinQty N
111 MaxFloor MaxFloor N
100 ExDestination ExecDestination N
386 NoTradingSessions NoTrdSess C Specifies the number of repeating TradingSessionIDs
=> 336 TradingSessionID TrdSesID C Required if NoTradingSessions (386) is > 0.
55 Symbol Symbol Y Must match original order
65 SymbolSfx SymbolSfx N
48 SecurityID SecurityID N Must match original order
22 IDSource IDSource N Must match original order
167 SecurityType 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 MonthYear C Specifiesthe month and year of maturity. Required if MaturityDay (205) is specified.
205 MaturityDay Day N Can be used in conjunction with MaturityMonthYear (200) to specify a particular maturity date.
201 PutOrCall PutCall C For Options.
202 StrikePrice StrikePx C For Options.
206 OptAttribute OptAttribute N For Options.
231 ContractMultiplier ContractMultiplier N For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.
223 CouponRate CouponRate N For Fixed Income.
207 SecurityExchange SecurityExch N Can be used to identify the security.
106 Issuer Issuer N
348 EncodedIssuerLen EncodedIssuerLen C Must be set if EncodedIssuer (349) field is specified and must immediately precede it.
349 EncodedIssuer EncodedIssuer C Encoded (non-ASCII characters) representation of the Issuer (106) field in the encoded format specified via the MessageEncoding (347) field.
107 SecurityDesc SecurityDesc N
350 EncodedSecurityDescLen EncodedSecDescLen C Must be set if EncodedSecurityDesc (351) field is specified and must immediately precede it.
351 EncodedSecurityDesc EncodedSecDesc C Encoded (non-ASCII characters) representation of the SecurityDesc (107) field in the encoded format specified via the MessageEncoding (347) field.
54 Side Side Y Must match original side, however, Buy and Buy Minus can be interchanged as well as Sell and Sell Plus
60 TransactTime TransactTime Y Time this order request was initiated/released by the trader or trading system.
38 OrderQty OrderQty C Either CashOrderQty (152) or OrderQty (38) is required. Note that either, but not both, CashOrderQty (152) or OrderQty (38) should be specified. Should be the "Total Intended Order Quantity" (including the amount already executed for this chain of orders)
152 CashOrderQty CashOrderQty C Either CashOrderQty (152) or OrderQty (38) is required. Note that either, but not both, CashOrderQty (152) or OrderQty (38) should be specified. Specifies the approximate "monetary quantity" for the order. Broker is responsible for converting and calculating OrderQty (38) in shares for subsequent messages.
40 OrdType OrderType Y
44 Price Price C 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 StopPx C Required for OrdType (40) = "Stop" or OrdType (40) = "Stop limit".
211 PegDifference PegDifference N Amount (signed) added to the price of the peg
388 DiscretionInst DiscretionInst N Code to identify the price a DiscretionOffset (389) is related to and should be mathematically added to. Required if DiscretionOffset (389) is specified.
389 DiscretionOffset DiscretionOffset N Amount (signed) added to the "related to" price specified via DiscretionInst (388) .
376 ComplianceID ComplianceID N
377 SolicitedFlag SolicitedFlag N
15 Currency Currency N Must match original order.
59 TimeInForce OrderDuration N Absence of this field indicates Day order
168 EffectiveTime EffectiveTime N Can specify the time at which the order should be considered valid
432 ExpireDate ExpireDate C Conditionally required if TimeInForce (59) = GTD and ExpireTime (126) is not specified.
126 ExpireTime ExpireTime C Conditionally required if TimeInForce (59) = GTD and ExpireDate (432) is not specified.
427 GTBookingInst GTBookingInst N States whether executions are booked out or accumulated on a partially filled GT order.
12 Commission CommAmt N
13 CommType CommType N
47 Rule80A Rule80A N Must match original order
121 ForexReq ForexReq N Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade.
120 SettlCurrency SettCurrency C Required if ForexReq (121) = Y.
58 Text Text N
354 EncodedTextLen EncodedTextLen C Must be set if EncodedText (355) field is specified and must immediately precede it.
355 EncodedText EncodedText C Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field.
193 FutSettDate2 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 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 OpenClose N For options
203 CoveredOrUncovered Cover N For options
204 CustomerOrFirm CustomerFirm N For options when delivering the order to execution system/exchange.
210 MaxShow MaxShow N
114 LocateReqd LocateReq C Required for short sell orders
439 ClearingFirm ClearingFirm N
440 ClearingAccount ClearingAcct N
<Standard Message Trailer> Y