https://github.com/smercer10/broka
Hybrid order book implementation.
https://github.com/smercer10/broka
cmake cpp gtest order-book
Last synced: 7 months ago
JSON representation
Hybrid order book implementation.
- Host: GitHub
- URL: https://github.com/smercer10/broka
- Owner: smercer10
- License: mit
- Created: 2024-07-27T22:52:40.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-30T19:03:28.000Z (almost 2 years ago)
- Last Synced: 2025-05-25T01:43:54.887Z (about 1 year ago)
- Topics: cmake, cpp, gtest, order-book
- Language: C++
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Broka
Broka is a multithreaded C++ order book implementation that supports numerous order types. It was created as a learning project, and is certainly **not** intended for consequential use.
[](https://github.com/smercer10/broka/blob/main/LICENSE)
[](https://github.com/smercer10/broka/actions/workflows/ci.yml)
## Functionality
The primary API supports the following actions:
- Place an order
- Cancel an order
- Modify an order
- Retrieve basic order book data (e.g., total number of outstanding orders, quantity at each side/price level)
## Order Types
Five order types are currently supported:
- Day (not well-tested)
- Fill or kill
- Good 'til cancelled
- Immediate or cancel
- Market
## Build Locally
### Prerequisites
- C++20 compiler
- CMake 3.20 (can probably use 3.12+ but only 3.20 has been tested)
- Make (any recent version should be fine)
### Commands
- Build the CMake targets:
```bash
make
```
- Run the tests:
```bash
make test
```
- Clean the build directory:
```bash
make clean
```