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 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. Also learn about our FIX connectivity solution based on FIX application server FIXEdge.

  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 highest performing FIX engine.

Delivers over 100,000 messages per second.

FIX Engine can handle more than 500 sessions.

FIX Antenna C++ adds about 9 microseconds latency (with 99 percentile) and the maximal total steady throughput is about 500000 msg/sec

Allows configuring sending/receiving prioritization for a session.

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

See details on the  Benchmarks page.

Supports standard FIX
  • 100% FIX standard compliance:
    • FIX 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2, FIX Latest
    • FAST 1.1
  • Supports all FIX message types (pre-trade, trade, post-trade, market data)
  • Supports high-precision timestamps in accordance with MiFID II requirements
  • Support of the popular FIX dictionary format used by QuickFIX
  • Message validation (well-formedness, required and conditionally required fields and their values , fields order, types). 
  • 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 in a friendly XML format and QuickFIX compatible format
  • Multiple session management
    • Supports up to several hundred concurrent sessions on a single instance on recommended hardware
    • Each session can be configured separately. FIX Dialect can be configured for a session
  • 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
  • Session Qualifier support for identifying different sessions with the same SenderCompId and TargetCompId
Delivery modes
  • Later delivery mode allows unsent messages to be stored in a queue and delivered later when connection is re-established. Recommended configuration for a session, where execution reports are to be delivered, e.g. a session with traders
  • Rejecting mode allows messages that cannot be sent during a set time (customizable) to be rejected. Recommended configuration for a session where orders are to be delivered, e.g. a session with exchanges
  • Configurable Throttling
Highly customizable FIX session level
  • Different modes of handling sequence numbers during logon and reconnect
  • Intraday logout tolerance
  • Custom logon message
  • Force sequence number reset on logon
  • Configurable behavior in case of unexpected Logouts during the Logon procedure
Reliability and redundancy
  • Ability to switch to back-up connection manually or automatically
  • Ability to fully restore its state after failure
  • Designed to work as a part of highly available solutions in a cluster
  • FIX Engine detects unfinished transactions in persistent storage in case of failure and prevents work with inconsistent data
  • Limits the maximum number of connections waiting for logon
  • Time limit for sending logon messages before closing the socket
  • Denial of Service protection from buffer overflow attack.  Ability to limit a memory buffer for incoming messages    

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