Skip to content

Hybrid order book implementation.

License

Notifications You must be signed in to change notification settings

smercer10/broka

Repository files navigation

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.

MIT License GitHub Actions Workflow Status

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:
make
  • Run the tests:
make test
  • Clean the build directory:
make clean