| Account | 1 | 16 | Alphanumeric |
- Unique account identifier associated with an order. This field will be reflected back on execution reports associated with this order.
- The first 10 characters are sent to the OCC in the Account # field. The entire 16 character string will appear in the optional CM Data field. Valid characters include ASCII 32-126.
|
| BaseLiquidityIndicator | 9730 | 1 | Alphanumeric |
- Indicates whether the trade added or removed liquidity.
-
A
=
Added Liquidity
-
R
=
Removed Liquidity
-
C
=
Market opening / re-opening trade
|
| CancelledOrderCount | 7696 | 4 | Binary | Number of orders cancelled. |
| CancelOrigOnReject | 9619 | 1 | Alpha |
-
N
=
Leave original order alone.
-
Y
=
Cancel original order if modification fails.
|
| CancelReason | 58* | 1 | Text | See Order Reason Codes. |
| CancelRejectReason | 58* | 1 | Text | See Order Reason Codes. |
| Capacity | 47 | 1 | Alphanumeric |
-
C
=
Customer
-
F
=
Firm
- The Capacity refers to the OCC account type. A value of "C" denotes an account that clears in the Customer range at OCC. A value of "F" denotes an account that clears in the Clearing Firm range at OCC.
|
| ClearingAccount | 440 | 4 | Text |
- Supplemental identifier. Recorded and made available in execution reports. Available via Drop feeds.
- This field can be blank or populated with an optional four character string, except for comma, semicolon, and pipe.
- This field is not sent to the OCC.
|
| ClearingFirm | 115 | 4 | Alpha |
- EFID that will clear the trade. Port attribute value of ‘Default EFID’ is used if not provided.
- Sent to OCC in Exec Broker field.
|
| ClearingPrice | 21050 | 8 | BinaryPrice | Price as sent to clearing after applying post-close conversions to the original LastPx value. |
| ClearingSize | 21051 | 4 | Binary | Size to clear with OCC. Same value as LastShares, except in VA and VAO where ClearingSize is 0 on execution, and the converted clearing size on restatement. |
| ClearingSymbol | 21053 | 8 | Alphanumeric | Symbol as sent to clearing; after applying post-close conversions to the original Symbol. |
| ClOrdId | 11 | 20 | Text |
- Unique Id chosen by the client. Characters in the ASCII range 33-126 are allowed, except for comma, semicolon, and pipe.
- If the ClOrdId matches a live order, the order will be rejected as duplicate. A leading tilde (~) cannot be sent on any ClOrdId and will result in a reject. These are reserved for internal use by CFE and could be received as a result of a CFE-generated ClordId.
- Sent to the OCC in the OrderId field.
- Note: CFE only enforces uniqueness of ClOrdId values among currently live orders, which includes long-lived GTC and GTD orders. However, using unique ClOrdId values is strongly recommend.
|
| CMTANumber | 439 | 4 | Binary |
- CMTA Number of the firm that will clear the trade. Must be specified for CMTA orders and left unspecified for non-CMTA orders.
- Sent to the OCC in the CMTA CM# field.
|
| CorrectedPrice | 9620 | 8 | BinaryPrice |
- For trade corrections, this is the new trade price.
- For trade breaks, this is set to 0.
|
| CustomGroupID | 7699 | 2 | Binary | Used to group orders for use in mass cancels where multiple orders can be cancelled by specifying a list of CustomGroupIds. A zero value is treated as "no CustomGroupIds". |
| CtiCode | 9702 | 1 | Alphanumeric |
- Valid values: 1, 2, 3, 4
-
1
=
CTI 1: Transactions initiated and executed by an individual TPH for the TPH’s own account, for an account the TPH controls, or for the account in which the TPH has an ownership or financial interest.
-
2
=
CTI 2: Transactions executed for the proprietary account of a clearing TPH or non-clearing TPH.
-
3
=
CTI 3: Transactions where an individual TPH or authorized trader executes for the personal account of another individual TPH, for an account the other individual TPH controls or for an account in which the other individual TPH has an ownership or financial interest.
-
4
=
CTI 4: Any transaction not meeting the definition of CTI 1, 2 or 3. (These should be non-TPH customer transactions).
|
| CustomGroupIdCnt | 7698 | 1 | Binary | Number of repeating CustomGroupId’s included in this message. |
| CustOrderHandlingInst | 1031 | 1 | Alphanumeric |
- Execution source code provided during order entry to describe broker service. A default value can be set using the ‘Default Customer Order Handling Instruction’ port attribute.
-
W
=
Desk (high touch)
-
Y
=
Electronic
-
C
=
Vendor-provided platform, billed by Executing Broker
-
G
=
Sponsored Access via Exchange API or FIX, provided by executing broker
-
H
=
Premium algorithmic trading provider, billed by executing broker
-
D
=
Other, including other-provided screen
- NUL (0x00) = Apply port default (initially 'Y')
|
| ExecId | 17 | 8 | Binary |
- Sent to the OCC in the Trade Id field.
- Execution Id. Unique across all matching units on a given day. Note: ExecIds will be represented on ODROP and FIXDROP ports as base 36 ASCII.*
|
| ExecRefId | 19 | 8 | Binary | Refers to the ExecId of the fill being cancelled or corrected. |
| ExpireTime | 424 | 8 | DateTime | Required for TimeInForce = 6 orders, specifies the date-time (in UTC) that the order expires. |
| FeeCode | 9882 | 2 | Alphanumeric | Indicates fee associated with an execution. Fee codes are published in the pricing schedule. New fee codes may be sent with little or no notice. TPHs are encouraged to code their systems to accept unknown fee codes. |
| FrequentTraderId | 21097 | 6 | Alphanumeric | Supplemental customer identifier used for billing related programs. |
| LastPx | 31 | 8 | BinaryPrice | Price of this fill. Note the use of Price type to represent positive and negative prices, which can occur with spread instruments. |
| LastShares | 32 | 4 | Binary | Executed contracts quantity. |
| LeavesQty | 151 | 4 | Binary | Quantity still open for further execution. If zero, the order is complete. |
| LegCnt | 555 | 1 | Binary | For complex orders, the number of legs of the complex instrument specified in the Symbol field. For simple orders, this should be set to zero and the OpenClose field should be used. |
| LegPositionEffect | 564 | 1 | Text |
- Indicates status of client position in the option for this leg.
-
O
=
Open
-
C
=
Close
-
N
=
None
|
| LegRatioQty | 623 | 4 | Binary |
- Ratio of number of contracts in this leg per order quantity.
- Accepted values are 1-99,999
|
| LegSide | 624 | 1 | Text |
|
| LegSymbol | 600 | 8 | Alphanumeric | The symbol id for the Simple Options on Futures instrument. |
| ManualOrderIndicator | 1028 | 1 | Alpha |
-
Y
=
Manual order entry
-
N
=
Automated order entry
|
| MassCancelId | 7695 | 20 | Text | User-defined identifier of the mass cancel or purge request. |
| MassCancelInst | 7700 | 16 | Text |
- Corresponds to MassCancelInst (7700) in CFE FIX. Used for specification of
Purge Orders functionality and optionally used for specification of Mass Cancel functionality associated with the
Cancel Order message.
- At least one character must be provided (Clearing Firm Filter). Contiguous characters must be specified up to total length. Truncated/unspecified characters will default to values indicated (D) below.
- 1st Character : Clearing Firm Filter
-
A
=
No filtering by clearing firm relationship is performed.
-
F
=
All orders that were sent under the clearing relationship specified in ClearingFirm optional field. If "F" specified and ClearingFirm not provided, the Mass Cancel or Purge request will be rejected.
- 2nd Character : Acknowledgement Style
-
M
=
(D) Order Cancelled messages are sent for each cancelled order. If "M" is set, any MassCancelId value is ignored.
-
S
=
A single Mass Cancel Acknowledgement message is sent once all cancels have been processed. The MassCancelId optional field must be specified or the Mass Cancel or Purge Request will be rejected.
-
B
=
Both individual Order Cancelled and Mass Cancel Acknowledgement messages will be sent. Also requires MassCancelId optional field to be specified or the Mass Cancel or Purge request will be rejected.
- 3rd Character : Lockout Instruction
-
N
=
(D) No lockout
-
L
=
Lockout until corresponding Reset Risk received. Lockout can be used only with Clearing Firm Filter set to "F", otherwise the Mass Cancel or Purge request will be rejected. Lockout will apply to all New Order, Quote Update, and Modify Order messages for the ClearingFirm (and ProductName or CustomGroupIds, if specified), regardless of other filtering in the Purge Orders or Cancel Order message.
- 4th Character : Instrument Type Filter
-
B
=
(D) Cancel both Simple and Complex orders
-
S
=
Cancel Simple orders only
-
C
=
Cancel Spread orders only
- 5th Character : GTC Order Filter
-
C
=
(D) Cancel GTC and GTD orders
-
P
=
Don’t cancel (preserve) GTC and GTD orders
- 6th Character : Security Type
-
F
=
Cancel orders (Futures only)
-
O
=
Cancel orders (Options only)
-
A
=
(D) Cancel All Futures and Options orders
- If ProductName optional field is specified, it must contain a valid futures root symbol (e.g., "VX"), in which case only orders/quotes associated with the specified product will be cancelled.
- A self-imposed lockout can be released using the
Reset Risk message. An appropriate reset is required to be sent for each lockout type in order to resume trading. For example, a product-level lockout requires a product-level reset. For more information, refer to the Cboe Titanium Cboe Futures Exchange Risk Management Specification.
|
| MassCancelRejectReason | 58* | 1 | Text | Reason for the mass cancel rejection. See Order Reason Codes. |
| MaturityDate | 200, 205 | 4 | Date |
- When specifying the Symbol for a
New Order message the user can specify the mapped symbol identifier in the Symbol field. Alternatively, the product class (e.g., "VX", "VXT", etc.) can be supplied for the Symbol field and the MaturityDate field is used to specify the expiration date of the symbol within the specified product class.
- If a value is provided for MaturityDate, the Symbol field must correspond to a valid product or the order will be rejected with reason code C (Unknown Product Name). If an invalid MaturityDate is provided, the order will be rejected with reason code B (Unknown Maturity Date).
|
| MinQty | 110 | 4 | Binary |
- Minimum fill quantity for IOC orders. Ignored for other Simple instrument orders.
- Not supported for Spread instruments. Spread instrument orders with specified MinQty will be rejected.
|
| ModifyRejectReason | 103 | 1 | Text | See Order Reason Codes. |
| MultilegReportingType | 442 | 1 | Text |
- Present on
Order Execution and
TAS Restatement messages representing either Spread orders or Simple orders that are part Spread execution.
-
1
=
Simple instrument execution
-
2
=
Simple instrument execution that is part of a Spread execution
-
3
=
Spread instrument execution
|
| OEOID | 25004 | 1 | Alphanumeric |
- Identifies the Order Entry Operator responsible for this message.
- Min length 3, max length 18. Values in ASCII range 33-126 except comma, semicolon, and pipe are permissible.
|
| OpenClose | 77 | 1 | Alphanumeric |
- Indicates status of client position in a trade resulting from the order.
-
O
=
Open
-
C
=
Close
-
N
=
None
- NUL (0x00) = None
|
| OrderId | 37 | 8 | Binary |
- Order identifier supplied by CFE. This identifier corresponds to the identifiers used in CFE market data products.
- Sent to the OCC in the Exchange Data field.
|
| OrderQty | 31 | | Binary | Order quantity. System limit is 999,999 contracts. |
| OrderRejectReason | 103 | 1 | Text | See Order Reason Codes. |
| OrdType | 40 | 1 | Alphanumeric |
-
1
=
Market
-
2
=
Limit (default)
-
4
=
Stop Limit (Futures only)
- Market implies TimeInForce of IOC (3). Stop Limit orders must have a TimeInForce of DAY (0), GTC (1), or GTD (6).
|
| OrigClOrdId | 41 | 20 | Text | The ClOrdId of the original order. |
| OrigTime | 42 | 8 | DateTime | The date and time of the original trade, in GMT. |
| PendingStatus | | 1 | Text |
- Field is provided as a convenience to determine whether an
Order Execution message is a preliminary notification representing a pending trade. The value ‘P’ indicates that the execution is associated with a product for which the
Order Execution message is a preliminary notification of an execution and for which a post-settlement restatement will be sent.
-
N
=
Not applicable
-
P
=
Pending
|
| PreventMatch | 7928 | 3 | Alpha |
- Three characters:
- 1st character - MTP Modifier:
-
N
=
Cancel Newest
-
O
=
Cancel Oldest
-
B
=
Cancel Both
- 2nd character - Unique Id Level:
-
F
=
Prevent Match at Firm (TPH) Level
-
M
=
Prevent Match at EFID Level
-
N
=
None (do not prevent match at any level)
- 3rd character - Trading Group Id (optional):
- TPH specified alphanumeric value 0-9, A-Z, or a-z.
- The unique Id level (character 2) of both orders must match to prevent a trade. If specified on both orders, Trading Group Id (character 3) must match to prevent a trade.
- Note that in the event of a Spread order match with a Simple order, the Spread order will always be cancelled irrespective of the 1st character value.
- On New Orders, an empty PreventMatch string (NUL filled) results in default Port Attribute settings applied.
|
| Price | 44 | 8 | BinaryPrice |
- Limit price. Four implied decimal places.
- Required for limit orders (OrdType = 2). If specified on market order (OrdType = 1), the order will be rejected.
- Orders will be rejected if Price does not fall on the applicable minimum trading increment.
- For all contracts other than Trade at Settlement contracts, simple orders will be rejected if Price is less than or equal to zero, or greater than or equal to 100,000. For Trade at Settlement (TAS) contracts, simple orders will be rejected if Price is outside the price limits presented in the contract specification.
- Spread orders will be rejected if Price is outside the price limits implied by the spread instrument definition and constituent instrument min and max prices.
|
| ProductName | 55 | 6 | Text |
- Used to specify product class (e.g., "VX", "VA", etc.) for
Purge Orders and
Cancel Order message cancel by product functionality.
- If an unrecognized ProductName is provided, the associated request will be rejected with reason code C (Unknown Product Name).
|
| PurgeRejectReason | 58* | 1 | Text | Reason for the purge rejection. See Order Reason Codes |
| QuoteCnt | n/a | 1 | Binary | Number of repeating groups included in this message. Allowed values are 1-20. |
| QuoteRejectReason | n/a | 1 | Text | See Section Quote Reason Codes |
| QuoteResult | n/a | 1 | Text |
- Result of the quote request.
- Acceptance:
-
A
=
New Quote
-
L
=
Modified; loss of priority
-
R
=
Modified; retains priority (size reduction)
-
N
=
No change, matches existing quote
-
D
=
New Quote, but may remove liquidity
-
d
=
Modified, but may remove liquidity
- Cancellation:
-
U
=
User cancelled (zero size/price requested)
- Rejection:
-
a
=
Admin
-
O
=
Rejected, doesn’t match a known quote
-
P
=
Rejected, can’t post
-
f
=
Risk management EFID or Custom Group Id level
-
S
=
Rejected, symbol not found
-
p
=
Rejected, invalid price
-
s
=
Risk management product root level
-
n
=
Risk management configuration is insuffcient
-
u
=
Rejected, other reason
|
| QuoteSymbol | 55 | 6 | Alphanumeric | CFE native identifier of the instrument being quoted. |
| QuoteUpdateId | n/a | 1 | Text |
- Id chosen by the client. Characters in the ASCII range 33-126 are allowed, except for comma, semicolon, and pipe.
- All quote response messages will include this identifier.
- Note: CFE strongly recommends that QuoteUpdateId be kept unique for a trading day across both Futures and Options.
|
| RequestReceivedTime | n/a | 8 | DateTime |
- The earliest timestamp, populated with nanosecond precision, recorded by CFE of the corresponding inbound message being acknowledged.
- Populated with zero in event of failover to Port B or Port C.
|
| RestatementReason | n/a | 1 | Text |
- The reason for this Quote Restated message.
-
Q
=
Liquidity
-
W
=
Wash
- CFE reserves the right to add new values as necessary without prior notice.
|
| RiskStatusId | | 16 | Text |
- Unique identifier for this Reset Risk request. Response message will have this corresponding identifier.
- Note: CFE only enforces uniqueness of RiskStatusId values among currently unacknowledged requests. However, we strongly recommend that you keep your RiskStatusId values day-unique.
|
| RiskReset | 7692 | 8 | Text |
- Single Character Values (Values may be combined)
-
S
=
Product-level risk/lockout reset
- (Futures only)
-
F
=
Firm-level risk/lockout reset
- (Futures only)
-
C
=
CustomGroupId lockout reset
- (Futures only)
-
R
=
Product-level risk/lockout reset
- (Options only)
-
I
=
Firm-level risk/lockout reset
- (Options only)
-
D
=
CustomGroupId lockout reset
- (Options only)
- Values may be combined together to allow for resets of multiple risk trips or self-imposed lockouts in a single message. For example, "FS", "SC", "FC", and "SFC" are all acceptable values.
- The characters may be combined in any order. For example, to "reset all futures", set this field to ‘SFC’, which is the equivalent to ‘CFS’. To "reset all options", set this field to ‘RID’, which is equivalent to ‘DIR’. To "reset all futures and options" set the field to ‘SFCRID’, which is equivalent to ‘DIRCFS’.
- For more information, refer to the Cboe Titanium Cboe Futures Exchange Risk Management Specification.
|
| RiskResetResult | n/a | 1 | Text |
- <space> = Ignored; exceeds 1 reset per second
-
Y
=
Success
-
F
=
Rejected; exceeds firm reset limit
-
C
=
Rejected; exceeds Custom Group Id limit
-
E
=
Rejected; empty ResetRisk field
-
I
=
Rejected; Incorrect data center
-
S
=
Rejected; exceeds product level reset limit
-
U
=
Rejected; invalid RiskRoot
-
c
=
Rejected; invalid EFID/ClearingFirm
-
y
=
Rejected; in replay
- Additional reject values may be added in the future without notice.
|
| SecondaryExecId | 527 | 8 | Binary |
Indicates whether an execution is a spread or a simple instrument execution that is part of a spread trade.
If SecondaryExecId field is not present, the execution is a simple instrument execution only. If SecondaryExecId is present and is the same as the ExecId required field, the execution represents a spread execution for which associated simple instrument executions will follow.Simple instrument executions associated with a spread execution will contain a SecondaryExecId value that matches the ExecId of the associated spread execution.
|
| Side | 54 | 1 | Text |
|
| SizeModifier | | 1 | Text |
- Controls the behavior of the quote OrderQty field. Using "R" allows for a TPH to ensure that in-flight fills or cancels do not result in unwanted additional size exposure.
- NULL (0x00) = New quote size will be set to value of OrderQty.
-
R
=
Reduce outstanding size of quote by the OrderQty provided.
- When using "R", if the resulting size is zero or negative, then the quote is cancelled. TPHs are expected to track the remaining quantity of each quote as resulting size is not included on the
Quote Update Acknowledgement message.
|
| StopPx | 8 | 99 | BinaryPrice | Stop price. Required if OrdType = 4 (Stop Limit). Stop Limit orders will only be triggered off Last Sale Eligible trades. |
| SubLiquidityIndicator | 9730* | 1 | Text |
- Additional information about the liquidity of an order. CFE may add additional values without notice. TPHs must gracefully ignore unknown values.
- NULL (0x00) = No Additional Information
-
C
=
Carried Order Indicator
-
U
=
Qualifying Market Turner order
|
| Symbol | 55 | 8 | Alphanumeric |
- Simple Instruments can be specified by providing the mapped symbol format in the Symbol field or by providing the product name (e.g., "VX") in the Symbol field and maturity date in the MaturityDate field. Responses to the TPH will contain the instrument specification in the manner that was provided on the associated new order specification (e.g., either Symbol Id or Product and MaturityDate).
- The Symbol field for Spread instrument related messages will always contain mapped symbol Id as product and maturity date does not completely specify the Spread instrument.
|
| Text | 58 | 60 | Text | Human readable text with more information. |
| TimeInForce | 59 | 1 | Text |
-
0
=
Day (Expires at the end of the business day).
-
1
=
GTC (Good ‘till Cancel. Order remains until cancelled or contract expires).
-
3
=
IOC (Portion not filled immediately is cancelled. Market orders are implicitly IOC).
-
4
=
FOK (An IOC where the entire size must be filled, else the order will be cancelled back).
-
6
=
GTD (Good ‘till Date-Time Expires at the date-time specified in the ExpireTime field).
|
| TradeDate | 75 | 4 | Date |
- Business date of the execution.
- Note that on CFE, business date is not always the same as the calendar date. For example, the VX/VT products open for trading on the calendar day prior to the associated business date. Executions that occur after the open and before midnight will have a TradeDate value that is not the same as the calendar date of the execution.
|
| TransactionTime | 60 | 8 | DateTime | The time the event occurred in the CFE Matching Engine (not the time the message was sent). |
| WorkingPrice | n/a | 8 | BinaryPrice | The price at which the quote is working on the order book. |
| CountryCode | | 2 | Text | Identifies the country code of the person or system submitting the order using the ISO 3166 two-character code (must be entered using uppercase letters only). An order with a country code for a comprehensively sanctioned country will be rejected. |