Monday, April 24, 2017

some output...

more work

The Alpha Engine: Designing an Automated Trading Algorithm

We introduce a new approach to algorithmic investment management that yields profitable automated trading strategies.

This trading model design is the result of a path of investigation that was chosen nearly three decades ago. Back then, a paradigm change was proposed for the way time is defined in financial markets, based on intrinsic events. This definition lead to the uncovering of a large set of scaling laws. An additional guiding principle was found by embedding the trading model construction in an agent-base framework, inspired by the study of complex systems.

This new approach to designing automated trading algorithms is a parsimonious method for building a new type of investment strategy that not only generates profits, but also provides liquidity and stability to financial markets and does not have a priori restrictions on the amount of assets that are managed.


Trading model simulations.

History

The trading model algorithm outlined here is the result of a long journey that began in the early 1980s. Starting with a new conceptual framework of time, this voyage set out to chart new terrain. The whole history of this endeavor is described in the appendix. The key ingredients of this new paradigm are:
  • Intrinsic Time
  • The Emergence of Scaling Laws (*)
  • Trading Models and Complexity (*)
  • Coastline Trading (*)
  • Novel Insights from Information Theory
  • The Final Pieces of the Puzzle: Asymmetric Thresholds
(* I was lucky to have been part of this 12-year leg of the journey)

The trading model algorithm described here is the result of a meandering journey that lasted for decades. Guided by an overarching event-based framework, recasting time as discrete and driven by activity, elements from complexity theory and  information theory were added. In a nutshell, the proposed trading model is defined by a set of simple rules executed at specific events in the market. This approach to designing automated trading models yields an algorithm that fulfills many desired
features. Its parsimonious, modular, and self-similar design results in behaviour that is profitable, robust, and adaptive.


⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼

⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼

Context

A crucial feature of the trading model is that it is designed to be counter trend. The coastline trading ensures that positions, which are going against a trend, are maintained or increased. In this sense, the models provide liquidity to the market. When market participants want to sell, the investment strategy will buy and vice versa. This market-stabilizing feature of the model is beneficial to the markets as a whole. The more such strategies are implemented, the less we expect to see runaway markets but healthier market conditions overall. By construction, the trading model only ceases to perform in low-volatility markets.

If investment strategies contribute to market liquidity, they can help stabilize prices and reduce the uncertainty in financial markets and the economy at large. For such strategies the investment returns can be viewed as a payoff for the value-added provided to the economy.


Your Help is Needed

In essence, what we present here is a proof of concept. We refrained from tweaking the model to yield better performance, in order to clearly establish and outline the model's building blocks and fundamental behavior. We strongly believe there is great potential for obvious and straightforward improvements,  which would give rise to far better models. Nevertheless, the bare-bones model we present here already has the capability of being implemented as a robust and profitable trading model that can be run in real-time. 

Nevertheless, with all the merits of the trading algorithm presented here, we are only at the beginning. The Alpha Engine should be understood as a prototype. The model can easily be improved by calibrating the various exchange rates by volatility, or by excluding illiquid ones. Furthermore, the model treats all the currency pairs in isolation. There should be a large window of opportunity for increasing the performance of the trading model by introducing correlation across currency pairs. This is a unique and invaluable source of information not yet exploited. Finally, a whole layer of risk management can be implemented on top of the models.

We hope to have presented a convincing set of tools motivated by a consistent philosophy. If so, we invite the reader to take what is outlined here and improve upon it...


--

This paper will appear as a chapter in the book High Performance Computing in Finance: Problems,  Methods, and Solutions, Chapman & Hall/CRC Series in Mathematical Finance, 2017


4 comments:

Anonymous said...

Hi James, I tried to look at the code 'Code will be uploaded soon.'. When is soon? https://github.com/AntonVonGolub/Code/blob/master/code.java

Thanks,
-S

jbg said...

hi there,

we are working on it;) the thing is to have a nice code base. so cleaning needs some time.

please bear with us for a bit longer,
j

Anonymous said...

Hi James,

Thank you for publishing a first version of the code. The first line is a comment: '/* -- the cleaned up code (without Routes legacy) will be uploaded ASAP -- */'

Can we expect a cleaned version of the code before year end?

Thanks again,
-S

jbg said...

OK, check out https://github.com/AntonVonGolub/Code/blob/master/code.java for the moment.

Early next year we will be uploading a nicer version of the code we are working on,
j