Algo Trading System
Building a marketplace for auctioning and biding asset in US.
Messaging – Virtual Bus:
- Service Oriented Architecture – Components communicate through a unified Publish/Subscribe low latency messaging system.
- Services can be run on distributed machines or on one machine using Inter-Process Communication (IPC) for ultra-low latency trading.
- 120 nanosecond round trip latency from one application component to another.
- Can easily create new services to run within the environment infrastructure.
- API level connectivity to exchanges: ensuring compatibility and consistency across all internal services.
- Allowing implementation of connectivity (Prices/Orders) to any exchange in the world with no internal changes to the system, providing rapid time to market for a newly identified trading opportunity.
- Stores Orders/Execution Reports, Strategy Configuration, Internal Account Information, Service Configurations…
- Service which allows the running of an unlimited number of strategies in Live/Paper/Back testing mode
- Enables remote starting and stopping ofa service from within a real-time Risk Manager/ Controller/Viewer which can be configured according to user privileges.
- Caches all data (orders, bars, trades, quotes, order book, and execution reports) in memory to be used by other services.
Strategy API – Indicator:
- Allows the creation of strategies and market analysis routines using an event framework which feeds the strategies with all market data and trading events.
Strategy API – Risk Management Layer:
- Provides robust risk and trading management layer that ensures strategies cannot exceed position limits set by the risk manager. Handles stops and profit targets. Automated shutdown of strategies that breach strategy risk limits and or portfolio risk limits.
GUI – Built using WPF layer:
- This Graphical User Interface allows the manager to set strategy limits;
- Remotely launch and configure strategies (stop/start);
- View full instrument depth in price ladders;
- Monitor current working orders, both synthetic and exchange based, for all instruments/strategies;
- Displays current executed orders and positions for all instruments/strategies; manually execute to flatten positions if required;
- Display real-time heartbeat status messages from all service components;
- and view strategy orders/fills against a time series chart. Also includes an interactive Pie Chart of exposure by instrument, strategy
Platform: .NET, Windows Application, Windows Services
DBMS: Oracle 11g
Frameworks: WCF, WPF
Programming Languages: C#
Development Tool: VS 2013, TFS 2013, ReSharper