HFT Antenna is a C++ library which is designed as a solution for low latency FIX message routing. 'HFT' means high frequency trading. It incorporates advantages of Linux specific features and the best message routing practices. 

HFT Antenna FIX Engine is optimized for stable deterministic latency for routing from multiple sessions to multiple sessions. This is achieved by:

  • effective utilization of CPU cores: less number of physical cores is required to support more sessions;
  • usage of new socket dispatcher optimized for Solarflare OpenOnload;
  • usage of new Memory Cached Message Storage which reduces latency jitter;
  • usage of FIX message object pool which reduces the number of memory allocations.

 Our products come with a 24x7 support provided worldwide and availability of "on demand" software escrow.

Features

Feature Description
High throughput / low latency

The highest performing FIX engine in existence aimed for the cases of routing from multiple sessions to multiple sessions. See details on the Benchmarks page.

Supports standard FIX 4.X
FIX standard compliance: FIX 4.0, 4.1, 4.2, 4.3, 4.4
  • Supports all FIX message types (pre-trade, trade, post-trade, market data, etc.)
  • Message validation for standard FIX Antenna C++ FIX message type (well-formedness, required and conditionally required fields, fields order, types, etc)
  • Customizable FIX protocol with user-defined tags and message types. Create your own FIX dialect e.g. defined extra field for a message, change "required" attribute, etc. in a friendly XML format
  • Guaranteed delivery
    • Relies on the store and forward technique
    • Flat files are used for persistence to achieve maximum performance
Multiple session management
  • Supports hundreds of concurrent sessions on a single instance on recommended hardware. Number of concurrent sessions can be increased if more CPUs are added
  • Each session can be configured separately. FIX Dialect can be configured for session
Highly customizable FIX session level
  • Different modes of handling sequence number during logon and reconnect
  • Intraday logout tolerance
  • Custom logon message
  • Force sequence number reset on logon
Security
  • Standard FIX authorization utilizing username and password fields in FIX Logon message
  • Auto-accept incoming sessions (to simplify development and testing) and auto-decline non pre-configured sessions
Reliability vs. performance
  • Uses low latency dispatcher optimized for Solarflare OpenOnload
  • Supports the following storage types which guarantee that session can recover its state after connection failure:
    • Persistent - stores data to the flat files
    • Memory Cached Message Storage - tracks the last processed SeqNum from IN and OUT index files
  • Supports transient sessions, which do not use any persistence. This significantly increases performance giving up recovery. Applicable when recovery is not required (e.g. for market data) or when persistence is done by the application, which uses the FIX Antenna engine
  • Provides ability to enable async logging for the threads: message is written to the memory and then dedicated logger thread stores it to the log.
  • Provides API for persistence management - user can discard saving of incoming message or save it later
  • Provides API for message "cookie" - storage can store user information attached to the FIX message.
Performance tuning
  • Ability to enable or disable Nagle's algorithm to minimize latency or maximize throughput
  • Ability to configure (or turn off) the number of messages to be joined in a bunch before sending
  • Ability to configure CPU affinity to enable the binding and unbinding a thread to a CPU or a range of CPUs, so that the thread will execute only on the designated CPUs rather than any CPU
Monitoring and administration
  • Built-in support of command console (telnet and local)
  • Utilizing FIX session and the same FIX listen port for administrative session
  • Friendly XML-based DSL for administrative instructions: easy to read, easy to extend
  • Public API to override and/or extend existing administrative instructions
  • Rich monitoring and administration GUI out of the box
Message composition API
  • Supports new message type - LiteFixMessage:
    • LiteFixMessage API is similar to FIX Antenna Java message API as both share the same design principles of the new FIX message
    • LiteFixMessage objects can be stored in the message pool
    • LiteFixMessage allows to iterate through FIX message tags
  • Provides TagVisitor interface that can be invoked during FIX message parsing and helps to collect message tags in a side structure used by user application
  • Provides ability to use standard FIX Antenna C++ FIX message type (with less performance though)
Integration

Is supplied as a shared object dynamic library(.so) for Linux

Packaging

The package includes:

  • Binaries
  • Header files
  • Programmer's Guide
  • API Guide
  • Samples and benchmarks
  • Software escrow is available on demand

Specifics and Limitations

Feature FIX Antenna C++ FIX Antenna HFT
Windows OS check icon   
Linux OS check icon check icon
x32 check icon  
x64 check icon check icon
FIX 4.X check icon check icon
FIX 5.X check icon  
Multiple FIX sessions check icon check icon
Standard FIX routing (OnBehalfOf + DeliverTo) check icon  
FAST check icon  
FIX dialects support check icon check icon
FIXML support check icon  
All asset classes check icon check icon
Sessions-initiators check icon check icon
Sessions-acceptors check icon check icon
Customizable message validation check icon  
Message encryption check icon  
Login/password encryption check icon  
Recovery after failure check icon check icon
Persistent sessions check icon check icon
Transient sessions check icon check icon
Later delivery when connection is not established check icon check icon
Reject message when connection is not established check icon  
C++ API check icon check icon
Java API check icon  
.NET API check icon  
FIX integrated control center check icon   check icon
FIX/FIXML conversion check icon  
Low latency check icon check icon
High throughput check icon check icon
Reset sequence number on each Logon (ICE mode) check icon  
Ignore sequence number too low at Logon check icon  
Backup connections check icon  
Username and password in Logon check icon check icon
Pre-configured to work with multiple exchanges check icon  
CME Globex market data interface check icon  
Async and parallel processing of incoming messages   check icon
Async logging   check icon
Built-in support of command console (telnet and local)   check icon
Message "cookie"   check icon
Out-of-band Drop Copy service   check icon

Supported Compilers

Supported architectures

  • x86-64

Supported operating systems and compilers:

  • Red Hat/CentOS 6 Linux, GNU C++ v4.4
  • Red Hat/CentOS 7 Linux, GNU C++ v4.8
  • Red Hat/CentOS 7 Linux, GNU C++ v6.3
Can't find your platform in the table?

APIs

HFT FIX Antenna provides the following main APIs for trading applications to:

  • Create multiple FIX sessions (initiators and acceptors)
  • Open and close FIX session
  • Form LiteFixMessage message
  • Parse LiteFixMessage message
  • Send and receive LiteFixMessage messages
  • Set sequence numbers
  • Read messages from FIX session logs 
full list of HFT FIX Antenna APIs

Use cases

Order Router

FIX Antenna HFT can be used as a FIX Engine in Order Routers, which main responsibility is to deliver the order from end-user to Exchange as soon as possible with minimum latency.

Order Router

By its nature FIX Antenna HFT with its stable deterministic latency aims to serve routing from multiple sessions to multiple sessions and can be used in Order Router application in a most effective way.

FIX Gateway

FIX Antenna HFT can be used under the hood of the FIX Gateway designed to support hundreds of sessions with multiple users per session, to perform authentication and validation and to transmit data from the source to the application and from the application to counterparties.

FIX Gateway

The most essential parts of such FIX Gateway should be a fast session level and effective model of threads for processing incoming messages which can be fully achieved by using FIX Antenna HFT capabilities with its flexible and high-performance message processing mechanism, ability of handling spikes in load and effective utilization of CPU cores. In that way, relying on the FIX Antenna HFT FIX Engine, all the main efforts can be directed to the application level.

Pre-Trade Risk Check Module

FIX Antenna HFT is used as a FIX Engine in one of the EPAM B2BITS products - Pre-Trade Risk Check Module (RCM).

Pre-Trade Risk Check Module

Risk Check Module performs pre-trade activities and calculates risk checks restricting actions of one or multiple traders at the same time. By their nature these pre-trade activities become an additional step for order to reach the exchange or client, which can obviously affect the latency.

Using capabilities of the FIX Antenna HFT Pre-Trade Risk Check Module ensures low latency pre-trade risk checks and order routing.

In this way Pre-Trade Risk Check Module can be used by the Exchanges in order to remove the load in terms of Risks & Limits checks and focus on other high-priority activities like order matching, market data processing, etc. In its turn, buy-side firms can also use Pre-Trade Risk Check Module being sure that all the pre-trade risk checks are performed with minimal latency impact.