Configuration Files
The latest version of the connectivity configuration files is available on the ICE site.
Getting Started
Specify the network configuration file with IceImpact::ApplicationOptions::xmlConfig
The configuration consists of three sections: TCP connection information, multicast groups, and market types definitions.
The network configuration details can be found here: ICE_Multicast_Connectivity_Guide.pdf
An application can work with multiple environments, (for example, UAT and Production). Each one has its own destination and source addresses.
Multicast Configuration Structure
Legend:
Structure | Description | Example | ||||||
---|---|---|---|---|---|---|---|---|
<multicastClientConfig> | ||||||||
<environment> | An entry with the name of the deployment environment. | |||||||
name | Name of the environment | APITest | ||||||
<tcp> | TCP connection attributes | |||||||
ip | The IP address of the TCP Recovery connection | 63.247.113.77 | ||||||
port | The port of TCP Recovery connection | 3000 | ||||||
userName | Username | |||||||
password | Password | |||||||
<multicast> | Multicast groups information containing the list of group definitions | |||||||
<group> | Individual group entry | |||||||
name | Name of the multicast group | ICE Endex Spot | ||||||
<fullOrderDepth> | Full Order Depth | |||||||
<live> | ||||||||
ip | The IP address for live connections for the Full Order Depth feed | 233.156.208.157 | ||||||
port | Port for live connections for the Full Order Depth feed | 20157 | ||||||
<snapshot> | ||||||||
ip | The IP address for snapshot connections for the Full Order Depth feed | 233.156.208.156 | ||||||
port | Port for snapshot connections for the Full Order Depth feed | 20156 | ||||||
<priceLevel> | Top 5 Price Level | |||||||
<live> | ||||||||
ip | The IP address for live connections for the Top 5 Price Level feed | 233.156.208.155 | ||||||
port | Port for live connections for the Top 5 Price Level feed | 20155 | ||||||
<snapshot | ||||||||
ip | The IP address for snapshot connections in the Price Level feed | 233.156.208.154 | ||||||
port | Port for snapshot connections in the Price Level feed | 20154 | ||||||
includeEnvironment | ||||||||
envionment | ||||||||
name | ||||||||
<multicastGroups> | List of all the enabled multicast groups | |||||||
<multicastGroup | Entry in the list | |||||||
name | Name of the multicast group | name="Digital Assets" | ||||||
isOptions | Indicates whether a group is an Options group. Options only support price level books. There is no Full Order Depth for predefined options markets. | isOptions="false" | ||||||
isFullyImplied | MulticastGroup can't be Options and fully implied at the same time. | |||||||
<allMarketTypes> | List of all market types with their corresponding multicast groups. | |||||||
<marketType> | An entry of a market type with market type definition according to ICE | |||||||
code | The value in the ID column from ICE supported market type spec _Market_Types_on_ICE_API. | code="0" | ||||||
name | Market type name | name="Financial Gas" | ||||||
<multicastGroup> | reference to the multicast group used for getting data. | |||||||
name | multicast group name from <multicastGroups> definition. | name="ICE OTC" |
TCP Connection Information
The TCP connection information section:
- Defines attributes (IP and port) whose values allow the server to connect to a remote system.
- Defines logon information (username and password) that the handler uses within its requests
<tcp ip="63.247.112.185" port="80" userName="Username" password="Password"/>
ICE iMpact MD Handler retrieves the static instrument data from this connection.
Clients connect to the TCP server to make requests for product definitions and historical replays. Once a connection is successfully established, the client must send a login request. If the server does not receive a login request within 10 seconds, it will automatically close the connection.
All TCP messages including requests and responses are defined in ICE iMpact Multicast Feed Message Specification.
The static data can be received from ICE or loaded from a file configured with IceImpact::InstrumentLoadParams::filename. Acquiring static data occurs before processing multicast Market Data messages.
Multicast Groups
Multicast groups are for defining multicast feed channels for different markets. Each group defines feed IP addresses for incremental and snapshot channels.
<multicast> <group name="ICE Futures Europe Non Oil"> <fullOrderDepth> <live ip="233.156.208.12" port="20012"/> <snapshot ip="233.156.208.13" port="20013"/> </fullOrderDepth> <priceLevel> <live ip="233.156.208.14" port="20014"/> <snapshot ip="233.156.208.15" port="20015"/> </priceLevel> </group> </multicast>
Market Types Definitions
<allMarketTypes> <marketType code="0" name="Financial Gas"> <multicastGroup name="ICE OTC"/> <multicastGroup name="ICE OTC FI"/> <multicastGroup name="ICE OTC Options"/> </marketType> </allMarketTypes>
Market types that ICE currently supports can be found at the URL below. They can be used in Product Definition and Market Data Requests.
https://www.theice.com/publicdocs/technology/Supported_Market_Types_on_ICE_API.pdf
Typically, a market type belongs to a single multicast group. In the case of options, a market type can belong to both a futures group and an options group.
The ICE iMpact MD Handler gets a list of available instruments from the static data received from ICE and links it with configured data feeds.