Market Maker Solution require separation of trading platform architectural layers (order management, market data, risk control, trading algorithms) and high-frequency trading (HFT)properties – nanoseconds latency possible, high throughout.
Achieving a nanoseconds latency may be difficult in conventional trading applications. Separating architectural layers makes perforce sense but may also introduce significant limitations in high-frequency trading (HFT) applications that market makers require.
We were facing a significant architectural challenge in one of the recent Argo Trading Platform (ATP) customization projects – a trading infrastructure for one of CME market maker when IPC between Argo Trading Platform servers (OMS, MDF, RMS ) became a major obstacle. Our layered design came to rescue. We have designed Argo Market Maker Solution by collocating trading API, order management and market data frameworks in one process. Then we have applied tried-and-true software engineering performance improvements technics:
- build on Linux, taking advantages of myriads OS-specific optimization tricks
- use the best of the breed network technology and kernel bypass IP stack from Solarflare
- eliminate data copying – whenever possible
- pre-serialize trading venue FIX messages
- refactor data structures to facilitate optimal use of processor cache
- apply lock-less and block-less design patterns, eliminating latency of OS signaling whenever it’s possible
- make pools of working threads allowing processing of multiple inbound and outbound streams of data (orders, order states, market data) to be processed concurrently on multiple CPU cores
- utilize OS scheduler interfaces to complete minimize indeterministic behavior of standard thread scheduling algorithms
We’ve got a solution that provides an excellent tick-to-trade latency. Also, it is ready to be used with various FPGA solutions .
Source Code License is available. Contact Argo for more information.