Vadim Mitko

Stock Exchange Simulator

Stock exchange simulator is a full-stack interactive web application that allows you to buy/sell shares and track your portfolio statistics. I have written this application from scratch, and at first, it was just a command-line interface where you could only place orders without anybody buying your orders. However, since then, I have greatly expanded this project's scope and added both market maker bots and retail bots.

landing-page

Stock Exchange Simulator UI

The stock exchange simulator consists of the engine, the backend router, and the frontend UI. The engine is written in Python and is responsible for order creation, order handling (via Broker class), and order scheduling into appropriate queues inside the engine. The order books were modeled as sorted maps, with each mapping defining the order's limit price and its price level (its own FIFO queue). The engine is asynchronous, meaning it handles concurrency issues and ensures there is no race condition in the program. Backend is also written in Python (FastAPI) for simplicity and close integration with the engine.

The frontend UI is written using React and Typescript. Internal state management uses Vite, Tanstack Query, Tanstack Table, Zustand, and Tanstack Router for navigation.