Quote Update Message Fields

Request to enter or update one or more quotes. Quote Update message requests will be forwarded in their entirety to the matching engine instance as a single message and will be applied in a single transaction. Optional bitfields are not supported for any response messages for quotes. The system will only accept Quote Update message requests entered via a BOE Bulk Quoting port that are marked with the Capacity = M (Market Maker). A valid registered Market-Maker account value must be provided in the ClearingAccount field or the system will respond with the QuoteUpdateRejected message containing the QuoteRejectReason = C (InvalidClearing).

All options in a single Quote Update message must trade under a single risk root. Requests which include options trading under multiple risk roots will be rejected in their entirety.

A quote is unique per port, EFID, and side. You may quote multiple price levels of depth using either multiple EFIDs on a single port or with the same EFID on multiple ports.

Quote requests are one-sided. To delete a quote, send an update with a zero price and/or size.

Quotes may utilize simple options only; complex options quotes may not be submitted.

By default quotes are valid for a given trading date, which may span multiple calendar dates in the event of a holiday. Quotes may be cancelled at the end of a given trading segment rather than carried forward to the next segment by updating the Multi-Segment Holiday Day Order Handling Port attribute.

Quotes may be marked post only. Quotes that cross the NBBO or displayed Cboe book will be accepted if within a configurable buffer range through the NBBO or displayed Cboe book. The buffer is set to 5% with a minimum of $0.05 and a maximum of $1.00. If a quote would be displayed at a price that locks the NBBO, it will be accepted/slid or rejected based on the PostingInstruction on the quote. Quotes can be opted out of the price-sliding functionality by specifying Book Only, No Slide or Post Only, No Slide in the PostingInstruction field on the quote message.

On BZX only, quote prices at non-displayable increments are permitted. Prices will be adjusted to the most aggressive non-locking price. Quotes may work (but not display) to lock an away market. Once posted, quotes act as a Display Price Sliding order. C2 and EDGX quotes act as Price Adjust orders.

If a quote modification is rejected, the resting quote being modified is also cancelled.

Executions, unsolicited cancels, and unsolicited modification response messages from the exchange are different from those for orders. They are optimized for efficiency and contain some different data elements (e.g., QuoteUpdateID) than the respective messages for orders.

The PreventMatch field may not be specified on the Quote Update message and Match Trade Prevention is only available if defaulted at the port level. For Bulk Quoting ports, only Cancel Newest, Cancel Oldest, or Cancel Both are permitted. If a Bulk Quoting port is not configured with both a default MTP Modifier and Unique ID Level, Match Trade Prevention will be disabled.

The Quote Execution message will be the only Quote related message available over ODROP and FIXDROP.

Quote Update requests sent without any changes to the currently resting quote (no change quotes) will result in a loss of priority and will be reported back with a QuoteResult = L(Modified; loss of priority) in the Quote Update Acknowledgement message.

  • Time priority will be maintained on a quote modification if there is a decrease in OrderQty with no other changes.
  • A quote modification decreasing size and changes to any other attribute will lose priority.
  • A quote modification with no change to any attribute will lose priority.
    Table 1. Quote Update Message Fields
    FieldOffsetLengthData TypeDescription
    StartOfMessage02BinaryMust be 0xBA 0xBA.
    MessageLength22BinaryNumber of bytes for the message, including this field but not including the two bytes for the StartOfMessage field.
    MessageType41Binary0x55
    MatchingUnit51BinaryAlways 0 for inbound (Member to Cboe) messages.
    SequenceNumber64BinaryThe sequence number for this message.
    QuoteUpdateID1016Text
    • ID chosen by the client. Characters in the ASCII range 33-126 are allowed, except for comma, semicolon, pipe, the ‘at’ symbol and double quotes.
    • Responses, both to the Quote Update and any Quote Executions, Quote Cancellations, and Quote Modification messages will include this identifier.
    • Note: Cboe strongly recommends that QuoteUpdateID be kept unique for a trading day, and CAT reporting requirements mandate that QuoteUpdateID is unique for each Quote Update message sent to the Exchange.
    ClearingFirm264AlphaEFID that will clear the trade. If left blank, the port attribute value of ‘Default EFID’ is used.
    ClearingAccount304Alpha
    • Corresponds to OnBehalfOfSubID (116) and ClearingAccount (440) in Cboe FIX.
    • See List of Optional Fields for additional information.
    CMTANumber344Binary
    Account3816Text
    CustomGroupID542BinaryOptional. Used to group orders for use in Purge Orders. Set to 0 if functionality not needed.
    Capacity561Alpha
    Reserved5715BinaryReserved for future expansion. To maintain forward compatibility, fill with 0.
    SendTime728DateTime
    • All Market Maker (Capacity=M) quote updates must populate with a timestamp representing the UTC time when the quote was sent by the Market Maker to the exchange. This timestamp is required to be at least in millisecond granularity but the CAT NMS Plan requires that Industry Members report the SendTime with the finest increment that is supported by the Industry Member. The SendTime is required in order to report Market Maker quotes to the CAT in accordance with the CAT NMS Plan.
    • Market Makers are required to provide a valid, non-zero value for this field for any Quote Update messages entered via a BOE Bulk Quoting port. A zero value for SendTime will result in a rejection of the entire Quote Update message.
    PostingInstruction801Text
    • P=Post Only (do not remove liquidity)
    • B=Book Only (allow removal of liquidity, available for Market Makers only)
    • N=Book Only, No Slide
    • R=Post Only, No Slide (do not remove liquidity)
    • I=Book Only IOC
    • SessionEligibility
    • (C1 only)
    811Text
    • R=Regular Trading Hours (RTH) only
    • A=Participates in both Global and Regular Trading Hours. Also allows for participation in Curb Trading Session.
    • B=Participates in both RTH and Curb Session.
    • Note market and stop/stop limit orders are not supported during GTH and Curb sessions.
    QuoteCnt821BinaryNumber of repeating groups included in this quote update. Allowed values are 1-20.
    Repeating Groups of …
    Symbol6AlphanumericCboe native identifier
    Side1Text
    • 1=Buy
    • 2=Sell
    OpenClose1Text
    Price8Binary Price
    • Limit price.
    • To cancel an existing quote, specify a size of 0.
    OrderQty4Binary
    • Order quantity. System limit is 999,999 contracts.
    • To cancel an existing quote, specify a size of 0.
    Reserved12BinaryReserved for future expansion. To maintain forward compatibility, fill with 0.
Table 2. Quote Update Message Fields
FieldOffsetLengthData TypeDescription
StartOfMessage02BinaryMust be 0xBA 0xBA.
MessageLength22BinaryNumber of bytes for the message, including this field but not including the two bytes for the StartOfMessage field.
MessageType41Binary 0x55
MatchingUnit51BinaryAlways 0 for inbound (Member to Cboe) messages.
SequenceNumber64BinaryThe sequence number for this message.
QuoteUpdateID1016Text
  • ID chosen by the client. Characters in the ASCII range 33-126 are allowed, except for comma, semicolon, pipe, the ‘at’ symbol and double quotes.
  • Responses, both to the Quote Update and any Quote Executions, Quote Cancellations, and Quote Modification messages will include this identifier.
  • Note: Cboe strongly recommends that QuoteUpdateID be kept unique for a trading day, and CAT reporting requirements mandate that QuoteUpdateID is unique for each quote submitted to the exchange.
ClearingFirm264AlphaEFID that will clear the trade. If left blank, the port attribute value of ‘Default EFID’ is used.
ClearingAccount304Alpha
  • Corresponds to OnBehalfOfSubID (116) and ClearingAccount (440) in Cboe FIX.
  • See List of Optional Fields for additional information.
CMTANumber344Binary
Account3816Text
CustomGroupID542BinaryOptional. Used to group orders for use in Purge Orders. Set to 0 if functionality not needed.
Capacity561Alpha
  • Corresponds to OrderCapacity (47) in Cboe FIX.
  • Value must be set to M.
Reserved5715BinaryReserved for future expansion. To maintain forward compatibility, fill with 0.
SendTime728DateTime
  • All Market Maker (Capacity=M) quote updates must populate with a timestamp representing the GMT time when the quote was sent by the Market Maker to the exchange. This timestamp is required to be at least in millisecond granularity but the CAT NMS Plan requires that Industry Members report the SendTime with the finest increment that is supported by the Industry Member. The SendTime is required in order to report Market Maker quotes to the CAT in accordance with the CAT NMS Plan.
  • Market Makers are required to provide a valid, non-zero value for this field for any Quote Update messages entered via a BOE Bulk Quoting port. A zero value for SendTime will result in a rejection of the entire Quote Update message.
PostingInstruction801Text
  • P = Post Only (do not remove liquidity)
  • B = Book Only (allow removal of liquidity, available for Market Makers only)
  • N = Book Only, No Slide
  • R = Post Only, No Slide (do not remove liquidity)
  • I = Book Only IOC
  • SessionEligibility
  • (C1 only)
811Text
  • R = Regular Trading Hours (RTH) only
  • A = Participates in both Global and Regular Trading Hours. Also allows for participation in Curb Trading Session.
  • B = Participates in both RTH and Curb Session.
  • Note market and stop/stop limit orders are not supported during GTH and Curb sessions.
QuoteCnt821BinaryNumber of repeating groups included in this quote update. Allowed values are 1-20.
Repeating Groups of …
Symbol6AlphanumericCboe native identifier
Side1Text
  • 1 = Buy
  • 2 = Sell
OpenClose1Text
Price8Binary Price
  • Limit price.
  • To cancel an existing quote, specify a price of 0.
OrderQty4Binary
  • Order quantity. System limit is 999,999 contracts.
  • To cancel an existing quote, specify a size of 0.
Reserved12BinaryReserved for future expansion. To maintain forward compatibility, fill with 0.
Table 3. Quote Update Message Example
Field NameHexadecimalNotes
StartOfMessage BA BAStart of message bytes.
MessageLength 91 00145 bytes
MessageType 55 Quote Update
MatchingUnit 00Always 0 for inbound messages
SequenceNumber 64 00 00 00Sequence number 100
QuoteUpdateID 41 42 43 31 32 33 00 00 00 00 00 00 00 00 00 00ABC123
ClearingFirm 41 42 43 44ABCD
ClearingAccount 57 58 59 5AWXYZ
CMTANumber 31 32 33 341234
Account 44 45 46 47 41 42 43 44 00 00 00 00 00 00 00 00DEFGABCD
CustomGroupID C8 00200
Capacity 4D M = Market Maker
Reserved 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00Reserved
SendTime E0 FA 20 F7 36 71 F8 111,294,909,373,757,324,000
PostingInstruction 50P (Post Only)
SessionEligibility 52R (RTH Only)
QuoteCnt 02Two Quotes
Symbol 30 30 36 69 70 41006ipA
Side 31 1 = Buy
OpenClose 4F O = Open
Price C8 32 00 00 00 00 00 001.30
OrderQty 64 00 00 00100 contracts
Reserved 00 00 00 00 00 00 00 00 00 00 00 00Reserved
Symbol 30 30 34 63 53 73004cSs
Side 32 2 = Sell
OpenClose 4F O = Open
Price AC 07 01 00 00 00 00 006.75
OrderQty F4 01 00 00500 contracts
Reserved 00 00 00 00 00 00 00 00 00 00 00 00Reserved
Cboe Titanium U.S. Options BOE Specification - Quote Update Message Fields | Cboe