FIX Antenna® C++ is specifically designed to deliver high performance. It can deliver over 100,000 messages per second on a single CPU and has been benchmarked at 500,000 messages/sec steady throughput with 500 sessions processing 1,000 messages per/second each. This level of performance means it is an ideal solution for exchanges, sell sides and program trading operations. FIX Antenna C++ FIX engine is currently deployed in some of the most demanding environments in the world.

FIX Antenna C++ FIX engine is not purely a performance engine. It has a rich feature set to support the variety of requirements that a FIX engine must fulfill. It supports FIX 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2, FIX Latest and FAST. It also comes with a rich UI for monitoring session statuses and parameters in real time on desktop app or web browser.

All libraries/servers are pre-configured for and certified with multiple exchanges. Our products come with 24x7 support worldwide and on-demand software escrow. FIX connectivity solution based on FIX application server FIXEdge C++ is also developed.

  Performance 100,000+ messages/sec on a single CPU 1,000 messages/sec across 500 sessions
  Monitoring Real time monitoring of session statuses & parameters Rich User Interface Support various requirements
  Support 24 x 7 Service Worldwide coverage On demand software escrow

Features

Feature Description
High throughput / Low latency

The engine has been benchmarked on  this hardware with the following results:

  • FIX Engine is able to handle more than 500 sessions on a single instance
  • The maximal total steady throughput is about 500,000 msg/sec
  • FIX Antenna C++ is the highest performing FIX engine

Latest performance testing results for FIX Antenna C++ can be found here.

Ready for use with OS kernel bypass NIC card Solarflare™ OpenOnload.

Supports standard FIX
  • 100% FIX standard compliance:
    • FIX 4.0 - FIXT 1.1 session-level FIX versions
    • FIX 4.0 - FIX Latest application-level FIX versions, EPs included
    • FAST 1.1
  • Customizable FIX dictionaries with user-defined tags and message types
  • QuickFIX-formatted dictionaries
  • All FIX message types (pre-trade, trade, post-trade and market data)
  • FIX messages validation (well-formedness, required and conditionally required fields and their values, fields order)
  • Custom Logon messages
  • Guaranteed delivery:
    • Relies on the store and forward technique
    • Flat files are used for persistence to achieve maximum performance
  • Standard FIX routing based on DeliverTo and OnBehalfOf fields
  • High-precision timestamps in accordance with MiFID II requirements
Session management Session management:
  • Configure and run acceptor and initiator sessions separately or/and by groups
  • Session Qualifier support for identifying different sessions with the same SenderCompId and TargetCompId
  • Authorize using username and password fields in Logon message
  • Incoming and outgoing sequence numbers management
  • Intraday logout tolerance
  • Force sequence number reset on logon
  • Unexpected Logout and invalid Logon handling
Smart session scheduling:

 

  • CRON expressions for sessions schedule accurate to the second
  • Support of different time zones
  • Ability to assign one schedule to multiple sessions or configure it per session
Delivery modes
  • Undelivered messages are provided to the counterparty on connection via FIX standard resend request mechanism
  • Later delivery mode allows unsent messages to be stored in the queue and delivered later by schedule or when connection is re-established
  • Rejecting mode allows rejecting messages that cannot be sent during some reasonable and customizable time period
  • Configurable throttling of incoming and outgoing messages
Reliability and redundancy

More details

Security
  • Standard FIX authorization utilizing username and password fields in a FIX Logon message
  • FIX encryption for non-private networks: DES and PGP-DES-MD5 schemes
  • SSL/TLS
  • Auto-accept incoming sessions (to simplify development and testing) and auto-decline non pre-configured sessions
  • FIX acceptor sessions can have dedicated port
  • Encrypting user's credentials and hide passwords in the log
  • Protection from abnormal user behavior
  • CME Secure Logon support. (See How to connect to CME Globex using Secure Logon for details)
  • Ability to configure ciphers for SSL connections (See How to use SSL with FIX Antenna C++ and FIX Antenna .NET for details)
  • DNS  Spoofing detection
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 dedicate threads for session for sending and receiving data, to minimize overhead on context switching
  • 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
  • Ability to use 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 that uses the FIX Antenna engine
Monitoring and administration
  • Built-in remote monitoring and administrative interface for sessions monitoring and management
  • 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
  • Logging to plaintext files
  • logging with Log4cplus as system backend for writing logs to a log collector via TCP (See Log4Cplus Usage for details). e.g:  option for logging to  Splunk
  • Ability to  log important lifecycle events (e.g. application starting, application complete) in CEF format, e.g for  ArcSight
  • Rich monitoring and administration GUI out of the box
Message composition API
  • Provides the following functionality:
    • Creating a message singleton by FIX protocol version and message type
    • Creating a message from a raw FIX string (parse)
    • Serializing a FIX object message to raw FIX string
    • Adding, removing, modifying FIX fields and repeating groups
    • Validating messages
  • FIX flat message model - generic model to work with the abstract FIXMessage class via fields and groups getters and setters, which gives the highest performance
  • Support a custom symbol instead of SOH
  • FIX object model - each FIX message type is a class with FIX fields as members, using intelligence to make working with the FIX business object more pleasant
FAST Antenna Codec

FAST Antenna Codec is a library written in ANSI C++. It is a full implementation of FAST PROTOCOL

More details

Integration
  • Is supplied as a dynamic library (.dll) for Windows or a shared object dynamic library(.so) for Linux
Packaging

The package includes:

Architecture

FIX engine is built using real time design patterns proven with over ten years of practice.

The design of FIX Antenna C++ allows supporting various modes to maximize high throughput, achieve low latency, or operate in a custom mode with balanced throughput and latency. The internal design also allows controlling the number of threads by fixing this number in case of multiple FIX sessions, to share time between them or by dedicating threads for individual FIX sessions.

Access to low level parameters is provided to tune TCP/IP performance (Nagel's algorithm), choose the type of storage for state recovery, collect run-time statistics, measure time taken by a particular operation, as well as turn on and turn off a particular feature, among others, elaborated on here.

LEARN MORE
 
 
 

APIs

FIX Antenna C++ is a full implementation of FIX protocol. It provides the following main APIs for trading applications to:

  • Create multiple FIX sessions (initiators and acceptors)
  • Open and close FIX sessions
  • Form FIX and FIXML messages
  • Parse FIX and FIXML messages
  • Validate FIX messages
  • Send and receive FIX messages
  • Set sequence numbers
  • Configure a schedule for sessions
  • SSL support 
  • SSL certificate authentication 
full list of FIX Antenna C++ APIs

 

Smart resend request processing logic:

  • Four  strategies for processing out-of-sequence messages: 
    • FIX protocol compliant processing (ResendAlways)
    • Don't save resend request duplicates (RequestOnce)
    • Ignore sequence gaps when message sequencing is not important (Ignoregap)
    • Delay message processing till sequence synchronization (Queue)
  • Ability to limit the volume of messages sent as a reply on  resend request
  • Option to ignore resend request duplicates

Supported Compilers

FIX Antenna C++ is tested on a wide variety of compilers and platforms. The binary package is available right away for the platforms listed below:

Operating System Compiler 64-bit
Windows

MS Visual C++ 2015

check icon

MS Visual C++ 2017

check icon
Linux RHEL 7 C++ 11 ABI check icon
Linux Ubuntu 16.04 C++ 11 ABI check icon

The same codebase (except low-level platform dependent code) is compiled and tested on all platforms!

Can't find your platform in the table?

Price

We offer cost-effective licensing models based on application process concurrency limits, level of support (business hours only, 24x5/7), etc. Site licenses, OEM licensing models, and discounts based on the number of purchased licenses are also available. Development, test, and back-up licenses are licensed separately. The cost of these licenses is 50% of the listed price of production licenses.

view licensing models