Order Cancel/Replace Request Message Fields
Request to modify an order. Only Price, Side, OrderQty, StopPx, MaxFloor, and OrdType may be adjusted. Modifies will result in a loss of time priority unless the modification involves a decrease in OrderQty, a change to MaxFloor, a change to StopPx, or a change in Side from sell long to sell short or vice-versa.
Other fields (including ExecInst) will be ignored, and the value from the original order will be re-used. In particular note that when a Day-ISO is modified the ISO designation continues to apply to the order.
A change in MaxFloor takes effect on the next reserve reload.
Changes in OrderQty result in an adjustment of the current order’s OrderQty. The new OrderQty does not directly replace the current order’s LeavesQty. Rather, a delta is computed from the current OrderQty and the replacement OrderQty. This delta is then applied to the current LeavesQty. If the resulting LeavesQty is less than or equal to zero, the order is cancelled. This results in safer behavior when the modification request overlaps partial fills for the current order, leaving the member in total control of the share exposure of the order.
The Cancel/Replace message will only be accepted if the original order can be successfully removed. Requests which cannot be processed will be rejected using the Cancel Reject message. The Cancel Reject message will provide the ClOrdID and OrigClOrdID values which were specified on the Cancel/Replace message for identification.
A Cancel/Replace should not be issued until the ack for the previous Cancel/Replace has been received for that order (or the acknowledgment for the first Cancel/Replace Request). The FIX handler will reject a new Cancel/Replace if it has not seen the prior Cancel/Replace message from the Matching Engine.
A maximum of 1,295 Cancel/Replace requests may be made to a single order each trading day. Once the 1,295th modification is made, the next user-generated message on the order should be an Order Cancel request.
| Tag | Field Name | Req’d | Description |
|---|---|---|---|
| 35 | Standard Message Header | Y | MsgType=‘G’ |
| 97 | PossResend | N |
|
| 1 | Account | N | Ignored - Value preserved from original order. |
| 11 | ClOrdId | Y |
|
| 41 | OrigClOrdID | Y |
|
| 37 | OrderId | N |
|
| 60 | TransactTime | Y | Time Cancel/Replace initiated/released. |
| 55 | Symbol | N | Ignored - value preserved from original order |
| 65 | SymbolSfx | N | Ignored - value preserved from original order |
| 54 | Side | N |
|
| 38 | OrderQty | N |
|
| 40 | OrdType | N |
|
| 44 | Price | N | Limit Price. Order rejected if priced finer than the minimum trading increment for the stock. |
| 18 | ExecInst | N | Ignored - value preserved from original order |
| 111 | MaxFloor | N |
|
| 99 | StopPx | N | |
| 9619 | CancelOrigOnReject | N |
|
| 5700 | LocateBroker | N | Used for short sale orders to identify the broker that the short seller has identified as the source from which they will borrow the securities they are selling short. |
| Standard Message Trailer | Y |
1 Cancel/Replace messages that merely reduce OrderQty may be overlapped if the existing ClOrdID is re-used. This is the only case (due to OATS restrictions) where re-use of the existing ClOrdID is allowed.





