Understand the roq-api design and architecture
masterroq-api provides a modular, low-latency C++ interface for algorithmic and high-frequency trading (HFT). It is designed to reduce 'glue' code by offering standard solutions for data capture, monitoring, and bridging.
Core Components:
- C++ API: A unified interface that allows clients (such as trading strategies) to communicate with gateways or replay event-logs for simulation and back-testing.
- FIX bridge: Supports integration with third-party solutions via the FIX protocol.
- Adapters: Support third-party database solutions (e.g., ClickHouse).
- Metrics interface: Supports third-party monitoring tools like Prometheus, Alertmanager, and Grafana.
Key Technical Characteristics:
- Allocation-free: Strong preference for allocation-free message encoding/decoding.
- Schema-driven: Extensive use of auto-generated code based on schemas.
- Strongly typed: Uses strongly typed messages (events).
- Asynchronous: Provides asynchronous interfaces and implementations.
- Low Latency: Utilizes C++ and shared memory for high-performance requirements.