Saturday, April 13, 2013

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, 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/
    • 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.