Trade Cancel/Correct FIX Drop Clearing Edit Message Fields

Users of FIX Drop ports may opt-in to receive post-trade clearing edits via UCC messages via two different methods. These messages communicate changes that have been made using the Cboe Titanium U.S. Options Clearing Editor Specification. This feature requires the Send Clearing Edits port attribute to be set to 1 or 2.

The wave method message structure (Send Clearing Edits = 1) contains repeating groups of size and clearing information for each trade that communicate the previous and current trade details. Note that a single trade may be allocated into smaller trade records that total the original trade size. For example, a single trade for 10 contracts may be allocated into five smaller trade records of two contracts each where each smaller trade has a different CMTA. In this example, there would be six repeating groups. The first group will contain details of the original trade and associated clearing information and the next five would communicate the split of the original trade into five smaller pieces with different clearing information on each record. This is demonstrated below using ListSeqNo (67), WaveNo (105), AllocID (70), AllocShares (80), and AllocClearingFirm (25008).

Example: Single trade split into five smaller trade records with updated CMTA values:

ListSeqNoWaveNoAllocIDAllocSharesAllocClearingFirmComments
10010123Original trade details
2112123Allocation 1
3122456Allocation 2
4132789Allocation 3
5142321Allocation 4
6152654Allocation 5

Note the when using Send Clearing Edits set to 1 a FIX Drop port will continue to receive all messages for a given trade even if some or all of the trade has been allocated to a different EFID or PartyID (448). This also means that if a trade was originally assigned a given EFID and then that trade was re-allocated to a new EFID or set of EFIDs, then messages are not sent to the FIX Drop ports associated with the new EFIDs after the re-allocation. Using Send Clearing Edits set to 2 allows for cleaner handling of allocations that involve EFID changes.

Table 1. Trade Cancel/Correct FIX Drop Clearing Edit Message Fields
TagField NameDescription
35Standard Message HeaderMsgType= UCC
20ExecTransType5=Clearing Edit
17ExecIDDay-unique ID of execution message. Will be appended with '.B' or '.S' when opted-in by customers.
  • 78
  • Repeating
  • Group
NoAllocsNumber of allocation groups (repeating group)
67ListSeqNoItem number. Starts at ‘1’ and increments upwards.
105WaveNo
  • Trade record identifier. A ‘0’ indicates original trade and numbers greater than zero indicate revisions.
  • Note that it is possible for a trade to be edited multiple times.
70AllocIDClearing edit revision number. There will be multiple revisions contained under the same WaveNo if a single trade is allocated into multiple trade records.
25007AllocExecRefIDThe ExecID of this allocation/trade. Only present when WaveNo = 0 and AllocID = 0 unless a trade is being allocated/split into multiple smaller pieces. In this case, the allocations will all contain this field, which provides the new ExecID for each allocation.
80AllocSharesContracts allocated to this trade record
77OpenCloseOpenClose of the trade record
25008AllocClearingFirmCMTA number of the trade record (if present)
1AccountAccount (1) for the trade record (if present)
448PartyIDEFID of the trade record
523PartySubIDClearingAccount (440) for the trade record (if present)
9324ClearingOptionalDataClearingOptionalData (9324) for the trade record (if present)
25009AllocClOrdIDClOrdID of the original trade being edited.
47Capacity (Rule80A)Capacity of the order trade record
37OrderIdOrderId of the original trade being edited.
55SymbolCopied from original trade being edited.
200MaturityMonthCopied from original trade being edited.
205MaturityDayCopied from original trade being edited.
201PutOrCallCopied from original trade being edited.
202StrikePriceCopied from original trade being edited.
54SideCopied from original trade being edited.
9730TradeLiquidityIndicatorCopied from original trade being edited.
128DeliverToCompIdCopied from Tag 115 (OnBehalfOfCompId).
32LastSharesQuantity of contracts on the original trade being edited.
31LastPxPrice on the original trade being edited.
42OrigTimeGMT date-time of original trade.
60TransactTimeGMT date-time of cancel/correct.
440ClearingAccount(if present)
439ClearingFirm(if present)
11ClOrdIDCopied from the original trade being edited.
19ExecRefIDThe ExecID (17) of the trade that is being edited. ExecID from the original trade will be included.

Users may also set the Send Clearing Edits port attribute to a value of 2, which will result in cancel + new messaging when changes occur in the clearing editor, including allocations/splits that involve EFID changes. This setting eliminates the wave methodology that is described above and replaces it with individual cancel + new messages. When a clearing edit occurs, the original trade is cancelled with a message containing ExecTransType (20) = 6 and TradeAllocation (25011) = 0. Same size or smaller size pieces are likely to follow (assuming the trade has not been completely allocated away from the FIX Drop user to other EFIDs) with ExecTransType (20) = 6 and TradeAllocation (25011) = 1.

ExecTransTypeTradeAllocationMessage Type
60Cancel/Bust
61Edited trade
Table 2. Trade Cancel/Correct FIX Drop Clearing Edit Message Fields
TagField NameDescription
35Standard Message HeaderMsgType= UCC
20ExecTransType6=Clearing Edit Allocation
17ExecIDDay-unique id of execution message for this UCC message. Will be appended with '.B' or '.S' when opted-in by customers.
37OrderIdOrderId of the original trade being edited.
55SymbolCopied from original trade being edited.
200MaturityMonthCopied from original trade being edited.
205MaturityDayCopied from original trade being edited.
201PutOrCallCopied from original trade being edited.
202StrikePriceCopied from original trade being edited.
54SideCopied from original trade being edited.
9730TradeLiquidityIndicatorCopied from original trade being edited.
128DeliverToCompIdThe EFID on the trade being cancelled or the new EFID on the edited trade(s).
32LastSharesQuantity of contracts on the original trade being cancelled or quantity of contracts on the edited trade(s).
31LastPxPrice on the original trade being cancelled or price of the edited trade(s).
42OrigTimeGMT date-time of original trade.
60TransactTimeGMT date-time of allocation.
77OpenCloseThe open/close indicator on the trade being cancelled or the new open/close indicator on the edited trade(s).
1AccountThe Account on the trade being cancelled or the new Account on the edited trade(s).
9324ClearingOptionalDataThe ClearingOptionalData on the trade being cancelled or the new ClearingOptionalData on the edited trade(s).
47Rule80A (OrderCapacity)The capacity on the trade being cancelled or the new capacity on the edited trade(s).
440ClearingAccountThe ClearingAccount on the trade being cancelled or the new ClearingAccount on the edited trade(s).
439ClearingFirmThe CMTA on the trade being cancelled or the new CMTA on the edited trade(s).
22021
  • TerminalOperatorId
  • (C1 only)
  • The TerminalOperatorId on the trade being cancelled or the new TerminalOperatorId on the edited trade(s).
  • Requires the "Send Terminal Info" port attribute to be enabled.
22022
  • AdditionalClientInfo
  • (C1 only)
  • The AdditionalClientInfo on the trade being cancelled or the new AdditionalClientInfo on the edited trade(s).
  • Requires the "Send Terminal Info" port attribute to be enabled.
11ClOrdIDCopied from the original trade being edited.
19ExecRefIDExecID (17) of the trade that is being cancelled/edited. The ExecID from the most recent trade correction will be included, if applicable.
7694ContraCapacityThe capacity of the opposite side of the trade. Requires Send ContraCapacity port attribute to be enabled.
25011TradeAllocation
  • A zero value will be sent to indicate the trade noted in ExecRefID (19) is being cancelled. A value of ‘1’ indicates a new trade allocation with ExecRefID (19) set to the value of the new ExecID for that allocation.
  • 0=Bust
  • 1=New trade allocation due to clearing edit
9324ClearingOptionalData

Up to 16 characters in ASCII range 33-126 are allowed, except for comma, semicolon and pipe characters. Value will be reflected back on Execution Reports including FIX Drop. FIX Port attribute Send ClearingOptionalData set to 'Yes' is required to pass value to clearing.

Cboe Titanium U.S. Options FIX Specification - Trade Cancel/Correct FIX Drop Clearing Edit Message Fields | Cboe