--- tags: networks --- # CS1680 Final Project: ## Mini-Exchange Examples: NYSE, Chicago Options Exchange, Nasdaq ### The role of an exchange: - A "broker" between buyers and sellers of financial instruments - Dissemination of price information for securities trading on this exchange ### Our ideas: Two main parts: - Market data feed - Matching engine/order book ### How it'll work: Our exchange advertises a singular financial instrument. Clients can connect to the exchange through a TCP connection. Once connected they have access to: - Live market data feed advertising a makeshift price fluctuation using a generalized Wiener process, Ito process, etc. - (uses UDP multicast, clients must specify a UDP port to listen to live market data) - Access to an order book where they can place/cancel orders, and be notified when a trade has been executed - our exchange functions as a dark pool, which means clients cannot see the exchange's order book, so they do not know about what trades other clients are making - can place orders at arbitrary prices The exchange must maintain: - the order book - essentially a state machine of all current orders - a very simple matching engine - will match buy orders with sell orders given that the prices of both orders match ### Types of orders **Sell**: sell at a given price `s` or above **Buy**: buy at a given price `b` or below