The system supports two different use cases
Low latency: shared memory communication with a proprietary ultra-fast messaging layer.
Easy integration: socket based communication and an open-source schema based messaging layer.
Use when your concerns are latency, speed and accurate back-testing. Features
- Lowest possible time to encode and decode messages.
- Broadcast design to leverage hardware based distribution between CPU cores (cache coherence).
- Option to busy-poll on shared memory to avoid relinquishing control (to the Linux kernel).
- A very fast simulator for very accurate back-testing.
- You should be proficient with both C++ and Linux.
- All components must run on the same host.
Use when you’re not concerned with latency and/or if you’re maybe not totally comfortable with C++ and Linux.
- Using TCP/IP sockets for messaging: you can connect from any host and any platform (Linux, Windows, MacOS, etc.).
- Schema based: FlatBuffers includes a compiler allowing you to generate native encode / decode functions for the programming language you’re more comfortable with.
- Not useful if low latency trading is your thing.
- Does not scale very well to many trading strategies.
- No “out of the box” simulator.