Bigdata2015-algorithmic-trading

Algorithmic Trading Simulation project proposal

The team

Abstract

Algorithmic trading is the use of electronic platforms for entering trading orders with an algorithm which executes pre-programmed trading instructions accounting for a variety of variables such as timing, price, and volume. Algorithmic trading is widely used by investment banks, pension funds, mutual funds, and other buy-side (investor-driven) institutional traders, to divide large trades into several smaller trades to manage market impact and risk.

TradingSimulation is a framework already developed by former students for back-testing trading strategies, designed in a modular fashion. The system is composed of multiple components built on top of Akka Actors which do processing and send data on previously set up edges. The framework was intended for usage in two main configurations: Live and Replay. In Live mode, market data is fetched from external APIs. In Replay mode, historical data is used as input to the system.

The target audience of the system are developers of algorithmic trading agents who want to implement, optimize and test their agent on a fast, distributed infrastructure. This is done using either live data or simulating the performance of their agent with (possibly vast amounts of) historical data.

A second use-case is to configure the components in such a way that no real-world data is used, but to let our Trader agents trade among themselves instead. In this case, many agents using various strategies (and various parameters over these strategies) would be instantiated. We aim to analyse the behaviour of such market simulation after different periods of time.
However, given the crudeness of the assumptions, we do not expect the simulation to fit a real market by any objective measure.

Project objectives

See the detailed article: project objectives.

Project report

The project is now complete. You can find the project's report (under the form of a guide / documentation oriented towards future users): Programmer's guide

Methodology

Risks

Data sources

Milestones with detailed workpackages