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.

Table 1. Complex Quote Execution Message Fields
FieldOffsetLengthData TypeDescription
StartOfMessage02BinaryMust be 0xBA 0xBA.
MessageLength22Binary
  • Number of bytes for the message, including this field but not including the two bytes for the
  • StartOfMessage field.
MessageType41Binary0x87
MatchingUnit51BinaryThe matching unit which created this message. Matching units in BOE correspond to matching units on Multicast PITCH.
SequenceNumber64BinaryThe sequence number for this message. Distinct per matching unit.
TransactionTime108DateTimeThe time the event occurred in the Cboe Matching Engine (not the time the message was sent).
QuoteUpdateID1816TextEchoed back from the most recent Complex Quote Update request for this quote.
OrderID348BinaryOrder ID assigned by the matching engine
ExecID428Binary
  • Corresponds to ExecID (17) in Cboe FIX.
  • Execution ID. Unique across all matching units on a given day. Note: ExecIDs will be represented on FIXDROP ports as nine character, base 36 ASCII. Leading zeros should be added if the converted base 36 value is shorter than nine characters.
Table 2. Example Conversion
DecimalBase 36
28294005440239A1234B567
76335905726621R248BC23H
72855722818709AP05V2Z
Symbol506AlphanumericCboe native identifier
ClearingFirm564AlphaEchoed back from the original quote
LastShares604Binary
  • Corresponds to LastShares (32) in Cboe FIX.
  • Number of contracts being traded.
LastPx648Binary Price
  • Corresponds to LastPx (31) in Cboe FIX.
  • Price of this fill.
LeavesQty724Binary
  • Corresponds to LeavesQty (151) in Cboe FIX.
  • Quantity still open for further execution. If zero, the order is complete.
ContraTrader764AlphanumericDisplays the EFID (ClearingFirm) of the contra side firm.
ContraCapacity801AlphanumericCapacity of the contra for this execution.
Side811Alphanumeric
  • 1=Buy
  • 2=Sell
BaseLiquidityIndicator821Alpha
  • Indicates whether the trade added or removed liquidity.
  • A=Added Liquidity
  • R=Removed Liquidity
  • C=Auction/Uncrossing
SubLiquidityIndicator831Alpha
  • Cboe may add additional values without notice. Members must gracefully ignore unknown values.
  • ASCII NUL ( 0x00) = No additional information
  • b=AIM
  • Q=QCC
  • s=SAM
FeeCode842AlphanumericCorresponds to FeeCode (9882) in Cboe FIX.
MarketingFeeCode862Alphanumeric
  • Corresponds to MarketingFeeCode (5937) in Cboe FIX.
  • EDGX Only. Will be blank on other Exchanges.
MultilegReportingType881Alphanumeric
  • Corresponds to MultilegReportingType(442) in Cboe FIX.
  • Indicates the type of Complex Order Execution message
  • 2=Individual leg of mutil-leg instrument
  • 3=Entire multi-leg instrument package.
  • 4=Last individual leg of a multi-leg instrument.
SecondaryExecID898Binary
  • If SecondaryExecID is the same as ExecID, the fill represents a complex execution for which the associated single leg fills will follow.
  • The value of SecondaryExecID for single leg fills associated with a complex execution will contain the ExecID value associated with the complex execution Complex Quote Execution Message.
Table 3. Complex Quote Execution Message Example
Field NameHexadecimalNotes
StartOfMessageBA BAStart of message bytes.
MessageLength61 0097 bytes
MessageType87Complex Quote Execution
MatchingUnit03Matching Unit 3
SequenceNumber64 00 00 00Sequence number 100
TransactionTimeE0 FA 20 F7 36 71 F8 111,294,909,373,757,324,000
QuoteUpdateID41 42 43 31 32 33 00 00 00 00 00 00 00 00 00 00ABC123
OrderID05 10 1E B7 5E 39 2F 02171WC1000005 (base 36)
ExecID01 F0 B7 D9 71 21 00 00D19800001 (base 36)
Symbol54 30 36 69 70 41T06ipA
ClearingFirm41 42 43 44ABCD
LastShares64 00 00 00100 contracts
LastPx70 17 00 00 00 00 00 000.60
LeavesQty00 00 00 000 (order done)
ContraTrader41 42 43 44ABCD
ContraCapacity43C=Customer
Side311=Buy
BaseLiquidity Indicator41A=Added
SubLiquidityIndicator4EN=Normal
FeeCode41 42AB
MarketingFeeCode0000(blank)
MultilegReportingType323=Entire multi-leg instrument package
SecondaryExecID01 F0 B7 D9 71 21 00 00Same as ExecID
Cboe Titanium U.S. Options BOE Specification - Complex Quote Execution Message Fields (C1 Only) | Cboe