Understanding The EMDI Price Feed
The gateway supports Eurex’s public market and product reference data via their Enhanced Market Data Interface (EMDI) and Reference Data Interface (RDI) available on the new trading architecture. Both interfaces are message-based and distribute information via UDP multicast, following FIX 5.0 SP2 semantics and are FAST 1.21 encoded.
Market Data Streams
Duplicate market data is sent to the gateway through an A and B stream via the Reference Data Interface channels on the EMDI price feed.
- By default, both feeds are sent on two multicast addresses via different channels (service A + B); both services provide identical packets, sequence numbers, and package sequence.
- Market data originates first on either the A Stream or the B Stream, so the Price Server subscribes to both streams simultaneously.
The MulticastGroups.cfg file contains the multicast IP addresses distributed by Eurex for subscribing to EMDI. The file automatically installs on the Eurex Gateway in the <root drive>:ttconfig directory. By default, the gateway will connect to either Service A or Service B for each section defined in this file, which is not configurable. The exchange multicasts product definitions via RDI, settlement prices via EMDI (subscribed to by the gateway at startup), and OTC time & sales data.
The following example shows the MulticastGroups.cfg file parameters.
Ensure that the multicast IP Addresses in MulticastGroups.cfg are fully resolved through any NAT firewalls and NAT routers used in your trading environment. These IP Addresses are included in the file as part of a new installation or upgrade of the gateway.
The Eurex Gateway installs with four FIX/FAST template files to parse the EMDI price feed:
|EMDIFastTemplates.xml||Incremental price updates for each contract|
|EMDSFastTemplates.xml||Snapshots of price updates (via recovery channels) for each contract|
|ExtMkDatServ_FAST.xml||OTC market data, settlement prices, and intra-day settlement prices.|
The template files serve as an encoder/decoder between the EMDI price feed and the Price Server, and are distributed by the exchange and automatically install with the Eurex Gateway. By default, these files are located in the <root drive>:ttconfig directory. There are no separate parameters in hostinfo.cfg for the templates -- the Price Server is programmed to parse each template.
TT provides the updated versions of the files as follows:
- Clean installation: Installing the latest version of the Eurex Gateway provides the most recent template files by default.
- Upgrade: When upgrading to the latest version, the Eurex Gateway overwrites your existing template files with the most recent versions.
- Customer Advisory (CA): If the exchange updates either template file prior to a Eurex Gateway release, TT will issue a Customer Advisory with the most recent version. You must manually overwrite your existing file with the most current.
You must use the most recent version of the template files. Failure to do so causes incorrect parsing of the price feed. Additionally, if the RDDFastTemplates.xml template is not the most recent version, the Price Server will not start.
Support for Settlement Prices
The Price Server reads the Reference data from the exchange to populate settlement and close prices.
When the Gateway becomes active during start-up, the Price Server populates the Settle and Close fields for all contracts in the X_TRADER® Market Grid with the previous trading day’s settlement and close prices. When the current trading day’s settlement price is disseminated by the exchange intra-day, the Price Server populates the IndSettle field with the settlement price if the product is still in the Open state. When the product moves to the Close state, the IndSettle field is cleared and today's settlement price is copied to the Settle column.
If the Eurex Gateway encounters a problem when settlements are published (e.g., an inactive Price Server, an exchange disconnection, Eurex Gateway goes online after the publish, etc.), settlements will not be available the next trading day.
EMDI/RDI Inclusion Lists
The gateway processes inclusion lists but does not require them when reading the RDI stream on the EMDI price feed.
Strike Price Decimal Support
The Eurex Gateway displays a decimal place on strike prices for options and strategy contracts (e.g., ODAX Dec12 C62.50). Previous versions of the gateway did not display the exercise price decimals sent by the exchange (e.g., ODAX Dec12 C6250).
If you have upgraded to Eurex Gateway 7.16.9, the following TT Clients are impacted:
- FIX Adapter: FIX clients have to provide and expect the new price value in tag 202 (StrikePrice)
- RTD Links and X_TRADER® API programs, including X_TRADER® Plug-Ins that reference these products, may need to be updated to reflect the new contract name.
- Back Office Bridge™: Positions that were manually captured before the upgrade have to be manually altered to add the decimal to each option’s strike price in the Back Office Bridge capture file; this is done prior to publishing the positions to the newly upgraded gateway. Additionally, customers publishing from back office files may have to adjust the “Strike Offset” for each option in order to publish to the correct instrument.
EMDI Price Server: Market Data Recovery
If any messages are lost, complete recovery is possible because every message is published on two identical services (A and B) with different multicast addresses. In the unlikely case that a message is lost on both services, participants can take advantage of the respective snapshot message and rebuild the order book.
Due to the inherent unreliable nature of the delivery mechanism of the UDP protocol, packets may be lost in transmission, arrive out of order, or may be duplicated. When the Price Server detects a gap in market data, the following occurs:
- The Price Server remains connected to both Service A and Service B while forwarding market data messages to the client applications as they arrive.
- The Price Server performs the following:
- Waits for the missing data to arrive. The amount of wait time (30 seconds) is determined by the Recovery Timer programmed in the Price Server.
- If the missing data does not arrive before the wait time elapses, the Price Server enters recovery and clears the contract’s market data from the Market Grid window.
- Subscribes to the contract’s Snapshot Stream and waits for the current Order Book snapshot from the exchange.
- Stays connected to the A or B Stream and forwards all incoming deltas to the connected client applications.
- Waits for the packets carrying the snapshot information message on the contract and discards all the other packets.
- Applies the snapshot to the local copy of the Order Book and unsubscribes from the Snapshot Stream.
- Continues operation with the A or B Stream.