A high-performance, low-latency trading system built with a Java matching core and a Python/Tkinter real-time dashboard. The system utilizes gRPC for efficient, bi-directional streaming of market data and order execution.
The project is split into three main layers:
Matching Core (Java): Uses TreeMap data structures to maintain a Price-Time Priority order book. It is sharded by ticker using a ConcurrentHashMap for thread-safe multi-asset trading.
Communication Layer (gRPC): Handles order submission (Unary) and real-time market data broadcasting (Server Streaming) via Protobuf.
Client Dashboard (Python): A multi-threaded Tkinter application that displays Bids/Asks and Last Sale data/