CME Gateway 7.17 provides CME Group’s FIX/FAST support by default. CME Gateway 7.18 supports MDP 3.0. This protocol replaces FAST compression and implements Simple Binary Encoding (SBE).
To support CME Group's MDP 3.0 price feed, contact your TAM regarding CME Gateway 7.18.
To support FIX/FAST mode, the CME Gateway uses the following:
- Hostinfo.cfg parameters:
- TemplateFile parameter: This parameter sets the location of the FASTTemplates.xml file.
- Subject parameters: The CME Gateway uses FASTSubject parameters for FIX/FAST.
- FASTTemplates.xml file: The FASTTemplates.xml file serves as an encoder/decoder between the exchange and the CME Gateway.
- FAST.cfg file: This configuration file contains connection information specific to product subscriptions.
The FASTTemplates.xml file is an exchange-provided template file required to encode and decode the market data feed sent by the exchange. The file contains no user-configurable parameters. Any modifications to the contents of the file will result in incorrect parsing of the price feed.
The file automatically installs with the CME Gateway and may need to be updated periodically. By default, this file is located in the <root drive>:ttconfig directory.
To ensure that complete and accurate market data is being used on the CME Gateway, you must use the most recent version of the FASTTemplates.xml file. Failure to do so results in incorrect parsing of the price feed and ultimately bad prices.
TT provides the updated version of the file as follows:
- Clean installation: Installing the latest version of the CME Gateway provides the most recent FASTTemplates.xml file by default.
- Upgrade: When upgrading to the latest version of the gateway, the CME Gatewayoverwrites your existing FASTTemplates.xml file with the most recent version.
- Customer Advisory: If the exchange updates the FASTTemplates.xml file prior to a CME Gateway release, TT will issue a Customer Advisory with the most recent version. You must manually overwrite your existing file with the most current file.
Checking the FASTTemplates.xml Version
To check if you are using the latest FASTTemplates.xml file
- Navigate to <drive letter>:ttconfig
- Using a text editor, open the FASTTemplates.xml file and record the Version and Template ID number listed in the “NEXT AVAILABLE TEMPLATE ID IS #” line.
Templates for FIX/FAST versions prior to 2.0 do not list the version number in the file; only the Template ID number is listed.
- Open the template on the TT Customer Portal and record the version numbers:
- Go to the TT Website
- Click Support and Education and select Downloads
- Find “FASTTemplates.xml” and click Download.
- Open the template and record the Version and Template ID numbers listed in the “NEXT AVAILABLE TEMPLATE ID IS #” line.
- Compare your version of the template with the one on the TT Customer Portal:
- If the Version and Template ID numbers are the same in both files, you have the latest template.
- If the Version or Template ID numbers are different, you need to update your FASTTemplates.xml file; download and save the template from the TT Customer Portal and apply it to the gateway.
Applying the FASTTemplates.xml File
A new template file can be applied at anytime, but it is not processed until the next time you restart the Price Server.
To apply the FASTTemplates.xml file to the CME Gateway
- Navigate to <drive letter>:ttconfig
- Back up the existing FASTTemplates.xml file.
- Locate the new FASTTemplates.xml file that you downloaded from the TT Customer Portal or received via Customer Advisory, and copy it into this directory.
- If you are applying the new template intra-week, restart the Price Server after the trading session:
- From the Windows Control Panel, double-click Administrative Tools.
- Double-click Services.
- Scroll to the CME Price Server, click it, and click Restart the service.
FIX/FAST Message Recovery
The CME Gateway order book is updated incrementally with market data per contract. If message recovery is necessary, the CME Gateway subscribes to snapshot channels to update the entire Order Book. Because the snapshot updates occur at a high message rate, subscribing to all snapshot channels simultaneously is not recommended. To help alleviate recovery issues, the Price Server is configured by default to do the following:
- Use FIX/FAST incremental updates to refresh the Order Book.
- Subscribe to the snapshot channels only when the incremental update has not refreshed the entire Order Book.
- Dynamically subscribe to no more than two snapshot recovery channels at one time.
- Only subscribe to snapshot channels for contracts with active price subscriptions. However, if an order is entered outside the displayed levels of depth for a contract that missed an inside market price update, the Price Server will not request a snapshot to refresh the Order Book. If an order is entered within the levels of depth, the snapshot is requested as needed.
This FIX/FAST recovery behavior is defined by the MaxSnapshotChannels parameter in hostinfo.cfg. Because the parameter is not present in the hostinfo.cfg file by default, you’ll have to manually add the MaxSnapshotChannels parameter if you want to reconfigure the number of snapshot channels to subscribe to. By default the Price Server functions as if the parameter is set to 2.
A value of “0 “ is allowed and indicates that the Price Server only uses incremental updates to refresh the Order Book (no snapshot channels are opened).
If a restart or mid-week startup is necessary, the CME Gateway is configured by default to do the following:
- Dynamically subscribe to no more than two instrument definition channels at one time.
- Perform incremental price updates to the Order Book only after instrument definition updates are complete.
This default CME Gateway behavior is defined by the MaxInstrumentChannels parameter in hostinfo.cfg. Because the parameter is not present in the hostinfo.cfg file by default, you’ll have to manually add the MaxInstrumentChannels parameter if you want to configure the number of instrument definition channels to subscribe to. If you manually configure this parameter, the number of instrument definition channels should not exceed the number of price feed channels configured on the Price Server.
Refer to Section: [price_session] for more details about these parameters.
If there is missing price data for a product and a snapshot is requested, the Price Server clears the existing Order Book before refreshing it with the snapshot. This is by design and not the result of the client application (e.g., Autospreader®) deleting data from the Order Book prior to a snapshot. The occurrence of frequent snapshots may be an indication of capacity or performance issues within the network.
Emergency Order Book Reset
If there’s a failure on CME Group’s MDP platform that could corrupt the market data on a particular channel, the exchange will initiate an Emergency Order Book Reset. During this event, the exchange clears and refreshes market data for all products on the impacted channel for both the incremental and snapshot recovery feeds.
In response to the reset, the CME Gateway Version 7.12.2 and higher clears the market data for all products on the impacted channel and processes the recovered, up-to-date data as it becomes available on the feed.
The following events occur during an Emergency Order Book Reset.
- The exchange sends a reset message down the incremental feed to the CME Gateway to indicate the market data on the channel is corrupted.
- The CME Gateway clears market data for all the products on the impacted channel and writes the following message to the Price Server log file:
Example Price Server log message in response to Emergency Order Book Reset
31.03.2010 10:12:30.660 | PRICESERVER/PROD | 1232 | INFO | 00000000 | price_session/FASTPriceBridge/FASTPriceBridge/CME_FAST_EQ_FUTURES | Resetting All Order Books on the Channel.
- The exchange begins restoring market data for all products on the impacted channel.
- Once the market data for a product is restored, the exchange resumes sending incremental updates for that product.
- The CME Gateway processes the restored market data in real-time for each product on the channel, and writes the following message to the Price Server log file for each contract as it is reset:
Example Price Server log message indicating a contract is reset
31.03.2010 10:12:30.660 | PRICESERVER/PROD | 1232 | INFO | 00000000 | price_session/FASTPriceBridge/FASTPriceBridge/CME_FAST_EQ_FUTURES | Resetting Contract Sequence Number To 1: EFEZ0
- Trading for the restored product can continue as normal while other products on the channel are going through the reset process.
The fast.cfg File
To assist with price data subscriptions, the CME Gateway uses the fast.cfg file.
This additional configuration file aids in managing price data; however, it does not require manual updates. Do not edit this configuration file.
The fast.cfg is simply an index file that maps connectivity information to the various subjects that the CME Group broadcasts using FIX/FAST messages over the MDP feed. The fast.cfg file stores connection information for subject data in unique channel sections. By default, the CME Gateway does not automatically download all of the various feeds configured in the fast.cfg file. To download the feed for a particular subject, you must add a Subject#=Subject line to the [price_session] section in the hostinfo.cfg (for details on this parameter, refer to Section: [price_session]).
By default the CME Gateway installs with a fast.cfg file configured to download all possible subject types from the CME Group. If the CME Group adds a new subject (i.e., set of product information) at a later time, TT will send out a Customer Advisory informing customers what changes they may need to make.
This is the section title. All sections in the fast.cfg file use this section title; there are no variables.
Sets the subject name of the data that the CME Gateway can request. To request this data, you must include a Subject parameter in the [price_session] section of the hostinfo.cfg with this subject as its value.
A variable number, starting at 1, that uniquely identifies the [fastInterface] section. The CME Group specifies this value.
Allows the CME Gateway to support the version of FIX/FAST used on a given channel, which is specified by The CME Group. Refer to FIX/FAST Versions.
This parameter is available in CME Gateway Version 7.12.2 and higher.
This parameter sets the IP address and port that the CME Group uses to broadcast the subject data (as specified in the Subject parameter). For purposes of disaster recovery, each [fastInterface] section can contain multiple AddressFeed* parameters. The CME Group specifies these values.
* is a wildcard and uniquely identifies a feed for the data that the specified IPAddress:Port distributes.
You include the line item AddressFeedA=220.127.116.11:10012
This sets the TT Gateway to obtain subject data from IP Address 18.104.22.168 and port 10012. This feed is labeled FeedA for purposes of routing.
Sets the IP address and port that the CME Group uses to broadcast the instrument definition data.
Sets the IP address and port that the CME Group uses to broadcast snapshots of market data activity.
The CME Gateway Version 7.12.2 and higher supports whichever version of FIX/FAST is used by the exchange for a given channel. At startup, the Price Server detects the version and logs the following message to the Price Server log:
Example Gateway supporting FIX/FAST 2.0 on channel 7
28.03.2010 10:37:24.789 | PRICESERVER/SIM | 5600 | INFO | 00000000 | price_session/FASTPriceBridge/FASTPriceBridge/CME_FAST_EQ_FUTURES | FAST INFO: CME_FAST_EQ_FUTURES: 22.214.171.124:10001: Auto-Sensing: VERSION TWO
If the CME Gateway detects FIX/FAST Version 1.0 for a particular channel, then Auto-Sensing: VERSION ONE is written in the log message.