Thoughts On High Level Trading System Requirements
Some thoughts on very high-level requirements...
- I'd like to be able to be able to monitor, modify and run this system from a browser...preferably a browser on my tablet.
- Will need to stream real-time algorithm status ...trades, current P&L, risk, etc...to a browser.
- Technology thoughts:
- Use SSL, client certificates, and userid/password to login to the system.
- Use the Dojo library for browser based, updating tables.
- Use Node.js to stream realtime updates to a browser...using websockets/socket.io.
- Use RabbitMQ to send data to Node.js...amqp.
- Use multiple java components (possibly running as individual processes) as the core of the system. These components will send/receive updates to/from Node.js via RabbitMQ.
- The java components will receive option data - TBD
- The java components will send/receive order information via FIX/QuickFIX/J
- The java components will receive account updates via FIX/QuickFIX/J or a broker API.