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's 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.
Framework Components
The FIX-to-Exchange Framework provides a set of components that
customizable for specific needs and specific exchange APIs.
Adapter to Exchange API. Hides the Exchange
API from other components of the framework with a general interface
that accepts transactions and returns executions. The adapter also
fully maintains connectivity to the exchange, notifying
the Mediator about connectivity events.
FIX Adapter. This is the front FIX interface
for FIX clients. Based on a 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
an internal data structure.
Mapper to FIX MD. Maps market data from
internal structures to FIX market data messages according to
subscriptions.
Transactions Mapper. Maps a request from FIX
clients to the 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 the 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 the needs of the particular exchange.
Market Data Cache. High performance
market data storage, optimized for multithreading use. It allows
the efficient creation of data subsets 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 the Mapper to FIX MD .
Orders Data Cache. A high performance storage
of the 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 that is required for restoring the object's state
following 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++ - EPAM 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 (an early version of CompuShare's
software that is 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