This project demonstrates a time-priority based orderbook where clients react to subscribed price events and make trading decisions.
Information:
- Architecture Components: Overview of components and their relationships
- End-to-end sequence diagrams: Example use cases from price generation to trading
- Client & Orderbook decisions: How services perform decisions based on events
- Instrument Subscriptions: Client-Gateway instrument subscription handling
- Execution delivery: Queue, scan, and replay limits between the orderbook gateway and the client
The services are run in docker-compose via just commands but you may use docker commands directly from the justfile.
This builds the price generator, price aggregator, market data gateway, client, orderbook, and orderbook gateway programmes.
just buildTo build a specific service check the justfile.
The default starts with 10 clients, 5 orderbook gateways, and 5 orderbooks (1 gateway and 1 orderbook for each instrument).
just startTo start with a different number of clients specify a number
just start 5To view telemetry about the services navigate to http://localhost:3000/dashboards
The services are in-memory however telemetry is persistent.
Stop and retain telemetry
just stopStop and delete telemetry
just remove