Limit Order Book Exchange
A research platform for conducting financial market experiments.
LOBX (Limit Order Book Exchange) is a research platform for conducting financial market experiments. Built for experimental economics research at Royal Holloway, University of London, funded by the Leverhulme Trust (PRG-2021-359).
- Continuous Double Auction -- Price-time priority matching engine with a full limit order book
- Multi-Participant Sessions -- Cohort-based treatment groups with automatic role assignment
- AI Trader Integration -- LLM-powered agents, informed traders, noise traders, and spoofers
- Real-Time Interface -- Live order book, price charts, and instant execution feedback
- Lab Session Management -- Token-based authentication for controlled lab environments
- Batch Experiment Mode -- Headless automated runs for large-scale data collection
- Docker Deployment -- Single-command setup via Docker Compose
| Layer | Technology |
|---|---|
| Backend | FastAPI (Python 3.11+) |
| Frontend | Vue 3 + Vite |
| Communication | WebSocket (real-time), REST API |
| Infrastructure | Docker Compose |
bash <(curl -sSL https://raw.githubusercontent.com/lobx-platform/lobx/main/run.sh)sh run.sh devThis starts both the backend (port 8000) and frontend (port 3000) via Docker Compose.
Clone the repositiory. Ensure you are in the directory where the repo has been placed. Open a terminal. Run the front end executing the following:
cd front
npm install
npm audit fix
npm run dev
Open a terminal. Run the back end end executing the following:
cd back
uv sync
uv run uvicorn api.endpoints:app --reload
An admin password is required for setup.
cd back
nano .env
Choose one, say xyz123. Inside the file type:
ADMIN_PASSWORD=xyz123
For detailed documentation, feature explanations, and API references, visit the Wiki.
The platform was developed collaboratively, and contributions overlapped in several respects. The following classification is therefore intended as a simplified summary of the principal areas of contribution.
- Conceptual development and specification of platform functionality: F. Feri, M. Jonuzaj, M. Naef, A. Sancetta, and W. Wu.
- Trading algorithms: M. Jonuzaj had primary responsibility for the design and implementation of the trading algorithms, with additional input from A. Sancetta. W. Wu implemented the trader framework and integrated the algorithms into the platform.
- Platform development: W. Wu was the principal software developer of the platform. He was responsible for the design and implementation of the core platform architecture and codebase, as well as its integration, deployment, and technical maintenance.
- Testing and experimental organization: M. Jonuzaj and W. Wu.
The platform builds on an earlier project developed by P. Chapkovski, who helped establish the initial version and contributed substantially to the early discussions and technical foundations on which the present platform was developed.
F. Cordoni contributed to the early stages of the project, including initial conceptual discussions.
MIT License -- see LICENSE for details.
