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.
100,000+ messages/sec on a
single CPU 1,000
messages/sec across 500 sessions
Real time monitoring of
session statuses & parameters Rich User Interface Support
various requirements
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 |
|
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.
B2BITS® FIX Products vs. Open
Source FIX Solutions
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:
The same codebase (except low-level platform dependent code) is
compiled and tested on all platforms!
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