Note
The previous version was archived due to several issues, this version (v3) is a rewrite that aims to address those issues with more robust implementation, more rigorous testing and cleaner architecture. Check out the branch v2-archive to see the documents.
Updated Wire Specification Read More
- Improved protocol handling logic
- InstrumentID included in all message types
- Removing orders from the
orderMap_registry happens in the same place that the removal from the bids/asks happens - Tested message layouts
MathResultobjects contain price information- Relevant messages contain
ClientOrderIDfields for easier tracking and consistency between server-client - Improved client-side architecture
- Client side memory bugs fixed (uninitialized fields)
- Market observer -- keeps a level 2 order book
- Level 2 market data (UDP multicast)
- Client capable of receiving and processing market data
- Cleaner shutdown
- Better order validation
- I have stopped updating this project as of 2026, focusing on a similar project that is using the same core CLOB core component, focusing on market simulations, while simplifying matters significantly by leaving the networking aspects alone and running the simulation in memory. You can check out the project's repository: https://github.com/ptorpis/market-sim