Run-time Reconfigurable Acceleration for Genetic Programming Fitness Evaluation in Trading Strategies

Genetic programming can be used to identify complex patterns in financial markets which may lead to more advanced trading strategies. However, the computationally intensive nature of genetic programming makes it difficult to apply to real world problems, particularly in real-time constrained scenarios. In this work we propose the use of Field Programmable Gate Array technology to accelerate the fitness evaluation step, one of the most computationally demanding operations in genetic programming. We propose to develop a fully-pipelined, mixed precision design using run-time reconfiguration to accelerate fitness evaluation. We show that run-time reconfiguration can reduce resource consumption by a factor of 2 compared to previous solutions on certain configurations. The proposed design is up to 22 times faster than an optimised, multithreaded software implementation while achieving comparable financial returns.

[1]  Wolfgang Banzhaf,et al.  Genetic Programming: An Introduction , 1997 .

[2]  Franklin Allen,et al.  Using genetic algorithms to find technical trading rules , 1999 .

[3]  David Coley,et al.  Introduction to Genetic Algorithms for Scientists and Engineers , 1999 .

[4]  Wayne Luk,et al.  Automating Elimination of Idle Functions by Run-Time Reconfiguration , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[5]  Peter Martin,et al.  A Hardware Implementation of a Genetic Programming System Using FPGAs and Handel-C , 2001, Genetic Programming and Evolvable Machines.

[6]  Luis Felipe Gonzalez,et al.  FPGA Implementation of an Evolutionary Algorithm for Autonomous Unmanned Aerial Vehicle On-Board Path Planning , 2013, IEEE Transactions on Evolutionary Computation.

[7]  Wayne Luk,et al.  A general-purpose framework for FPGA-accelerated genetic algorithms , 2015, Int. J. Bio Inspired Comput..

[8]  Tsutomu Maruyama,et al.  A Co-processor System with a Virtex FPGA for Evolutionary Computation , 2000, FPL.

[9]  Viktor K. Prasanna,et al.  Genetic Programming Using Self-Reconfigurable FPGAs , 1999, FPL.

[10]  M. Dempster,et al.  A real-time adaptive trading system using genetic programming , 2001 .

[11]  Wayne Luk,et al.  Exploring reconfigurable architectures for explicit finite difference option pricing models , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[12]  Wayne Luk,et al.  Exploring algorithmic trading in reconfigurable hardware , 2010, ASAP 2010 - 21st IEEE International Conference on Application-specific Systems, Architectures and Processors.

[13]  Wayne Luk,et al.  A Hybrid Genetic-Programming Swarm-Optimisation Approach for Examining the Nature and Stability of High Frequency Trading Strategies , 2014, 2014 13th International Conference on Machine Learning and Applications.

[14]  Jean-Yves Potvin,et al.  Generating trading rules on the stock markets with genetic programming , 2004, Comput. Oper. Res..

[15]  Riccardo Poli,et al.  Foundations of Genetic Programming , 1999, Springer Berlin Heidelberg.

[16]  R. Kozhan,et al.  The information Content of a Limit Order Book:the Case of an FX Market , 2012 .

[17]  Wayne Luk,et al.  Reconfigurable acceleration of fitness evaluation in trading strategies , 2015, 2015 IEEE 26th International Conference on Application-specific Systems, Architectures and Processors (ASAP).