FIX Engine message parser with microsecond latency

Chronicle FIX  is a fully featured FIX Engine which can handle all current versions of FIX.

What is Chronicle FIX ?

Built on our Chronicle libraries, and with the Chronicle philosophy. Chronicle FIX  employs amongst others, the principles of Zero-copy eliminating unnecessary garbage collection and increased speed. Runtime code generation that reduces code size for efficient CPU cache usage and increased speed. Smart ordering for optimal parsing and you guessed it increased speed. All these combine to allow Chronicle FIX  to achieve excellent performance results.

Benchmarks: Click here

Chronicle FIX Engine Features

Low latency, recyclable, configurable FIX implementation for inbound FIX message parsing, and outbound FIX message transmission

FIX message generator, around 1 microsecond, 99.9% of the time for medium sized messages

Pre-allocates the memory for FIXMessage objects. This is intended to reuse objects thus avoiding dynamic memory allocation

FIX parser, around 1 microsecond, 99.9% of the time for medium sized messages

Full FIX compatibility with FIX versions 4.0, 4.1, 4.2, 4.3, 4.4, and 5.0

Optional persistence of messages and latency checkpoints in, and out

Optimise latency for FIX in-order messages with fallback for out-of-order messages

Scalable to tens of connections per server, with minimal latency impact

Session handling; login, logout, and heartbeat

Integration with existing data structures in a zero-copy manner

High-performance test client to drive the system to its limits

Tools for minimising garbage collection and enabling zero-copy

Optimise networking to work efficiently with Solarflare network cards

MiFID II support

How does it work?

The parser has been optimised to accept fields in an expected order. Our default implementation has the order the fields as they appear in the fixprotocol.org documentation. However, the fields can be in any order allowed by FIX, but this may be a little slower. For generating, you do the reverse. You call an interface which writes the FIX message as you add the fields. Ideally, you call the fields in the expected order; this speeds up parsing.

By recycling the buffer, and using object pools and mutable StringBuilders, we can send and receive messages end-to-end without significant garbage. Our target is less than one byte per message, on average. We design our systems to produce less than 1 GB/hour of garbage. This means that a 24 GB Eden space takes 24 hours to fill up. You can save around 0.2 microseconds if you drop checking, or computing, the byte sum.

Super Low Latency

Chronicle Queue (a super-optimised low-latency core application from the Chronicle Enterprise suite) is included which logs every FIX message. And with Replay, you can easily replay all your historical FIX messages from a Chronicle queue into Chronicle FIX Engine to give the deterministic replay. In other words, you can feed your test systems with actual historical data; so no more made-up, or generated data, that can’t reproduce production issues. You can use this technique to test experimental strategies.

Chronicle FIX Engine can be used stand-alone. However, it really makes sense to use it as your entry point to the rest of the Chronicle products. You will benefit from the ultra-low latency that we can provide if you use Chronicle as the backbone throughout your systems.

Automatic FIX version translation and routing

Chronicle FIX Engine supports seamless and simultaneous translation between multiple FIX versions/schemas. This allows an organisation to maintain its business logic using a single unified FIX version, for example, FIX 5.0, but facilitates clients using many other FIX versions/schemas to connect to the unified business logic. All of this enables faster time-to-market plus it reduces development and maintenance costs.

The FIX Router can be configured to automatically route and proxy between destinations (and also transparently translate between different FIX versions/schemas), and enable clients of any version to connect to existing services with no modifications.

Adaptors

FX – Chronicle FIX has support for the Refinitiv SBE, EBS Live Ultra, with CME Globex in development:

  • Ultra low latency & high throughput
  • Full support for EBS/TR's spec and multiple data formats
  • Ability to listen to two streams simultaneously or fail between streams
  • Simple programming mode, able to easily integrate with Chronicle Microservices etc.
  • Flexible programming model, can run standalone or integrated in your codebase
  • Operational and developer support tooling

ITCH –ITCH functionality is supported by Chronicle FIX

  • Session level and sequenced messages are fully configurable
  • Chronicle FIX can generate highly optimised ITCH parser which can parse a typical ITCH message in less than a microsecond
  • Chronicle FIX allows FIX connections to coexist with ITCH connections in the same running engine

SBE is supported by Chronicle FIX

  • SBE is optimized for low latency of encoding and decoding
  • iLink 3 SBE Binary Order Entry is in development
  • SBE connections can coexist with FIX and ITCH connections in the same running engine

How can you get access to Chronicle FIX Engine?

You can access Chronicle FIX Engine via our enterprise GitHub repository where you can read, fork, and create, pull-requests on our code. It works exactly like the open source. You can be as involved as you like.

Chronicle FIX Engine Support to Meet Your Specific Needs

We'll support as you need, to help with any issues that might arise, either with Chronicle FIX Engine itself, or with your project as a whole. We understand that the FIX Engine is usually only a small part of a system, and we can use our experience to help with latency issues with other parts of your project should you need it.

Chronicle Community Photo 2

Want to learn more? See the benefits of Chronicle's products in action

At Chronicle, we believe less is more. Learn more about why and how Chronicle can support your business and how it can increase efficiency and streamline your systems and workflows by speaking with one of our experts.

We can also offer you our release notes.

    By completing this form, I agree that Chronicle Software may keep me informed of its products, services and offerings. To view our privacy policy, click here. To unsubscribe click here.