Definition
The OrderCancelReplaceRequest(35=G) message (a.k.a. Order Modification Request) is used to change the parameters of an existing order. The OrderCancelReplaceRequest(35=G) message may be used to change any valid attribute of an open order (e.g. reduce/increase quantity, change limit price, change instructions, etc.). Subject to agreement between counterparties, it may be used to re-open a filled order by increasing OrderQty(38).
Additional detail from the official source
Do not use this message to cancel the remaining quantity of an outstanding order, use the OrderCancelRequest(35=F) message for this purpose.
An immediate response to this message is required. It is recommended that an ExecutionReport(35=8) with ExecType(150)=E (Pending Replace) be sent unless the OrderCancelReplaceRequest(35=G) can be immediately accepted (ExecutionReport(35=8) with ExecType(150)=5 (Replaced)) or rejected (OrderCancelReject(35=9) message).
An OrderCancelReplaceRequest(35=G) is assigned a ClOrdID(11) and is treated as a separate entity. If rejected, the ClOrdID(11) of the OrderCancelReplaceRequest(35=G) message will be sent in the OrderCancelReject(35=9) message, as well as the ClOrdID(11) of the actual order in OrigClOrdID(41). The ClOrdID(11) assigned to the OrderCancelRequest(35=F) message must be unique amongst the ClOrdID(11) values assigned to regular orders and replacement orders.
Message structure 2917 distinct fields
Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.
Nested fields load when needed. Open the full static layout (also works without JavaScript).
StandardHeaderComponentRequired
MsgType = G
StandardHeader definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Unique identifier of most recent order as assigned by sell-side (broker, exchange, ECN).
Required if provided on the order being replaced (or cancelled). Echo back the value provided by the requester.
PartiesRepeating groupCount tag 453—
This is party information related to the submitter of the request.
Open this block to load its fields in message context, or follow the definition link.
TargetPartiesRepeating groupCount tag 1461—
Identifies parties not directly associated with or owning the order, who are to be informed to effect processing of the order.
TargetParties definition & usage →
Open this block to load its fields in message context, or follow the definition link.
ClOrdID(11) of the previous non rejected order (NOT the initial order of the day) when canceling or replacing an order.
Required when referring to orders that were electronically submitted over FIX or otherwise assigned a ClOrdID
Unique identifier of replacement order as assigned by institution or by the intermediary with closest association with the investor. Note that this identifier will be used in ClOrdID field of the Cancel Reject message if the replacement request is rejected.
Required for List Orders
TransactTime of the last state change that occurred to the original order
Used to assign an overall allocation id to the block of preallocations
PreAllocGrpRepeating groupCount tag 78—
Number of repeating groups for pre-trade allocation
PreAllocGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
For NDFs either SettlType or SettlDate should be specified.
Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values.
For NDFs either SettlType or SettlDate should be specified.
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).
ValueChecksGrpRepeating groupCount tag 1868—
ValueChecksGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
MatchingInstructionsRepeating groupCount tag 1624—
MatchingInstructions definition & usage →
Open this block to load its fields in message context, or follow the definition link.
May be used as an alternative to MatchingInstructions when the identifier does not appear in another field.
DisplayInstructionComponent—
DisplayInstruction definition & usage →
Open this block to load its fields in message context, or follow the definition link.
DisclosureInstructionGrpRepeating groupCount tag 1812—
Specifies instructions to disclose certain order level information in market data.
DisclosureInstructionGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
TrdgSesGrpRepeating groupCount tag 386—
Specifies the number of repeating TradingSessionIDs
TrdgSesGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
InstrumentComponentRequired
Must match original order
Instrument definition & usage →
Open this block to load its fields in message context, or follow the definition link.
InstrumentExtensionComponent—
InstrumentExtension definition & usage →
Open this block to load its fields in message context, or follow the definition link.
FinancingDetailsComponent—
Must match original order
FinancingDetails definition & usage →
Open this block to load its fields in message context, or follow the definition link.
UndInstrmtGrpRepeating groupCount tag 711—
Number of underlyings
UndInstrmtGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Should match original order's side, however, if bilaterally agreed to the following groups could potentially be interchanged:
Buy and Buy Minus
Sell, Sell Plus, Sell Short, and Sell Short Exempt
Cross, Cross Short, and Cross Short Exempt
Available for optional use when Side(54) = 6(Sell short exempt).
Time this order request was initiated/released by the trader or trading system.
StipulationsRepeating groupCount tag 232—
Stipulations definition & usage →
Open this block to load its fields in message context, or follow the definition link.
OrderQtyDataComponentRequired
Note: OrderQty(38) value should be the "Total Intended Order Quantity" (including the amount already executed for this chain of orders).
OrderQtyData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
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.
May be used to correct the initial working price of the parent order when this (child) order was entered.
Required for OrdType = "Stop" or OrdType = "Stop limit".
TriggeringInstructionComponent—
TriggeringInstruction definition & usage →
Open this block to load its fields in message context, or follow the definition link.
SpreadOrBenchmarkCurveDataComponent—
SpreadOrBenchmarkCurveData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
YieldDataComponent—
YieldData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
PegInstructionsComponent—
PegInstructions definition & usage →
Open this block to load its fields in message context, or follow the definition link.
DiscretionInstructionsComponent—
DiscretionInstructions definition & usage →
Open this block to load its fields in message context, or follow the definition link.
The target strategy of the order
StrategyParametersGrpRepeating groupCount tag 957—
Strategy parameter block
StrategyParametersGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
For further specification of the TargetStrategy
Mandatory for a TargetStrategy=Participate order and specifies the target particpation rate.
For other order types optionally specifies a volume limit (i.e. do not be more than this percent of the market volume)
Must be set if EncodedComplianceText(2352) field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the ComplianceText(2404) field in the encoded format specified via the MessageEncoding(347) field.
Must match original order.
Absence of this field indicates Day order
Can specify the time at which the order should be considered valid
Conditionally required if TimeInForce = GTD and ExpireTime is not specified.
Conditionally required if TimeInForce = GTD and ExpireDate is not specified.
States whether executions are booked out or accumulated on a partially filled GT order
Conditionally required when TimeInForce(59)=10 (Good for Time)
CommissionDataComponent—
CommissionData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
CommissionDataGrpRepeating groupCount tag 2639—
Use as an alternative to CommissionData component if multiple commissions or enhanced attributes are needed.
CommissionDataGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Applies to trades resulting from the order.
OrderAttributeGrpRepeating groupCount tag 2593—
OrderAttributeGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade.
Required if ForexReq=Y.
Required for NDFs.
RateSourceRepeating groupCount tag 1445—
RateSource definition & usage →
Open this block to load its fields in message context, or follow the definition link.
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). Absence of this field implies regular booking.
Must be set if EncodedText field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
Can be used with OrdType = "Forex - Swap" to specify the "value date" for the future portion of a F/X swap.
Can be used with OrdType = "Forex - Swap" to specify the order quantity for the future portion of a F/X swap.
Can be used with OrdType = "Forex - Swap" to specify the price for the future portion of a F/X swap.
For use in derivatives omnibus accounting
For use with derivatives, such as options
Required for short sell orders
For CIV - Optional
Reference to Registration Instructions message for this Order.
Supplementary registration information for this Order
May be used for cross orders submitted with single order messages.
May be used for cross orders submitted with single order messages.
Can be used to request change of order ownership.
TrdRegTimestampsRepeating groupCount tag 768—
TrdRegTimestamps definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Conditionally required for auction orders.
StandardTrailerComponentRequired
StandardTrailer definition & usage →
Open this block to load its fields in message context, or follow the definition link.