How saadsouilmi/queue-reactive works
Queue-Reactive is a data-driven limit-order-book simulation framework paired with a Python calibration pipeline. The main workflow preprocesses market data, estimates state-conditioned event and timing parameters, then runs C++ simulations that evolve an order book and save results. Additional documented capabilities include trading-strategy and metaorder simulations, market-impact calibration, and simulation analysis. The excerpts support the C++ runtime links and Python module dependency; wiring among unsampled scripts and other analysis tools is shown only where supported by names or README documentation.
Main entry points: simulation.cpp Simulation engine · run_metaorder.cpp Metaorder runner · bin Simulation runners · estimations.py Parameter estimation
Components 19
Estimation
- Data preprocessing
src/qr/preprocessing.py - Parameter estimation
src/qr/estimations.py - QR parameter CLI
scripts/estimate_qr_params.py - Daily estimates CLI
scripts/daily_estimates.py
Simulation
- Simulation runners
cpp/bin - QR event model
cpp/include/qr_model.h - Limit order book
cpp/src/orderbook.cpp - Simulation engine
cpp/src/simulation.cpp
Trading Experiments
- Strategy trader
cpp/include/strategy.h - Strategy runners
cpp/bin/sample_strategy.cpp - HFT strategy runner
cpp/bin/sample_hft_strategy.cpp - Metaorder runner
cpp/bin/run_metaorder.cpp
Calibration and Analysis
- Impact calibration
cpp/bin/calibrate_impact.cpp - Empirical comparison
scripts/plot_emp_vs_qr.py - Estimation utilities
src/qr/utils.py
Other components
- Databento data
- Estimated parameters
- Simulation user
- Simulation results
Connections 26
- Databento data → Data preprocessing: supplies data
- Data preprocessing → Parameter estimation: prepares frames
- Parameter estimation → Data preprocessing: imports helpers
- QR parameter CLI → Parameter estimation: estimates parameters
- Daily estimates CLI → Parameter estimation: uses estimates
- QR parameter CLI → Estimated parameters: writes parameters
- Daily estimates CLI → Estimated parameters: writes estimates
- Simulation user → Simulation runners: starts run
- Estimated parameters → Simulation runners: loads parameters
- Simulation runners → QR event model: configures model
- Simulation runners → Simulation engine: runs simulation
- Simulation engine → QR event model: samples events
- Simulation engine → Limit order book: applies orders
- Simulation engine → Simulation results: saves records
- Simulation user → Strategy runners: starts experiment
- Strategy runners → Simulation engine: runs strategy loop
- Strategy runners → Strategy trader: uses trader
- Simulation user → HFT strategy runner: starts experiment
- HFT strategy runner → Simulation engine: runs HFT loop
- Simulation user → Metaorder runner: starts experiment
- Metaorder runner → QR event model: samples events
- Metaorder runner → Limit order book: applies orders
- Metaorder runner → Simulation results: aggregates results
- Simulation user → Impact calibration: calibrates impact
- Simulation results → Empirical comparison: compares outputs
- Simulation results → Estimation utilities: analyzes results