Purge Request Message Fields

Request to cancel a group of orders across all the firm’s sessions. This differs from a mass cancel request sent via a Order Cancel Request message as the purge is applied across all of the firm’s sessions, not just the session on which the message was received.

A purge requires populating the MassCancelInst (7700) field. The OnBehalfOfCompId (115) (i.e. EFID) is also required if a list of configured/allowed EFIDs has not been configured on the session. If a list of configured EFIDs is present, then sending a blank OnBehalfOfCompId value will result in the purge applying to all configured EFIDs. In addition, a firm may choose to further filter the purge to target specific orders using either the CustomGroupID (7699) or RiskRoot (55) field. If both RiskRoot and a list of CustomGroupID values are specified, the Purge Request message will be rejected. The items below should also be considered.

  • Users must specify the MassCancelId (7695) if the Acknowledgement Style is set to S or B.
  • Users may initiate a self-imposed, risk lockout using the MassCancelInst (7700) field.
  • EFID values specified in the OnBehalfOfCompId (115) field that are not allowed to clear for the firm will be rejected.
  • CustomGroupID (7699) or EFID (OnBehalfOfCompId (115)) purges with no RiskRoot (55) may be directed to a specific matching unit using the MatchingUnit (25017) optional field. If MatchingUnit is zero or not specified, these purge types will be sent to all matching units starting with unit 1. Note this may result in self-imposed, risk lockouts occurring on select units while other units are still trading.

When specifying the RiskRoot (55) field, using the underlying symbol is strongly recommended. Mass cancellations are always performed at the risk root (underlying) level.

All Members that send purges must include a valid TransactTime (60). This is required to ensure that a valid cancellation send time is captured and reported to CAT.

The system limits the rate at which identical Purge Requests messages can be submitted to the system. Requests are restricted to ten (10) messages per second per port.

An identical purge message is defined as a message having all of the same CustomGroupID, Symbol, Clearing Firm, MatchingUnit, Lockout Instruction, Instrument Type Filter and GTC Order Filter field values, as a previously received message.

Table 1. Purge Request Message Fields
TagField NameReq’dDescription
35Standard Message HeaderYMsgType = F
97PossResendN
  • Y=Indicates an application level unsolicited resend. If ClOrdID has not yet been seen, the cancel is treated as normal. If ClOrdID already exists, the resent cancel is ignored.
  • N=(Default) indicates a new cancel.
7933
  • RoutingFirmID
NUsed to optionally convey the routing firm of the order.
60TransactTimeYTime cancel initiated/released. Required by FIX 4.2.
7700MassCancelInstY
  • Used to perform Mass Cancel operation rather than single order cancel. If MassCancelInst is provided, tags 37, 41, 77, 200, 205, 201, 202, 54, and 38 will be ignored.
  • At least one character must be provided (Clearing Firm Filter). Contiguous characters must be specified up to total length. Truncated (unspecified) characters will default to values indicated below.
  • EFID values specified in OnBehalfOfCompId (115) that are not allowed to clear for the firm will be rejected.
  • 1st Character : Clearing Firm Filter
  • A=No filtering by EFID is performed.
  • F=All orders that were sent under the EFID specified in OnBehalfOfCompId (115) will be cancelled. If ‘F’ specified and OnBehalfOfCompId (115) is not provided, the Mass Cancel or Purge Orders messages will be rejected.
  • 2nd Character : Acknowledgement Style
  • M=(Default) Individual Execution Reports are sent for each cancelled order.
  • S=Single Execution Report sent once all cancels have been processed. Single Execution Report will contain MassCancelId (7695) and CancelledOrderCount (7696). MassCancelId (7695) must be specified or the Purge Request messages will be rejected.
  • B=Both Individual Execution Reports and summary Single Execution Report. Also requires MassCancelId (7695) to be specified or the Purge Request messages will be rejected.
  • A=Single Execution Report sent to the purge port and one Execution Report for each matching unit is sent to each order entry port with cancelled orders.
  • I=Execution Reports sent for each matching unit impacted in a multi-unit cancel. A final acknowledgement is sent when the last matching unit has completed all requested cancellations. MassCancelId (7695) must be specified or the Purge Request message will be rejected.
  • 3rd Character : Lockout Instruction
  • N=(Default) No lockout
  • L=Lockout until corresponding Risk Reset received. Lockout can be used only with Clearing Firm Filter set to ‘F’, otherwise the Order Cancel Request message will be rejected. Lockout will apply to all new orders and cancel/replace orders for the EFID (and Symbol (55) or CustomGroupId (7699), if specified), regardless of other filtering in the MassCancelInst.
  • 4th Character : Instrument Type Filter
  • B=(Default) Cancel both Simple and Complex orders
  • S=Cancel Simple orders only
  • C=Cancel Complex orders only
  • 5th Character : GTC/GTD Order Filter
  • C=(Default) Cancel GTC/GTD orders
  • P=Don’t cancel (preserve) GTC/GTD orders
  • If Symbol (55) is specified, it must contain a valid Risk Root, not the Cboe symbol name. By specifying tag 55, cancels will be limited to a single Risk Root.
  • A self-imposed lockout can be released using the RiskReset (7692) field of the New Order Single or New Order Multileg message. For more information, refer to the Cboe Titanium U.S. Options Risk Management Specification.
7695MassCancelIDN
  • Mass Cancel ID chosen by user. If the populated value ends in a space the message will be rejected.
  • This field will be echoed back in the resulting order execution report when a single execution report Acknowledgement Style is selected. Mass Cancel requests containing a currently outstanding MassCancelID will be rejected.
55SymbolNRisk Root symbol (upper case). Limits cancellations to only orders with the specified Risk Root.
  • 7698
  • Repeating Group
CustomGroupIDCntN
  • Number of repeating CustomGroupIDs (7699) included in this message.
  • Integer 0-10
7699CustomGroupIDN
  • CustomGroupID (7699) to cancel. Only present if CustomGroupIDCnt (7698) is non-zero.
  • Number of repeating groups must match number specified in CustomGroupIDCnt (7698).
25017MatchingUnitN
  • Matching unit number the Purge Request message will be sent toward. If blank or 0, the Purge Request message will be sent to all units. Incompatible with symbol-level purges, specifying both symbol and MatchingUnit (25017) will cause the Purge Request message to be rejected.
  • If both MassCancelInst (7700) lockout instruction=L and MatchingUnit (25017) are specified, a lockout will occur and will impact only the specified matching unit. Subsequent risk resets will clear risk locks on all units.
Standard Message TrailerY
Cboe Titanium U.S. Options FIX Specification - Purge Request Message Fields | Cboe