Scalability and Persistence
AlgoTrader is an extremely reliable and robust system built on multi-threaded, memory efficient, highly concurrent architecture. It is optimized in terms of high availability and performance so your trading activities will be uninterrupted and continuous.
Read on to find out what AlgoTrader has to offer in areas of performance, high availability, scalability and persistence.
Performance & Low Latency
- High throughput – AlgoTrader processes up to 500,000 market data events per second on dual CPU 2GHz Intel based hardware (see Esper Performance)
- Complex Event Processing (CEP) and event stream analysis of real-time or historical market data enables detection of patterns among market data events (event correlation), filter market data events, aggregate time or length windows of market data events, join market data event streams and trigger based on absence of market data events
- Low Latency – react in real-time to changing market conditions in time frames below one millisecond (see Esper Performance)
- The integrated Hazelcast cache provides an in-memory representation of reference data in the database that can be accessed without any latency
- Automated order recovery after a power outage or system crash
- Customizable notification/logging system based on log4j, including email-logging, text-message logging and portfolio value logging which informs you about technical issues and trading related problems
- Deploy on multiple JVM’s and multiple servers
- Different deployment modes – Distributed Mode (using RMI/JMS) vs. Embedded Mode (single JVM)
- Easily ramp up or down JVM’s and/or servers in line with the needs of your trading activity
Extensive suite of tools that allow monitoring of the entire system:
- The performance of various AlgoTrader components and processes like Market Data Metrics, Order Metrics, Tick-to-Trade Metrics, Esper Engine Metrics, Hazelcast Metrics, and Influx Metrics to give you detailed insights on the performance of various AlgoTrader sub-systems
- Monitoring of the health state of various AlgoTrader components like adapters, data base, Hazelcast caches, and JVM. The health state of these components is also available via API
- General system metrics like memory consumption, CPU usage, JDBC connections, SQL queries, and HTTP calls
- All relevant data is persisted to the database, where it is stored permanently and can be used for custom reporting and querying
- Integration of MySql for reference data and transactional data
- Integration of the InfluxDB time series database for storage of live and historical tick data
- Dynamic data model allowing definition of custom properties (such as additional fields) on entities such as strategy, position and subscription
- Automated Database Migration using FlyWay
For more details on how AlgoTrader can benefit your trading activities, contact us today for more details. We offer consulting services as well full product training either on your premises or remotely, so get in touch today!