Two very different flows share one platform. Market data streams from exchanges, is normalised, and is pushed to millions of screens over WebSockets. Orders go the other way: an order management system validates each one, a risk system checks margin and limits, and an exchange gateway sends it over FIX. Fills flow back to update positions and a funds ledger.
Functional requirements
- Live prices, charts and market depth
- Place, modify and cancel market, limit and stop orders
- Margin and risk checks before an order leaves
- Positions, holdings, P&L and funds
- Order and trade notifications
Non-functional requirements
- Order path latency in milliseconds
- Market open bursts (many times normal load)
- Every order and fill auditable; balances always correct
- Regulatory compliance and high availability during market hours
Extensions
- Options and derivatives with more complex margining.
- Algorithmic and basket orders.
- Tax reports and contract notes.