| 1.0.0 | 05/01/17 | Initial version. |
| 1.0.1 | 05/17/17 |
- Added Cancel on ME Disconnect port attribute.
- Cleanup of minor typos and formatting.
|
| 1.1.0 | 07/14/17 |
- Added additional fields to accommodate Spread instrument executions.
- Updated Mass Cancel and Purge fields to add additional filtering based on GTC orders and Spread instruments.
|
| 1.1.1 | 07/24/17 |
- Introduced improved method of specifying Mass Cancel and Purge Orders operations using the MassCancelInst field.
- Modified and clarified explanation for Variance and TAS pending and restatement Execution Reports and associated custom fields for transformed symbol, price and size for clearing.
|
| 1.1.2 | 08/07/17 | Renamed VariancePrice, VarianceSize and NewSymbol to ClearingPrice, ClearingSize and ClearingSymbol respectively. Removed TAS Price field using ClearingPrice instead to report transformed TAS execution price. |
| 1.1.3 | 08/25/17 | Clarified ClOrdId uniqueness in New Order Single to account for long-lived GTC orders. Added ‘N’ to optional field OpenClose values in New Order Single message. Clarified Cancel on Disconnect to apply whether graceful or ungraceful disconnect. Updated Cancel on ME Disconnect and Cancel on DROP Port Disconnect port attributes to provide ability to filter out GTC orders. |
| 1.1.4 | 09/06/17 | Corrected description of SecurityType(167) field description in New Order Single. Value must be either FUT or MLEG and must match instrument type of specified symbol or new order will be rejected. |
| 1.1.5 | 09/12/17 | Clarified description of Carried Order Restatements and details of restatement delivery to connected TPH. |
| 1.1.6 | 09/25/17 |
- Added to documentation of Price field of New Order Single message to specify that orders that don’t comply with tick increments or values outside of system price limits will be rejected.
- Removed CorrectedSize from Trade Cancel/Correct message as it does not apply to CFE. Added more detail to mass cancel and
Purge Request, especially for Lockout behavior in MassCancelInst.
|
| 1.1.7 | 10/03/17 | Added missing CMTANumber (439) field to the Trade Cancel/Correct CFE to TPH message. Changed name of Tag 439 from ClearingFirm to CMTANumber for consistency. |
| 1.1.8 | 10/17/17 | Cboe branding/logo changes |
| 1.1.9 | 10/30/17 |
- Both Expiration and Mapped Symbology are provided for FIX and Order-By-Order DROP. Spec changes include clarification of 55, 200 and 205 fields for DROP and the addition of SecurityID (48) field which will always contain Mapped Symbology for DROP port Execution Reports.
- Added calculation of trade size in Variance units to VA pending Execution Report ClearingSize (21051) field. For consistency with VA, added ClearingSize (21051) to the pending Execution Report for VAO trades.
|
| 1.1.10 | 11/02/17 |
- Removed superfluous MTP comment from TradeLiquidityIndicator (9730) field in Execution Report message.
- Added value ‘B’ (Calculated) to OrdStatus (39) field of Execution Report message to be used for all TAS and Variance post-settlement restatements. Clarified that OrderQty (38) and LeavesQty (151) are not included for TAS and Variance post-settlement restatements.
|
| 1.1.11 | 11/14/17 |
- Added Port Order Rate Threshold and Symbol Order Rate Threshold port attributes.
- Updated description of MinQty (110) field in New Order Single message to clarify usage.
- Added Good ‘till Date-Time orders ("GTD"), which includes support for TimeInForce (59) value of ‘6’ and addition of ExpireTime (126) in New Order Single and Execution Report messages.
|
| 1.1.12 | 12/05/17 |
- Combined the two ‘f’ Reason Codes into one line for clarity.
- Updated
Purge Acknowledgement description to replace legacy MassCancel language with MassCancelInst.
|
| 1.1.13 | 12/21/17 |
- Clarified use of Expiration symbology vs. mapped SymbolID for Spread execution Execution Reports. Specifically, updated description of Symbol (55), MaturityMonth (200) and MaturityDay (205).
- Added OperatorId (25004) and ManualOrderIndicator (1028) as fields that may be changed with an
Order Cancel/Replace Request. - Added GTC and GTD TimeInForce (59) values as accepted for Stop and Stop Limit orders.
|
| 1.1.14 | 01/19/18 |
- FIX Tags not defined in this specification are ignored.
- Updated description of the Capacity (47) to clarify meaning of C and F with respect to OCC ranges.
|
| 1.1.15 | 02/02/18 |
- The TimeInForce value on an
Execution Report may differ from what was sent in cases where the value is overridden by the system. - MinQty was missing from Execution Report message and has been added.
|
| 1.1.16 | 02/27/18 |
- Added session availability times and description of daily restart to Hours of Operation section.
- Documented the system limit of 1,295
Cancel/Replace Requests per order per day.
|
| 1.1.17 | 03/06/18 |
- Added OCC Clearing Reference section to more clearly describe the FIX to OCC field mappings.
- Maximum number of
Cancel/Replace Requests per order per day will be raised to 1,679,615 effective 3/18/18.
|
| 1.1.18 | 03/14/18 |
- Changed valid Account field characters from 33-126 to 32-126 (i.e., space is a valid character).
- Effective 3/18/18, updated definition of the OperatorId field to include characters 33-126, except for comma, semicolon, and pipe with minimum length of 3 and maximum length of 18 characters.
|
| 1.1.19 | 04/10/18 | CumQty (14) to be populated on leg fills related to complex executions (effective 4/29/18). |
| 1.1.20 | 04/26/18 |
- Changed field name from OperatorID (25004) to OEOID (25004).
- Removed references to 150 = 3 (Done for Day). This feature is specific to other Cboe platforms.
|
| 1.1.21 | 05/30/18 | Added section to Protocol Features detailing the conditions under which persisted orders can be cancelled while the associated product is in a suspended state. |
| 1.1.22 | 07/20/18 |
- For TradeLiquidityIndicator, added 2nd character value of ‘U’ to indicate qualifying Market Turner order. Added State Change Tracking definitions.
- Added Fix port and Drop port attribute "Send 2nd Liquidity Character". Added Fix port attribute "Enable State Change Tracking".
|
| 1.1.23 | 7/25/18 | Removed Fix port attribute "Enable State Change Tracking". Already enabled by default on all CFE FIX ports. |
| 1.1.24 | 8/7/18 | Added notes to Order Cancel Request and Purge Request sections indicating request limits of 20 per second per port for identical requests. |
| 1.1.25 | 10/9/18 | Added FrequentTraderID (21097) to be used as a supplemental customer identifier for billing related programs. |
| 1.1.26 | 10/10/18 | Added description of Maximum Order Size limit set by CFE in Port Attributes section. |
| 1.1.27 | 04/02/19 | Added note identifying nomenclature change from logical port to match capacity. |
| 1.1.28 | 06/12/19 | Removed references to Firm Risk Reset as they do not apply to CFE. |
| 1.1.29 | 02/05/20 | Added note indicating that the reason code text is followed by free-form text that may vary from the text listed, to provide clarification of the reject reason. Clarified description of TransactTime (60). |
| 1.1.30 | 05/05/20 |
- Modified Start of queuing period for the CFE Test Product ‘ZVXT’. Modified message rate for CFE test products to 10 messages per second (effective TBD).
- Added Maximum Open Order Limits section.
|
| 1.1.31 | 05/07/20 | Postponement for changes to ZVXT trading schedule and test message rate limit. |
| 1.1.32 | 05/13/20 | Modified Start of queuing period for the CFE Test Product ‘ZVXT’. Modified message rate for CFE test products to 10 messages per second (effective 5/31/20). |
| 1.2.0 | 05/21/20 | Added CustOrderHandlingInst (1031) field to New Order Single, Order Cancel/Replace, and Execution Report messages. The field may be defaulted at the port level using the ‘Default Customer Order Handling Instruction’ port attribute (effective 6/28/20). |
| 1.2.1 | 09/22/20 | Added note indicating availability of daily settlement price for VXT will be updated to 3:00 (effective 10/26/20). |
| 1.2.2 | 12/11/20 | Updated ClOrdID (11) descriptions to indicate that a leading tilde (~) cannot be sent on any ClOrdId and will result in a reject. |
| 1.2.3 | 07/28/21 | Added ‘Section 1.4.1 - Architecture’ to provide high level overview of protocol architecture and source IP blocking feature. |
| 1.2.4 | 11/02/21 | Updated CxlRejReason (102) description to indicate that 2 = Broker Option. |
| 1.2.5 | 12/06/21 | Added SenderLocationID (142) field to New Order Single and Execution Report messages to identify the country code of the person or system submitting the order using the ISO 3166 two-character code (effective 02/27/22). |
| 1.2.6 | 12/16/21 |
- Added SenderLocationID (142) field to Standard Message Header messages (effective 02/27/22).
- Removed SenderLocationID (142) field from New Order Single messages.
|
| 1.2.7 | 01/26/22 |
- Updated Logical Port Request form link.
- Updated PreventMatch description to indicate that N = None (do not prevent match at any level) and on new orders, an empty PreventMatch string (NUL filled) results in default Port Attribute settings applied.
|
| 1.2.8 | 02/28/22 | Noted that for executions involving Spread orders, if both sides of a complex/spread trade are on the same order entry session, Cboe does not guarantee that the leg executions will not be interleaved between sides. |
| 1.2.9 | 03/21/22 | Added a note indicating an order with a country code for a comprehensively sanctioned country will be rejected. |
| 1.2.10 | 05/26/22 |
- Updated ZVXT Test Product Pre-Open period and maximum number of inbound messages per second on FIX ports for CFE Test Products (effective 06/12/22).
- Noted the number of allowed GTC/GTD orders in test classes is three per session per matching unit (effective 06/12/22).
|
| 1.2.11 | 06/16/22 | Added Section 1.3 - Holiday Sessions to provide submission timeframes and session disconnect information for holidays. |
| 1.3.0 | 07/29/22 |
- Major updates to introduce Options on Futures (effective 07/10/23 04/03/23).
- Re-certification required before TPHs may trade options on the CFE platform (effective 07/10/23 04/03/23).
|
| 1.3.1 | 08/10/22 |
- Added PossDupFlag (43) = Y, indicating a message resend and should be used during FIX Replay.
- Noted in Microsecond Timestamp Granularity Port Attribute description "these tags default to millisecond or second (SendingTime (52)) granularity."
- Noted Reject messages will be sent which originate from a FIX order entry session. However, rejects originating from a BOE order entry session will be suppressed.
|
| 1.3.2 | 09/09/22 |
- Added NoLegs (555) and LegPositionEffect (564) to New Order Single and Execution Report messages (effective 07/10/23 04/03/23).
- Clarified RiskReset (7692) = R indicates product-level risk/lockout reset and RiskReset (7692) = I indicates Firm-level risk/lockout reset (effective 07/10/23 04/03/23).
|
| 1.3.3 | 01/19/23 | Updated effective date for Options on Futures (effective 07/10/23). |
| 1.3.4 | 05/08/23 | Updated reject text for persisted orders attempting to be canceled outside of trading hours to more accurately reflect when an order is known but the request is not currently being accepted (effective 05/21/23). |
| 1.3.5 | 06/08/23 | OrdType = Stop Limit will not be allowed for Options on Futures orders (effective 07/10/23). |
| 1.3.6 | 07/03/23 | Removed "Duplicative Order Protection Order Count Threshold" and "Duplicative Order Protection Action" port attributes. |
| 1.3.7 | 07/20/23 | Updated LeavesQty (151) description to indicate the field will be sent on single-leg instrument fills resulting from spread executions (effective 08/28/23). |
| 1.3.8 | 07/31/23 | Noted modifications to quotes or orders and order cancellations will result in the same time priority behavior (effective 10/01/23). |
| 1.3.9 | 01/22/24 | Added new Security Definition Request and Security Definition messages (Options Only) (effective 03/25/24). |
| 1.3.10 | 02/02/24 | Updated section 1.5 to include latency expectations as well as Members/TPH's responsibility to monitor the status of the messages they send to the exchange. |
| 1.3.11 | 08/06/24 | Added new Section 1.2 - Certification Requirement. |
| 1.3.12 | 01/15/25 | Updated with Cboe Titanium branding. |
| 1.3.13 | 10/13/25 |
- Updated to include Cancel-Only Period and Multi-Segment Holiday Day Order Handling port attribute (effective 01/12/2611/17/25).
- Added Multi-Segment Holiday Day Order Handling port attribute in FIX Order Entry Port Attributes (effective 01/12/2611/17/25).
- Updated table to include new Cancel-Only Period (effective 01/12/2611/17/25).
|
| 1.3.14 | 11/05/25 | Updated Cancel-Only Period and Multi-Segment Holiday Day Order Handling port attribute effective date to 01/12/26. |
| 1.3.15 | 11/18/25 | Updated BeginSeqNo description from "auto-generated request ID" to "Sequence number of first message in range to be resent" in Resend Request messages. |
| 1.3.16 | 01/05/26 | Updated Carried Order Restatements, Cancellation of Carried Orders or Quotes Between Sessions, and Submission Time Frames for Holidays to reflect the new time that persisted orders are added back into the order book. |
| 1.3.17 | 01/14/26 | Updated Session Disconnect for Holidays, Automatic Disconnect on Cancel or Malfunction, and FIX Order Entry Port Attributes to explain behavior of Cancel on Disconnect with regards to the new cancel-only period. |
| 1.3.18 | 05/04/26 |
|