Allow traders to place buy and sell orders for financial instruments (stocks, options) with market, limit, and stop-loss order types.
Stream live market data to traders, including stock prices, bid/ask spreads, volume, and market events, with real-time updates and historical data support.
Match buy and sell orders based on price-time priority, where the best price gets priority, and among equal prices, earlier orders are matched first; confirm orders and provide trade execution reports.
Provide real-time risk management tools, including margin checks before order acceptance, exposure limits per trader, and stop-loss mechanisms, with alerts when risk thresholds are breached.
Send notifications for order status changes (filled, partially filled, cancelled), price alerts, and risk alerts, supporting real-time and periodic notifications.
9
Non-Functional Requirements:
Buy&Sell events per day 10M to 100M (peak).
Total Storage: 50M avg. 1Kb * 50_000_000 per day * 10 yrs = 500 TB
Hot Storage: (TBD)
RPS: 4_000_000 / 4000 = 1~5k RPS
HA: 99.999% (stream, put order, check order, alert, push notification)