FIX-to-Exchange Framework

EPAM Systems has created a FIX-to-Exchange Framework acting as a FIX compliant layer between a proprietary exchange API and the FIX protocol based world. FIX compliance together with the requirements for low latency and high availability are cornerstones of the Framework architecture. The Framework can be used to create FIX gateways to exchanges, alternative trading systems, multilateral trading facilities, dark pools and internalization engines for all asset classes.

FIX2EX_chart_preview.png

View larger image

FIX2EX_chart2_preview.png

View larger image

Framework Components

The FIX-to-Exchange Framework provides a set of components, customizable for specific needs and specific exchanges APIs.

  • Adapter to Exchange API. Hides the Exchange API from other components of the Framework with a general interface, which accept transactions and returns executions. The adapter also fully maintains connectivity to the Exchange, notifying the Mediator about the connectivity events.
  • FIX Adapter. This is the front FIX interface for FIX clients. Based on high-performance FIX engine (FIX Antenna C++), it provides both low-latency FIX connectivity between the Framework and the FIX world and full-featured object-oriented interface to FIX messages for other components of the Framework.
  • Mapper to internal Market Data (MD) structures. Maps market data, received from the Exchange, to internal data structure.
  • Mapper to FIX MD. Maps market data from the internal structures to FIX market data messages according to subscriptions.
  • Transactions Mapper. Maps the request from FIX clients to appropriate transaction in terms of the Exchange API and sends it to the Exchange API Adapter. The immediate result of the transaction is mapped back to FIX execution and sent to the FIX Adapter. The current state is updated in the Data Cache. Mapping rules can be adjusted for needs of the particular Exchange.
  • Executions Mapper. Maps the executions received from the Exchange API Adapter to the appropriate FIX message and sends it to the FIX Adapter. If necessary, it can retrieve additional information to enrich the message from the Data Cache and store its state into it. Mapping rules can be adjusted for needs of the particular Exchange.
  • Market Data Cache. A high performance market data storage optimized for multithreading use. It allows efficient creation of data subset for each individual subscription of FIX clients. All information is stored in the memory for high performance read/write access.
  • Subscriptions Manager. Stores individual subscriptions of FIX clients and provides subscription information to theMapper to FIX MD.
  • Orders Data Cache. A high performance storage of states of orders, trades, and other trading objects, optimized for multithreading use. Most of the information is stored in the memory for high performance read/write access. Only the information, which is required for restoring the object state after the system failure, is persisted.
  • Mediator. The central component of the Framework. It is the nexus between the other components of the Framework. It controls all of its interactions via a set of events and callbacks.

FIX Messages

The Framework supports the full range of market data and order-flow messages, including

The set of messages can be extended by customizing the mappers and Data Cache appropriately. Market Data is available in both FIX and FAST formats over both TCP unicast and UDP multicast protocols.

Technologies

  • C++ - C++ with Boost libraries was chosen to implement the platform-independent, highly efficient Framework components
  • FIX Antenna C++ - B2BITS' high performance, rich featured FIX Antenna C++ was used as a FIX engine for implementing the FIX part of the Framework
  • Failover in both cluster and non-cluster configuration is supported
  • Both unicast TCP-based and multicast UDP-based reliable market data delivery is supported

Our Services

We offer project management, customization and implementation of the Framework including:

  • Requirements definition study, business planning, custom development, design for the deployment platform
  • Integration, configuration and testing
  • 24x7 support, global help desk, system and application training

Successful Implementations

Financial and Energy Exchange Group (FEX), Australia

MICEX Group, Russia

  • Adaptor to MICEX MTE API (early version of CompuShare's software specifically tailored to the conditions of the Russian market)
  • FIX 4.2, FIX 4.4, FIX 5.0SP2, FAST
  • Market Data (TCP unicast and UDP multicast) and Transactional servers
  • OpenSUSE Linux x32, x64