Complex Quote Execution Message Fields (C1 Only)
A Complex Quote Execution message is used to indicate an execution has occurred on a resting complex quote (i.e., quote introduced to the exchange using the Complex Quote Update message).
The execution of a complex quote will produce multiple Complex Quote Execution messages. The first will be the package-level fill having MultilegReportingType = 3 (entire multi-leg instrument package) and the complex symbol in the Symbol field. This will be followed by the leg execution messages having the leg symbol in the Symbol field and MultiLegReportingType = 2 (individual leg of mutil-leg instrument) or (for the last fill of the execution) MultiLegReportingType = 4 (last individual leg of a multi-leg instrument).
This message may be expanded in length in the future with new fields added to the end. To maintain forward compatibility, be prepared to receive a message longer than the documented length and to gracefully ignore those extra fields.
| Field | Offset | Length | Data Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| StartOfMessage | 0 | 2 | Binary | Must be 0xBA 0xBA. | ||||||||
| MessageLength | 2 | 2 | Binary |
| ||||||||
| MessageType | 4 | 1 | Binary | 0x87 | ||||||||
| MatchingUnit | 5 | 1 | Binary | The matching unit which created this message. Matching units in BOE correspond to matching units on Multicast PITCH. | ||||||||
| SequenceNumber | 6 | 4 | Binary | The sequence number for this message. Distinct per matching unit. | ||||||||
| TransactionTime | 10 | 8 | DateTime | The time the event occurred in the Cboe Matching Engine (not the time the message was sent). | ||||||||
| QuoteUpdateID | 18 | 16 | Text | Echoed back from the most recent Complex Quote Update request for this quote. | ||||||||
| OrderID | 34 | 8 | Binary | Order ID assigned by the matching engine | ||||||||
| ExecID | 42 | 8 | Binary |
| ||||||||
| Symbol | 50 | 6 | Alphanumeric | Cboe native identifier | ||||||||
| ClearingFirm | 56 | 4 | Alpha | Echoed back from the original quote | ||||||||
| LastShares | 60 | 4 | Binary |
| ||||||||
| LastPx | 64 | 8 | Binary Price |
| ||||||||
| LeavesQty | 72 | 4 | Binary |
| ||||||||
| ContraTrader | 76 | 4 | Alphanumeric | Displays the EFID (ClearingFirm) of the contra side firm. | ||||||||
| ContraCapacity | 80 | 1 | Alphanumeric | Capacity of the contra for this execution. | ||||||||
| Side | 81 | 1 | Alphanumeric |
| ||||||||
| BaseLiquidityIndicator | 82 | 1 | Alpha |
| ||||||||
| SubLiquidityIndicator | 83 | 1 | Alpha |
| ||||||||
| FeeCode | 84 | 2 | Alphanumeric | Corresponds to FeeCode (9882) in Cboe FIX. | ||||||||
| MarketingFeeCode | 86 | 2 | Alphanumeric |
| ||||||||
| MultilegReportingType | 88 | 1 | Alphanumeric |
| ||||||||
| SecondaryExecID | 89 | 8 | Binary |
|
| Field Name | Hexadecimal | Notes |
|---|---|---|
| StartOfMessage | BA BA | Start of message bytes. |
| MessageLength | 61 00 | 97 bytes |
| MessageType | 87 | Complex Quote Execution |
| MatchingUnit | 03 | Matching Unit 3 |
| SequenceNumber | 64 00 00 00 | Sequence number 100 |
| TransactionTime | E0 FA 20 F7 36 71 F8 11 | 1,294,909,373,757,324,000 |
| QuoteUpdateID | 41 42 43 31 32 33 00 00 00 00 00 00 00 00 00 00 | ABC123 |
| OrderID | 05 10 1E B7 5E 39 2F 02 | 171WC1000005 (base 36) |
| ExecID | 01 F0 B7 D9 71 21 00 00 | D19800001 (base 36) |
| Symbol | 54 30 36 69 70 41 | T06ipA |
| ClearingFirm | 41 42 43 44 | ABCD |
| LastShares | 64 00 00 00 | 100 contracts |
| LastPx | 70 17 00 00 00 00 00 00 | 0.60 |
| LeavesQty | 00 00 00 00 | 0 (order done) |
| ContraTrader | 41 42 43 44 | ABCD |
| ContraCapacity | 43 | C=Customer |
| Side | 31 | 1=Buy |
| BaseLiquidity Indicator | 41 | A=Added |
| SubLiquidityIndicator | 4E | N=Normal |
| FeeCode | 41 42 | AB |
| MarketingFeeCode | 0000 | (blank) |
| MultilegReportingType | 32 | 3=Entire multi-leg instrument package |
| SecondaryExecID | 01 F0 B7 D9 71 21 00 00 | Same as ExecID |





