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.

Table 1. Order Cancel/Replace Request Message Fields
TagField NameReq’dDescription
35Standard Message HeaderYMsgType=‘G’
97PossResendN
  • ‘Y’ Indicates an application level resend. If the ClOrdID does not indicate an already pending Cancel/Replace, the Cancel is treated as normal. If ClOrdID does indicate an already pending Cancel/Replace then the resent Cancel/Replace is ignored.
  • ‘N’ (default) indicates a new Cancel/Replace.
1AccountNIgnored - Value preserved from original order.
11ClOrdIdY
  • Day-unique ID chosen by member. 20 characters or less. Characters in ASCII range 33-126 are allowed, except for comma, semicolon, and pipe.
  • Duplicate order ClOrdIDs will be rejected1 (or ignored if PossResend=‘Y’).
41OrigClOrdIDY
  • ClOrdID of the order to replace.
  • In the case of multiple changes to a single order, this will be the ClOrdID of the most recent accepted change.
37OrderIdN
  • OrderId supplied by Cboe on the order acknowledgment.
  • In the case of multiple changes to a single order, this will be the OrderId from the most recent acknowledgment.
60TransactTimeYTime Cancel/Replace initiated/released.
55SymbolNIgnored - value preserved from original order
65SymbolSfxNIgnored - value preserved from original order
54SideN
  • May only be used to change from sell long to sell short or vice-versa.
  • 1=Buy
  • 2=Sell
  • 5=Sell Short (client affirms ability to borrow)
  • 6=Sell Short Exempt
38OrderQtyN
  • Number of shares for order.
  • This will modify the OrderQty of the current order; it does not directly set the remaining quantity.
40OrdTypeN
  • 1=Market (Regular Session only)
  • 2=Limit
  • 3=Stop
  • 4=Stop Limit
  • P=Pegged
  • Defaults to original order if not sent.
  • May replace Limit with Market and vice versa OR Stop with Stop Limit and vice versa, but otherwise must match original order (or not be sent).
44PriceNLimit Price. Order rejected if priced finer than the minimum trading increment for the stock.
18ExecInstNIgnored - value preserved from original order
111MaxFloorN
  • Portion of OrderQty to display. The balance is reserve.
  • Takes effect on the next reserve order reload or priority losing event.
  • A value of zero will be ignored. If MaxFloor is to be removed completely, then the order should be cancelled and a new order sent.
99StopPxN
9619CancelOrigOnRejectN
  • N=Leave original order alone.
  • Y=Cancel original order if replacement fails (an unsolicited Cancel report will be sent for original order in this case).
  • Default is configurable per port (N if not configured).
5700LocateBrokerNUsed 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 TrailerY

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.

Cboe Titanium U.S. Equities FIX Specification - Order Cancel/Replace Request Message Fields | Cboe