In dieser Arbeit wird die Genetische Programmierung angewendet, um Handelssysteme für den EUR/USD-Währungsmarkt auf Basis von Intraday Kursdaten zu entwickeln. Neben den Kursdaten werden verschiedene gleitende Durchschnitte der Kursdaten als Eingabe verwendet.
Der entwickelte Evolutionäre Algorithmus baut auf dem Framework ECJ auf. Die erzeugten Handelssysteme werden durch eine Handelssimulation im Rahmen der Fitnessfunktion bewertet. Die Genetischen Operatoren sind angepasst worden, um sogenannte Knotengewichte zu unterstützen. Durch die Knotengewichte soll einerseits die Makromutation eingedämmt, andererseits die Interpretierbarkeit der erzeugten Handelssysteme verbessert werden.
Die erzielten Resultate der Experimente zeigen, dass die erzeugten Handelssysteme offenbar erfolgreich in der Lage sind, in den Kursdaten enthaltene Informationen gewinnbringend zu nutzen. Durch die Bestimmung der optimalen Positionsgröße werden die mit den erzeugten Handelssystemen erzielten Gewinne optimiert. Bei Einhaltung der Mindestanlagedauer sind die so erzielten Ergebnisse auch hinsichtlich der verwendeten risikoadjustierten Kennzahl optimal.
Inhaltsverzeichnis
1 Einführung
1.1 Motivation
1.2 Ziel und Aufbau
2 Grundlagen und Stand der Technik
2.1 Genetische Programmierung
2.1.1 Aufbau eines Programms
2.1.2 Initialisierung der GP Population
2.1.3 Die Genetischen Operatoren
2.1.4 Fitness Funktion
2.1.5 Selektion
2.1.6 Ablauf des GP Algorithmus
2.1.7 Crossover, Building Blocks und Schemata
2.1.8 Ansätze gegen Makromutation
2.1.9 Modularisierung
2.1.10 Weitere Verbesserungsansätze
2.2 Künstliche Neuronale Netze
2.2.1 Bestandteile neuronaler Netze
2.2.2 Netztopologien
2.2.3 Lernmethoden
2.3 Handelssysteme
2.3.1 Tape Reader
2.3.2 Market Timing
2.3.3 Position Sizing
2.3.4 Vergleich von Handelssystemen
2.3.5 Fundamentale versus Technische Analyse
2.3.6 Der Währungsmarkt
2.3.7 Entwicklungsansätze für Handelssysteme in der Literatur
3 Entwurf
3.1 Überblick
3.2 Anforderungen an die Software
3.3 Konzeption der Software
3.3.1 Der Evolutionäre Algorithmus
3.3.2 Die Fitness-Funktion
4 Implementierung
4.1 Komponenten der entwickelten Software
4.2 Klassen des Kursdatenservers
4.3 Klassen des Evolutionären Algorithmus
4.4 Übersicht über das Framework ECJ
4.5 Probleme während der Experimente
5 Versuchsergebnisse
5.1 Resultate mit Knotengewichten
5.1.1 Resultate des Trainingszeitraums
5.1.2 Resultate des Validierungszeitraums
5.1.3 Resultate des Testzeitraums
5.1.4 Resultate als Monatsrenditen
5.1.5 Erzeugte Handelsregeln
5.2 Resultate ohne Knotengewichte
5.2.1 Resultate des Trainingszeitraums
5.2.2 Resultate des Validierungszeitraums
5.2.3 Resultate des Testzeitraums
5.2.4 Resultate als Monatsrenditen
5.2.5 Erzeugte Handelsregeln
5.3 Bestimmung und Anwendung von Optimal f
6 Diskussion und Bewertung
6.1 Ausblick
7 Zusammenfassung
Zielsetzung & Themen
Ziel dieser Arbeit ist die Entwicklung und Untersuchung von Handelssystemen für den Finanzmarkt, insbesondere den Währungsmarkt, mittels Genetischer Programmierung (GP). Es wird erforscht, ob durch ein evolutionäres Softwaresystem profitable Handelsregeln generiert werden können, die sich an veränderte Marktbedingungen anpassen, während gleichzeitig die Interpretierbarkeit der Ergebnisse durch den Einsatz von Knotengewichten verbessert wird.
- Anwendung der Genetischen Programmierung zur Entwicklung automatischer Handelssysteme.
- Konzeption und Implementierung einer Software (EVAM) zur historischen Simulation und Optimierung.
- Einsatz von Knotengewichten zur Steuerung des evolutionären Prozesses und zur Verbesserung der Modellinterpretierbarkeit.
- Validierung der Systeme mittels rollierender Zeiträume (Training, Validierung, Test) zur Vermeidung von Überoptimierung.
- Bestimmung optimaler Positionsgrößen (Optimal f) zur Steigerung der Profitabilität.
Auszug aus dem Buch
1.1 Motivation
Die natürliche Evolution hat sich zur Erzeugung und Anpassung von Lebewesen an eine sich ändernde Umgebung als höchst erfolgreicher Mechanismus herausgestellt. Ohne bestimmte Anweisungen oder auch nur genaue Zieldefinitionen zu erhalten, ist es ihr gelungen, raffinierte Lösungen für Probleme der realen Welt zu finden.
Ein Ansatz, die in der natürlichen Evolution steckende kreative Kraft zur automatischen Entwicklung von Computer-Programmen zu verwenden, ist die Genetische Programmierung (GP) (vgl. (Koz92, Kapitel 1-6)). Mit ihr wird versucht, Mechanismen der natürlichen Evolution nachzuahmen, um automatisch Programme zu erzeugen, die ein gegebenes Problem lösen. GP ist in einer Reihe von Anwendungen sowohl zum Lösen mathematischer Probleme als auch zum Beheben von Problemen der realen Welt erfolgreich angewandt worden. Hierzu zählen z.B. Symbolische Regression (Koz92, S. Kapitel 10), Klassifikation (Koz92, Kapitel 17), Synthese Künstlicher Neuronaler Netze (Gru94, Kapitel 2f), Muster Erkennung (Tac93, S. 2-10), Roboter Steuerung (BNO97, S. 2-10) und Generierung von Bildern (GH97, S. 2-7).
Das maschinelle Lernen mittels GP kann als ein heuristischer Suchalgorithmus interpretiert werden, der in der Menge aller möglichen Programme diejenigen sucht, die das gegebene Problem am besten lösen. Da der Suchraum je nach gegebenem Problem sehr groß und oft weder stetig noch differenzierbar ist, eignet sich der Suchraum aller möglichen Programme schlecht für klassische Suchalgorithmen (vgl. (LP02, S. 2f)).
Zusammenfassung der Kapitel
1 Einführung: Diese Einleitung beschreibt die Motivation zur Nutzung Genetischer Programmierung (GP) bei der Entwicklung von Handelssystemen und definiert die Ziele sowie den Aufbau der Diplomarbeit.
2 Grundlagen und Stand der Technik: Hier werden die theoretischen Grundlagen der Genetischen Programmierung, Künstlicher Neuronaler Netze und technischer Handelssysteme sowie der aktuelle Forschungsstand zusammengefasst.
3 Entwurf: In diesem Kapitel wird das Konzept des entwickelten Systems "EVAM" vorgestellt und der Anforderungskatalog für die Softwarekomponenten definiert.
4 Implementierung: Der Fokus liegt hier auf der praktischen Umsetzung, inklusive der Klassenstruktur und der Einbindung des Frameworks ECJ.
5 Versuchsergebnisse: Dieses Kapitel präsentiert die Resultate der Experimente, wobei insbesondere der Einfluss von Knotengewichten sowie die Bestimmung von Optimal f untersucht werden.
6 Diskussion und Bewertung: Die Arbeit schließt mit einer kritischen Reflexion der erzielten Ergebnisse und einem Ausblick auf mögliche zukünftige Weiterentwicklungen.
7 Zusammenfassung: Dieses abschließende Kapitel fasst die zentralen Erkenntnisse aus den vorangegangenen Untersuchungen zusammen.
Schlüsselwörter
Genetische Programmierung, Handelssysteme, Finanzmarkt, Währungsmarkt, Evolutionäre Algorithmen, Knotengewichte, Kursdaten, Backtesting, Optimal f, Performance-Maße, Technische Analyse, Machine Learning, EUR/USD, Modellinterpretierbarkeit, Simulation.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit der automatisierten Entwicklung von Handelssystemen für den Finanzmarkt mittels Genetischer Programmierung, um profitable und interpretierbare Handelsregeln zu finden.
Was sind die zentralen Themenfelder?
Die zentralen Felder sind die Genetische Programmierung, Künstliche Neuronale Netze, technische Analyse, Positionsgrößenbestimmung und die Softwareentwicklung für historische Marktsimulationen.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Ziel ist der Entwurf eines Systems, das mittels GP Handelssysteme generiert und deren Profitabilität in historischen Simulationen untersucht, wobei insbesondere die Adaptivität an Marktveränderungen und die Interpretierbarkeit der Regeln im Fokus stehen.
Welche wissenschaftliche Methode wird verwendet?
Es wird eine Standard-GP genutzt, die um strenge Typisierung und eine spezifische Erweiterung namens "Knotengewichte" ergänzt wurde, um die Entwicklung zu steuern und die Interpretierbarkeit zu erhöhen.
Was wird im Hauptteil behandelt?
Der Hauptteil umfasst den Entwurf der Software, die technische Implementierung (u.a. Nutzung des Frameworks ECJ) sowie die detaillierte Darstellung und Diskussion der Versuchsergebnisse, einschließlich der Untersuchung von Knoten-gewichteten vs. nicht-gewichteten Systemen.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit lässt sich durch Begriffe wie Genetische Programmierung, Handelssysteme, Währungsmarkt, Knotengewichte, Backtesting und Optimal f beschreiben.
Was genau sind "Knotengewichte" in diesem Kontext?
Knotengewichte sind Gleitkommawerte, die jedem Knoten in einem GP-Baum zugeordnet werden. Sie steuern die Wahrscheinlichkeit, mit der ein Genetischer Operator (Crossover/Mutation) an einem bestimmten Knoten ansetzen darf, und sollen so die Modularisierung und Interpretierbarkeit fördern.
Warum wurde der Währungsmarkt als Testumgebung gewählt?
Der EUR/USD-Markt bietet eine hohe Liquidität, geringe Transaktionskosten, eine fast 24-stündige Handelszeit und gute Skalierbarkeit, was ihn für automatisierte Handelssysteme besonders attraktiv macht.
- Quote paper
- Diplom Informatiker Holger Hartmann (Author), 2007, Entwicklung von Handelssystemen mit der Genetischen Programmierung: Grundlagen und Fallbeispiel, Munich, GRIN Verlag, https://www.grin.com/document/81022