API Reference
API Reference
Overview
EPAM B2BITS ICE iMpact Handler(tm) is a C++ library that helps to feed the ICE market data directly into the user's algo-trading application. The library is intended to work on ICE Exchange co-location environment with direct access to UDP Multicast.
Version: 1.1.4
Main features:
- Listen to TOP5, TOB and Full Order Depth channels of the ICE UDP iMpact Multicast interface
- Supports Direct Access User (DAU) functionality on ICE Exchange
- Low-latency design optimized for modern multi-core processors
- Ready for use with OS kernel bypass NIC cards: Solarflare OpenOnload and Myricom DBL
- 6 microsecond wire-to-wire tick-to-trade latency when used together with B2BITS FIX Antenna(tm) for holding the order entry session
- Windows and Linux OS supported
- Built-in price book
- BBO conflation
- Per-instrument subscriptions as well as 'ticker-plant' mode for all-instrument subscription
Installation Package Includes:
- B2BITS ICE iMpact Handler C++ library
- Getting started console application with simple instrument subscription
- Sample GUI Trading Terminal with market data and order blotter
- Low latency trading application example (requires FIX Antenna libarary)
- Tick2trade test harness with PCAP input
- UDP tools for data capture and replay at different speeds
- Utility to produce the audit trail output according to ICE Futures U.S. Electronic Audit Trail Requirements
Getting Started
To get started quickly, there are sample applications with source code provided.
- IceImpactClient sample console application to subscribe to instruments and get BBO, Trades and calculated price book. This application can also measure internal latency of B2BITS ICE Handler when processing price updates from ICE.
- Tick2trade set of tools that includes:
- tick2trade_exchange - ICE exchange simulator that sends UDP price updates and holds a FIX session with tick2trade_trader application
- tick2trade_trader - An application that listens to price feed and sends test orders
- tick2trade_monitor - Latency calculation tool with realtime packet capture, can also use PCAP file import. This tool works in conjuction with tick2trade_exchange and tick2trade_trader.
- icefix_client a GUI application based on Qt; this is a sample trading terminal.
- udpdump, udpreplay - utilities to record and replay UDP multicast traffic
- icebin2text - convert recorded binary logs with ice messages to text
In a nutshell, the following steps are to be taken to start getting ICE price feed in a C++ program:
- Create an instance of B2BITS ICE Handler:
ApplicationListener* listener = new MyApplicationListener();
- Request Product Definitions:
- Subscribe to instrument:
- Get BBO updates and Trades in MyApplicationListener callbacks:
Multicast XML Configuration File
ice_mcast.xml file contains configuration information for various deployment environments. The TCP and Multicast Group addresses are pre-configured in this file.