I need some inputs on how to design architecture for algo trading platform. These are some of the details/features of the platform:-
- Users can log in and create strategies using ui components.
- Users can either paper trade these strategies or connect to real broker API to live trade.
- User-created strategies are run continuously against market data at some interval (user-defined ) and the trade signal is generated. This signal is sent to the real broker of paper trade depending upon deployment type
I need suggestions/input on the following points.
- How to ingest and store market data received (huge size) over websocket.
- How to provide the data received to each of the strategy instances at the same time.
- How to run all the strategies of all users simultaneously. Their status should be monitored from the UI.
- Should there be a single OMS (order management system) or a separate one for each user. Keeping in mind to minimize the delay between trade generation and order placement
For reference about what I am trying to design you can look at here