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 Field Offset Length Data Type Description StartOfMessage 0 2 Binary Must be 0xBA 0xBA.MessageLength 2 2 Binary Number of bytes for the message, including this field but not including the two bytes for the StartOfMessage field. MessageType 4 1 Binary 0x55MatchingUnit 5 1 Binary Always 0 for inbound (Member to Cboe) messages. SequenceNumber 6 4 Binary The sequence number for this message. QuoteUpdateID 10 16 Text - 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.
ClearingFirm 26 4 Alpha EFID that will clear the trade. If left blank, the port attribute value of ‘Default EFID’ is used. ClearingAccount 30 4 Alpha - Corresponds to OnBehalfOfSubID (116) and ClearingAccount (440) in Cboe FIX.
- See List of Optional Fields for additional information.
CMTANumber 34 4 Binary - Corresponds to ClearingFirm (439) in Cboe FIX.
- See List of Optional Fields for additional information.
Account 38 16 Text - Corresponds to Account (1) in Cboe FIX.
- See List of Optional Fields for additional information.
CustomGroupID 54 2 Binary Optional. Used to group orders for use in Purge Orders. Set to 0 if functionality not needed. Capacity 56 1 Alpha - Corresponds to OrderCapacity (47) in Cboe FIX.
- See List of Optional Fields for additional information.
Reserved 57 15 Binary Reserved for future expansion. To maintain forward compatibility, fill with 0. SendTime 72 8 DateTime - 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.
PostingInstruction 80 1 Text - 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)
81 1 Text - 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.
QuoteCnt 82 1 Binary Number of repeating groups included in this quote update. Allowed values are 1-20. Repeating Groups of … Symbol 6 Alphanumeric Cboe native identifier Side 1 Text - 1=Buy
- 2=Sell
OpenClose 1 Text - Corresponds to OpenClose (77) in Cboe FIX.
- See List of Optional Fields for additional information.
Price 8 Binary Price - Limit price.
- To cancel an existing quote, specify a size of 0.
OrderQty 4 Binary - Order quantity. System limit is 999,999 contracts.
- To cancel an existing quote, specify a size of 0.
Reserved 12 Binary Reserved for future expansion. To maintain forward compatibility, fill with 0.
| Field | Offset | Length | Data Type | Description |
|---|---|---|---|---|
| StartOfMessage | 0 | 2 | Binary | Must be 0xBA 0xBA. |
| MessageLength | 2 | 2 | Binary | Number of bytes for the message, including this field but not including the two bytes for the StartOfMessage field. |
| MessageType | 4 | 1 | Binary | 0x55 |
| MatchingUnit | 5 | 1 | Binary | Always 0 for inbound (Member to Cboe) messages. |
| SequenceNumber | 6 | 4 | Binary | The sequence number for this message. |
| QuoteUpdateID | 10 | 16 | Text |
|
| ClearingFirm | 26 | 4 | Alpha | EFID that will clear the trade. If left blank, the port attribute value of ‘Default EFID’ is used. |
| ClearingAccount | 30 | 4 | Alpha |
|
| CMTANumber | 34 | 4 | Binary |
|
| Account | 38 | 16 | Text |
|
| CustomGroupID | 54 | 2 | Binary | Optional. Used to group orders for use in Purge Orders. Set to 0 if functionality not needed. |
| Capacity | 56 | 1 | Alpha |
|
| Reserved | 57 | 15 | Binary | Reserved for future expansion. To maintain forward compatibility, fill with 0. |
| SendTime | 72 | 8 | DateTime |
|
| PostingInstruction | 80 | 1 | Text |
|
| 81 | 1 | Text |
|
| QuoteCnt | 82 | 1 | Binary | Number of repeating groups included in this quote update. Allowed values are 1-20. |
| Repeating Groups of … | ||||
| Symbol | 6 | Alphanumeric | Cboe native identifier | |
| Side | 1 | Text |
| |
| OpenClose | 1 | Text |
| |
| Price | 8 | Binary Price |
| |
| OrderQty | 4 | Binary |
| |
| Reserved | 12 | Binary | Reserved for future expansion. To maintain forward compatibility, fill with 0. |
| Field Name | Hexadecimal | Notes |
|---|---|---|
| StartOfMessage | BA BA | Start of message bytes. |
| MessageLength | 91 00 | 145 bytes |
| MessageType | 55 | Quote Update |
| MatchingUnit | 00 | Always 0 for inbound messages |
| SequenceNumber | 64 00 00 00 | Sequence number 100 |
| QuoteUpdateID | 41 42 43 31 32 33 00 00 00 00 00 00 00 00 00 00 | ABC123 |
| ClearingFirm | 41 42 43 44 | ABCD |
| ClearingAccount | 57 58 59 5A | WXYZ |
| CMTANumber | 31 32 33 34 | 1234 |
| Account | 44 45 46 47 41 42 43 44 00 00 00 00 00 00 00 00 | DEFGABCD |
| CustomGroupID | C8 00 | 200 |
| Capacity | 4D | M = Market Maker |
| Reserved | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | Reserved |
| SendTime | E0 FA 20 F7 36 71 F8 11 | 1,294,909,373,757,324,000 |
| PostingInstruction | 50 | P (Post Only) |
| SessionEligibility | 52 | R (RTH Only) |
| QuoteCnt | 02 | Two Quotes |
| Symbol | 30 30 36 69 70 41 | 006ipA |
| Side | 31 | 1 = Buy |
| OpenClose | 4F | O = Open |
| Price | C8 32 00 00 00 00 00 00 | 1.30 |
| OrderQty | 64 00 00 00 | 100 contracts |
| Reserved | 00 00 00 00 00 00 00 00 00 00 00 00 | Reserved |
| Symbol | 30 30 34 63 53 73 | 004cSs |
| Side | 32 | 2 = Sell |
| OpenClose | 4F | O = Open |
| Price | AC 07 01 00 00 00 00 00 | 6.75 |
| OrderQty | F4 01 00 00 | 500 contracts |
| Reserved | 00 00 00 00 00 00 00 00 00 00 00 00 | Reserved |





