Scalable, Event-Driven Communication in Distributed Financial Environments: an application in ATRADE

Supervisor: Filip Zavoral
Intended Scope: Master thesis
Required Skills: Java, JEE/Spring

Description:

The producer/consumer programming pattern proven to be a scalable solution in messaging systems applied to distributed computing. However, in financial environments, where horizontal scalability (limited by i.e. geo-location) needs to go in hand with vertical scalability (of the high amounts of generated data), various problems may arise. These are typically manifest by disconnections and significant delays in event delivery. Furthermore, large-scale horizontal systems often imply duplicity of services which may be hard to identify and eliminate. Consequently, this project focuses on the following problems:

  • Review of the existing messaging systems in the distributed ATRADE environment;
  • Utilisation of UDP and TCP protocols, as well as message life-expectancy and failover functionalities to tackle the problem of horizontal and vertical scalability in the producer/consumer paradigm of the reviewed messaging system;
  • Research & development of an algorithm capable of identifying and policing service duplicates in the reviewed messaging system;
  • Implementation, integration & testing (including performance & scalability testing) of the developed algorithms with the ATRADE environment;

ATRADE can be considered an experimental environment for Algorithmic Trading able to support a variety of AT strategies. The Environment consists of a set of distributed, multi-threaded, event-driven, real-time, Linux services communicating with each other via an asynchronous messaging system. The Environment allows multi-user real and virtual trading. It provides a proprietary application programming interface (API) to support research into algorithmic trading models and strategies. It supports advanced trading-signal generation and analysis in near real-time, with use of statistical and technical analysis as well as data mining methods. It provides data aggregation functionalities to process and store market data feeds.

The content is available under Creative Commons BY-NC 3.0 License