In this thesis Genetic Progrmming is used to create trading systems for the EUR/USD foreign exchange market using intraday data. In addition to the exchange rates several moving averages are used as inputs.
The developed evolutionary algorithm extends the framework ECJ. The created trading systems are being evaluated by a fitness function that consists of a trading simulation. Genetic operators have been adapted to support "node weights". By using these on the one hand macromutaion is tried to be reduced on the other hand the interpretability of the created trading systems is tried to be improved.
Results of experiments show that created trading systems are apparently successfull in profitably using informations contained within the exchange rates. Profits of the created trading systems are maximized by using the optimal position size. It is shown that if the minimum investment period is met the achieved results are optimal even when taking into account the used risk adjusted performance figure.
Contents
1 Introduction
1.1 Motivation
1.2 Objective and structure
2 Basic principles and state of the art
2.1 Genetic Programming
2.1.1 Program Structure
2.1.2 Initialization of the GP Population
2.1.3 The Genetic Operators
2.1.4 Fitness Function
2.1.5 Selection
2.1.6 Process of the algorithm
2.1.7 Crossover, building blocks and schemata
2.1.8 Approaches against macromutation
2.1.9 Modularization
2.1.10 Further approaches for improvement
2.2 Artificial Neural Networks
2.2.1 Components of neural networks
2.2.2 Network topologies
2.2.3 Learning methods
2.3 Trading Systems
2.3.1 Tape Reader
2.3.2 Market timing
2.3.3 Position sizing
2.3.4 Comparison of trading systems
2.3.5 Fundamental versus technical analysis
2.3.6 The Currency Market
2.3.7 Approaches for the development of trading systems
3 Draft
3.1 Overview
3.2 Requirements on the software
3.3 Conception of software
3.3.1 The Evolutionary Algorithm
3.3.2 The fitness function
4 Implementation
4.1 Components of the developed software
4.2 Classes of the exchange rate data server
4.3 Classes of the Evolutionary Algorithm
4.4 Overview over the framework ECJ
4.5 Problems during experiments
5 Experiment results
5.1 Results with node weights
5.1.1 Results of the training time period
5.1.2 Results of the validation time period
5.1.3 Results of the test time period
5.1.4 Results as monthly turnovers
5.1.5 Created trading rules
5.2 Results without node weights
5.2.1 Results of the training period
5.2.2 Results of the validation time periods
5.2.3 Results of the test period
5.2.4 Results as monthly returns
5.2.5 Created trading rules
5.3 Identification and application of optimal f
6 Discussion and evaluation
6.1 Outlook
7 Summary
Objectives and Research Themes
The primary objective of this thesis is to apply Genetic Programming (GP) to generate automated trading systems for the financial markets, with a specific focus on the currency market (EUR/USD). The research investigates whether historical price data can be used to develop profitable trading rules and explores how these systems can be adapted to changing market conditions through a rolling simulation approach. A key aspect is the introduction of "node weights" within the GP framework to improve the interpretability of the generated trading rules and to manage potential macromutations during the evolutionary process.
- Application of Genetic Programming for the development of automated trading systems.
- Evaluation of "node weights" as a mechanism for improving rule interpretability and managing evolutionary operators.
- Use of a historical simulation framework involving training, validation, and test periods to ensure robustness and avoid over-optimization.
- Implementation of a software architecture (EVAM) for data collection, preprocessing, and evolutionary simulation.
- Comparison of trading performance using optimal position sizing (optimal f) versus constant position sizing.
Excerpt from the Book
1.1 Motivation
The natural evolution has turned out to be a most successful mechanism for the engenderment and adaptation of creatures to the environment. Without receiving any particular instructions or even precise objective definitions, it has succeeded in finding sophisticated solutions for problems existing in the real world.
Genetic Programming (GP) is an approach for using the creative power within the natural evolution for the automatic development of computer programs (cf. (Koz92, Chapter 1-6)). It is used to try to simulate mechanisms of the natural evolution in order to generate automatic programs solving a given problem. In a series of applications, GP has been used for solving mathematical problems as well as for solving real-world problems successfully. Among them are counted such problems as symbolic regression, (cf. (Koz92, cf. Chapter 10)), classification (cf. (Koz92, Chapter 17)), the synthesis of artificial neural networks (cf. (Gru94, Chapter 2 following)), pattern recognition ((Tac93, pages 2 to 10)), robot control (cf. (BNO97, pages 2 to 10)) and the generation of images (cf. (GH97, pages 2 to 7)) are counted among these problems.
Automated learning by means of GP can be interpreted as heuristic search algorithm finding out of the set of all possible programs those offering the best solution for the given problem. Dependent on the given problem, the search range is very large and oftentimes neither continuous nor differentiable and thus the search range of all possible programs is ill-fitting for classical search algorithms (cf. (LP02, page 2 following)).
Summary of Chapters
1 Introduction: Provides the motivation for using Genetic Programming in trading system development and outlines the structure of the thesis.
2 Basic principles and state of the art: Reviews the theoretical foundations of Genetic Programming, Artificial Neural Networks, and technical trading systems.
3 Draft: Describes the design and software requirements for the "EVAM" (evolutionary asset management) system.
4 Implementation: Details the concrete implementation of the EVAM software components and the integration of the ECJ framework.
5 Experiment results: Presents the results of the trading simulations, comparing systems developed with and without node weights, and discusses the application of optimal f.
6 Discussion and evaluation: Evaluates the success of the GP approach and provides an outlook on potential future research directions.
7 Summary: Concludes the thesis by synthesizing the findings regarding the feasibility of using GP for automated trading on the currency market.
Keywords
Genetic Programming, Trading Systems, Currency Market, Artificial Neural Networks, Evolutionary Algorithms, Node Weights, Backtesting, Position Sizing, Optimal f, Technical Analysis, Automated Trading, EUR/USD, Fitness Function, Machine Learning, Financial Forecasting.
Frequently Asked Questions
What is the core focus of this thesis?
The thesis focuses on using Genetic Programming to automatically generate and optimize trading rules for financial markets, particularly the EUR/USD currency market.
What are the central thematic fields?
The central themes are evolutionary computation (specifically Genetic Programming), technical analysis of financial time series, and automated portfolio management techniques.
What is the primary research goal?
The goal is to demonstrate that GP can evolve profitable trading systems and to analyze whether techniques like "node weights" can enhance the interpretability and performance of these evolved systems.
Which scientific methods are utilized?
The author uses Genetic Programming (GP) to evolve tree-structured trading rules, combined with historical backtesting across training, validation, and test datasets.
What does the main body cover?
The main body covers the theoretical background of GP and Neural Networks, the architectural design of the EVAM software, and a detailed analysis of experimental results under varying conditions.
Which keywords best characterize this work?
Key terms include Genetic Programming, Trading Systems, Node Weights, Evolutionary Algorithms, and Financial Market Simulation.
What purpose do node weights serve in this research?
Node weights are introduced to track the importance of specific code blocks (nodes) in the trading trees, aiming to improve user interpretability and provide a mechanism to protect successful building blocks from destructive mutation.
Why is the "rolling" training and validation approach used?
It is used to adapt the trading systems to the dynamic and changing nature of financial markets, ensuring the system remains relevant over different time intervals rather than relying on a static, potentially over-fitted model.
What is "optimal f" in the context of this study?
Optimal f represents a fraction of capital to be invested in order to achieve the best risk-reward ratio, derived from the historical performance and the largest single losses of the trading system.
- Quote paper
- Holger Hartmann (Author), 2007, Development of Trading Systems using Genetic Programming with a Case Study, Munich, GRIN Verlag, https://www.grin.com/document/186454