Cboe Futures Trade Connector
Features
fix-cfeConnector KeyNotes
Documentation
Clearing Account Type
| Config | Tag 204 | Description |
|---|---|---|
CUSTOMER | C | Order placed by customer. |
FIRM | F | Order placed by the firm. |
Order Handling
| Config | Tag 1031 | Description |
|---|---|---|
DESK | W | Desk |
ELECTRONIC | Y | Electronic (Default) |
VENDOR_PROVIDED_PLATFORM | C | Vendor provided platform Billed by Executing Broker |
SPONSORED_ACCESS | G | Sponsored Access via exchange API |
ALGO_ENGINE | H | Premium Algorithmic trading provided by executing broker |
OTHER | D | Other |
Position Effect
Indicates whether the resulting position after a trade should be an opening position or closing position.
Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together.
| Config | Tag 77 | Description |
|---|---|---|
OPEN | O | Open |
CLOSE | C | Close |
NONE | N | None |
Customer Order Capacity
| Config | Tag 9702 | Description |
|---|---|---|
CTI_1 | 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. |
CTI_2 | 2 | CTI 2: Transactions executed for the proprietary account of a clearing TPH or non-clearing TPH. |
CTI_3 | 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. |
CTI_4 | 4 | CTI 4: Any transaction not meeting the definition of CTI 1, 2 or 3. (These should be non-member customer transactions). |
Self-Match Prevention
| Config Value | Description |
|---|---|
CANCEL_TAKING | Cancel aggressing order |
CANCEL_RESTING | Cancel resting order |
CANCEL_BOTH | Cancel both aggressing and resting orders |
Tag 7928 value description
CFE Match Trade Prevention: 3 characters (not space separated):
1st character — MTP Modifier:
N= Cancel NewestO= Cancel OldestB= Cancel Both
2nd character — Unique ID Level:
F= Prevent Match at CFE Exchange TPH levelM= Prevent Match at EFID LevelN= 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.
On New Orders, an empty PreventMatch string (NUL filled) results in default Port Attribute settings applied.
Risk Reset
| Tag 7692 | Description |
|---|---|
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) |
Symbology
Links
- Symbology Reference
- Production CFE Contract Listings and Products
- Certification CFE Contract Listings and Products
Schedule
FIX sessions are available starting Sunday at 10:30 a.m. CT.
Sessions disconnect daily between 4:05 and 4:45 p.m. CT for a daily restart, which resets all sequence numbers for the next trading segment.
On Friday, sessions disconnect at approximately 4:05 p.m. CT and remain available for connectivity testing (e.g. telnet) until startup the following Sunday.
Configuration
Connector settings
| Parameter | Default Value | Description |
|---|---|---|
| account | Default value for Account(1) tag. | |
| useAccount | false | The flag to define whether to use order account in preference of default account. |
| targetSubId | PROD | Possible values: TEST - for test env, PROD - for production. |
| senderSubId | Used by internal Cboe Systems to determine order sender. | |
| clearingAccountType | CUSTOMER | The capacity for the order. Possible values: CUSTOMER, FIRM. |
| customerOrderCapacity | CTI_1 | Possible values: CTI_1,CTI_2,CTI_3,CTI_4. |
| senderLocationId | US | 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.. |
| selfMatchPreventionInstruction | Defines the strategy of dealing with matching orders if SMP is triggered. Valid values: CANCEL_RESTING, CANCEL_TAKING, CANCEL_BOTH. | |
| selfMatchPreventionScope | NONE | Unique ID Level. Valid values: NONE, EFID_LEVEL, TPH_LEVEL. |
| selfMatchPreventionId | Trading Group ID (optional): TPH-specified alphanumeric value 0-9, A-Z, or a-z. | |
| useTrader | false | Send order's operator. |
| operator | Identifies the Order Entry Operator responsible for this message. | |
| clearingAccount | Clearing account. | |
| positionEffect | NONE | Indicates status of client position. Possible values: OPEN,CLOSE,NONE. |
| orderHandling | ELECTRONIC | Execution source code provided during order entry to describe broker service. Possible values: DESK,ELECTRONIC,VENDOR_PROVIDED_PLATFORM,SPONSORED_ACCESS,ALGO_ENGINE,ELECTRONIC. |
| discardOnReconnect | false | Discard open order upon reconnect. |
Supported order attributes
| Key | Description |
|---|---|
| 1 | Account(1). |
| 25004 | OrderEntryOperatorId(25004). Order entry operator. |
| 47 | OrderCapacity(47). The capacity for the order. C - Customer, F - Firm. |
| 77 | OpenClose(77). Indicates status of client position. O - Open, C - Close, N - None (same as not present). |
| 1031 | CustOrderHandlingInst(1031). See Order Handling. |
| 9702 | CTICode(9702). See Customer Order Capacity. |
| 439 | CMTANumber(439). CMTA Number of the firm that will clear the trade. Must be supplied for CMTA orders and left unspecified for non- CMTA orders. Sent to the OCC in the CMTA CM# field. |
| 440 | ClearingAccount(440). |
| 6097 | PossResend(97). Y - Indicates an application level resend and is NOT supported. N - Default. Indicates a new order. |
| 7928 | PreventMatch(7928). CFE Match Trade Prevention: 3 characters (not space separated). |
| 7692 | RiskReset(7692). See Risk Reset. |
| 7699 | CustomGroupID(7699). Optional TPH-specified ID for the order. |
| 21097 | FrequentTraderID(21097). Supplemental customer identifier used for billing related programs. 6 character alphanumeric (0-9, A-Z, or a-z ) value. |
Config sample
connectors {
CFE : ${template.connector.fix.cfe} {
settings : {
host = "<HOST>"
port = <PORT>
senderCompId = "<SENDER_COMP_ID>"
targetCompId = "CFE"
senderSubId = "<SENDER_SUB_ID>"
account = "<ACCOUNT>"
useAccount = false
operator = "<OPERATOR>"
senderLocationId = "US"
useTrader = false
orderCapacity = ORDER_CAPACITY
ctiCode = CTI_CODE
orderHandling = ELECTRONIC
}
}
}
Tools
Audit Log Generator
AuditLog generator processes connector's logs and produces Audit Trail document.
| Arg | Arg Short | Required | Description |
|---|---|---|---|
--connector | -c | Yes | Connector ID |
--owner | -n | Yes | CFE access port owner name |
--env | -v | Yes | Independent Software Vendor (“ISV”) |
--tracking-number | -t | Yes | Regulatory request tracking number as provided by CFER |
--output-dir | -o | No | Path where logs will be generated. Default is $EMBER_WORK/audit |
--start-date | -b | No | The date from which files should be accepted. If omitted, the current date applies. Ignored when --files is specified. Format: yyyyMMdd |
--end-date | -e | No | The date until which files are accepted. If omitted, the current date applies. Ignored when --files is specified. Format: yyyyMMdd |
--files | -f | No | List of files that should be converted. Comma-separated. |
--help | -h | No | Print usage help. |
- Docker
- Windows
docker compose exec ember /opt/deltix/ember/lib/custom/tools/cfe-audit-log -c CFE -n OWNER -v ISV -t 001 -f CFE-2025-10-01.5.messages
set EMBER_INSTALL=C:/ember
set EMBER_WORK=C:/ember-work
%EMBER_INSTALL%/lib/custom/tools/cfe-audit-log.bat --connector CFE --owner OWNER --env ISV --tracking-number 001 --start-date 20250218 --end-date 20250227