Queue-Reactive LOB Simulator

A limit order book simulation framework based on the Queue-Reactive model for large-tick assets

The QR simulator reproduces realistic order book dynamics by sampling events — limit orders, cancellations, trades — from empirical distributions conditioned on the current book state. A C++ engine handles the simulation loop; a Python pipeline estimates parameters from Databento market data.

C++20 CMake Python 3.11+ Apache Arrow

Documentation

Model and Data

The QR framework, data sources, estimation pipeline, and the probability biasing mechanism for market impact.

Order Book

Book representation, event types, order processing transitions, and the C++ std::map-based implementation.

Simulation Loop

How to configure, assemble, and run a QR simulation — from a barebones loop to bias injection and output recording.

Quick Start

git clone --recurse-submodules https://github.com/SaadSouilmi/Queue-Reactive.git
cd Queue-Reactive
git submodule update --init --recursive
podman build -t qr .
podman run --rm -it qr bash

Project Layout

qr/
├── cpp/
│   ├── include/        # Headers (orderbook, qr_model, simulation)
│   ├── src/            # Implementation
│   └── bin/            # Executables (sample, sample_strategy, run_metaorder, ...)
├── src/qr/             # Python estimation & analysis package
├── scripts/            # Plotting scripts
├── notebooks/          # Jupyter notebooks (paper figures, calibration)
├── configs/            # JSON simulation configs
├── tests/              # C++ unit tests (GoogleTest)
└── data/               # Input data & results