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:
| ListSeqNo | WaveNo | AllocID | AllocShares | AllocClearingFirm | Comments |
|---|---|---|---|---|---|
| 1 | 0 | 0 | 10 | 123 | Original trade details |
| 2 | 1 | 1 | 2 | 123 | Allocation 1 |
| 3 | 1 | 2 | 2 | 456 | Allocation 2 |
| 4 | 1 | 3 | 2 | 789 | Allocation 3 |
| 5 | 1 | 4 | 2 | 321 | Allocation 4 |
| 6 | 1 | 5 | 2 | 654 | Allocation 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.
| Tag | Field Name | Description | |
|---|---|---|---|
| 35 | Standard Message Header | MsgType= UCC | |
| 20 | ExecTransType | 5=Clearing Edit | |
| 17 | ExecID | Day-unique ID of execution message. Will be appended with '.B' or '.S' when opted-in by customers. | |
| NoAllocs | Number of allocation groups (repeating group) | |
| ➔ | 67 | ListSeqNo | Item number. Starts at ‘1’ and increments upwards. |
| ➔ | 105 | WaveNo |
|
| ➔ | 70 | AllocID | Clearing edit revision number. There will be multiple revisions contained under the same WaveNo if a single trade is allocated into multiple trade records. |
| ➔ | 25007 | AllocExecRefID | The 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. |
| ➔ | 80 | AllocShares | Contracts allocated to this trade record |
| ➔ | 77 | OpenClose | OpenClose of the trade record |
| ➔ | 25008 | AllocClearingFirm | CMTA number of the trade record (if present) |
| ➔ | 1 | Account | Account (1) for the trade record (if present) |
| ➔ | 448 | PartyID | EFID of the trade record |
| ➔ | 523 | PartySubID | ClearingAccount (440) for the trade record (if present) |
| ➔ | 9324 | ClearingOptionalData | ClearingOptionalData (9324) for the trade record (if present) |
| ➔ | 25009 | AllocClOrdID | ClOrdID of the original trade being edited. |
| ➔ | 47 | Capacity (Rule80A) | Capacity of the order trade record |
| 37 | OrderId | OrderId of the original trade being edited. | |
| 55 | Symbol | Copied from original trade being edited. | |
| 200 | MaturityMonth | Copied from original trade being edited. | |
| 205 | MaturityDay | Copied from original trade being edited. | |
| 201 | PutOrCall | Copied from original trade being edited. | |
| 202 | StrikePrice | Copied from original trade being edited. | |
| 54 | Side | Copied from original trade being edited. | |
| 9730 | TradeLiquidityIndicator | Copied from original trade being edited. | |
| 128 | DeliverToCompId | Copied from Tag 115 (OnBehalfOfCompId). | |
| 32 | LastShares | Quantity of contracts on the original trade being edited. | |
| 31 | LastPx | Price on the original trade being edited. | |
| 42 | OrigTime | GMT date-time of original trade. | |
| 60 | TransactTime | GMT date-time of cancel/correct. | |
| 440 | ClearingAccount | (if present) | |
| 439 | ClearingFirm | (if present) | |
| 11 | ClOrdID | Copied from the original trade being edited. | |
| 19 | ExecRefID | The 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.
| ExecTransType | TradeAllocation | Message Type |
|---|---|---|
| 6 | 0 | Cancel/Bust |
| 6 | 1 | Edited trade |
| Tag | Field Name | Description |
|---|---|---|
| 35 | Standard Message Header | MsgType= UCC |
| 20 | ExecTransType | 6=Clearing Edit Allocation |
| 17 | ExecID | Day-unique id of execution message for this UCC message. Will be appended with '.B' or '.S' when opted-in by customers. |
| 37 | OrderId | OrderId of the original trade being edited. |
| 55 | Symbol | Copied from original trade being edited. |
| 200 | MaturityMonth | Copied from original trade being edited. |
| 205 | MaturityDay | Copied from original trade being edited. |
| 201 | PutOrCall | Copied from original trade being edited. |
| 202 | StrikePrice | Copied from original trade being edited. |
| 54 | Side | Copied from original trade being edited. |
| 9730 | TradeLiquidityIndicator | Copied from original trade being edited. |
| 128 | DeliverToCompId | The EFID on the trade being cancelled or the new EFID on the edited trade(s). |
| 32 | LastShares | Quantity of contracts on the original trade being cancelled or quantity of contracts on the edited trade(s). |
| 31 | LastPx | Price on the original trade being cancelled or price of the edited trade(s). |
| 42 | OrigTime | GMT date-time of original trade. |
| 60 | TransactTime | GMT date-time of allocation. |
| 77 | OpenClose | The open/close indicator on the trade being cancelled or the new open/close indicator on the edited trade(s). |
| 1 | Account | The Account on the trade being cancelled or the new Account on the edited trade(s). |
| 9324 | ClearingOptionalData | The ClearingOptionalData on the trade being cancelled or the new ClearingOptionalData on the edited trade(s). |
| 47 | Rule80A (OrderCapacity) | The capacity on the trade being cancelled or the new capacity on the edited trade(s). |
| 440 | ClearingAccount | The ClearingAccount on the trade being cancelled or the new ClearingAccount on the edited trade(s). |
| 439 | ClearingFirm | The CMTA on the trade being cancelled or the new CMTA on the edited trade(s). |
| 22021 |
|
|
| 22022 |
|
|
| 11 | ClOrdID | Copied from the original trade being edited. |
| 19 | ExecRefID | ExecID (17) of the trade that is being cancelled/edited. The ExecID from the most recent trade correction will be included, if applicable. |
| 7694 | ContraCapacity | The capacity of the opposite side of the trade. Requires Send ContraCapacity port attribute to be enabled. |
| 25011 | TradeAllocation |
|
| 9324 | ClearingOptionalData | 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. |





