nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Trading Handelssystem Entwicklung

Von: selzermckenzie@aol.com [Profil]
Datum: 17.06.2008 11:13
Message-ID: <91551b76-ca95-4691-bf90-69c92a5dc5cb@25g2000hsx.googlegroups.com>
Newsgroup: de.etc.finanz.banken+broker
Trading Handelssystem Entwicklung
Author Selzer-McKenzie


Die Entwicklung von Handelssystemen ist heutzutage gleichbedeutend mit
Backtesting geworden. Es lohnt sich, daran zu erinnern, dass
Backtesting zwar ein wesentlicher aber doch eben nur einTeil des
Systementwicklungsprozesses ist, und dass noch weitere Schritte
dazugehören, die alle ihr eigenes Gewicht und ihre eigene Bedeutung
haben.

Eine vollständige Entwicklungsmethode für Handels-systcmc umfasst
sechs verschiedene Schritte, die in Bild l gezeigt werden.
Die Modellfindung ist der erste wesentliche Schritt bei der
Handelssystcmentwicklung. Ohne ein geeig¬netes Modell ist die
Entwicklung eines Handelssystems ein hoffnungsloses Unterfangen.
Danach ist die Imple-mentierung des Modells der zweite wichtige
Schritt; sie erlaubt dem Entwickler, mit dem Handelssystem
fortzufahren und es mit Daten aus der Vergangenheit zu testen.
Einige Entwickler übergehen den Schritt der Vali-dierung und machen
direkt mit der Analyse der Back-lest-Ergcbnisse weiter. Dann passiert
der häufige Fehler, dass Modellverbesscrung zur Modellermittlung wird.
Wir wollen nun versuchen, den Zweck der einzelnen Schritte zu
verdeutlichen, die Bestandteil einer jeden Entwicklungsmethodik für
ein vollständiges Handels¬system sind.

mathematischen Methoden basieren und die zukünftige Kursrichtung
vorherzusagen versuchen.
Der Modellfindlingsschritt kostet viel Zeit und kann frustrierend
sein, wenn man nicht einigen Richtlinien folgt. Modelle können sehr
kompliziert werden, wenn es nicht gelingt, die Komplexität durch
Handelserfahrung zu reduzieren und den Prozess dadurch auf einem
realis¬tischen und praktischen Niveau zu halten.
Bild 2 zeigt ein Beispiel für ein Kursmuster für das Trading des DAX.
Es ist ein simples Modell, das man wie folgt beschreiben kann:
wenn heutiges Hoch > Hoch von gestern
und gestriges Tief > Hoch von vor drei Tagen
und Tief von vor zwei Tagen > Tief von vor drei Tagen
und Hoch von vor zwei Tagen > Tief von gestern
und Hoch von vor drei Tagen > Tief von vor zwei Tagen
und heutiges Tief > Hoch von vor zwei Tagen
und Hoch von gestern > heutiges Tief



1. Schritt: Modellfindung
Es gibt keine strikten Richtlinien und Rezepte, denen bei der Findung
von Modellen für Handelssysteme gefolgt werden müsste. Jeder
Handelssystemcntwickler verlässt sich auf Erfahrungen und verfügbare
Werkzeuge bei diesem Schritt. Einige verlassen sich zum Beispiel auf
die visuelle Betrachtung historischer Kurs-Charts und versuchen,
Musterformationen zu identifizieren, die als Grundlage für die
Entwicklung von Modellen dienen können. Andere vertrauen auf
Algorithmen, die auf Indikatoren   der   technischen   Analyse   und
anderen

2. Schritt: Implementierung des Modells Wenn ein Modell für ein
Handelssystem zur Verfü¬gung steht, ist der nächste Schritt, es
umzusetzen. Im Kontext der hier dargestellten vollständigen Methodik
für die Entwicklung von Handelssystemen ist es nicht ausreichend, ein
Modell für ein Handelssystem zu finden, das man in der Theorie für den
Handel verwenden könnte. Es ist auch erforderlich, dass die Logik des
Modells in einer Form vorliegt, die die Umsetzung in eine
Programmiersprache ermöglicht. Es gibt für diesen speziellen  Zweck
Programmiersprachen  im  Rahmen


kommerzieller Backtesting-Software, die die erforder¬liche Zeit für
die Entwicklung von und Fehlerbeseiti¬gung in Programm-Codes
signifikant verkürzen.
Die Bilder 3, 4 und 5 zeigen den für die Umsetzung des Kursmusters aus
Bild 2 erforderlichen Code jeweils in Wealth-Lab, Metastock und
Tradestation. Die Ein¬stiegslogik wurde mit einer Ausstiegslogik
kombiniert, um ein vollständiges Handelssystem zu implementieren.
Diese Beispiele vermitteln einen Eindruck von den Pro-
grammierfähigkeiten, die selbst bei einem so simplen Modell für ein
Muster benötigt werden. Kompliziertere Modelle verlangen
Programmierfähigkeiten, die der Durchschnittsmensch vielleicht nicht
besitzt. So kann also der Entwicklungsprozess eines Handelssystems bei
diesem Schritt stecken bleiben, wenn man die Kunst und Wissenschaft
des Programmierens nicht beherrscht und keine professionelle Hilfe
verfügbar ist.
3.	Schritt: Backtesting
Backtesting bedeutet das Fahren eines Handelssystem-modells mit
historischen Daten und die Erzeugung von Einstiegs- und
Ausstiegspunkten. Die Ein- und Ausstiegspunkte werden zusammen mit dem
Daten-Input für die Berechnung von Performance-Parametern verwendet;
dazu gehören die in Tabelle 1 aufgeführten Parameter.
Backtesting ist nützlich für die Analyse der hypo-thetischen
historischen Performance von Tradingsyste-men, aber es liefert
keinerlei Hinweise auf ein geeignetes Modell, das verwendet werden
könnte. Computer-Leistung und die Flexibilität von Backtesting-Program-
men sind also nutzlos, wenn der erste und der zweite Schritt des
Entwicklungsprozesses für Handelssysteme nicht vor diesem dritten
Schritt erfolgreich absolviert worden sind.
4.	Schritt: Validierung der Backtesting-Ergebnisse
Zu einem vernünftigen Vorgehen gehört die Validierung
der Ergebnisse aus dem Backtesting, um zu entscheiden,
ob sie der beabsichtigten Funktion des Handelssystems
entsprechen.  Fehler in der Berechnung des Modells
oder in der Umsetzung können Gründe für irreführende
Ergebnisse des Backtestens sein. Die Validierung bezieht
sich daher auf die manuelle Überprüfung der Ergeb¬
nisse mit dem Ziel zu entscheiden, ob die hypothetische
historische Funktion der beabsichtigten Funktion ent-

spricht. Manche Handelssystementwickler übersprin-gen den
Validierungsschritt, weil mit ihm die mühsame Überprüfung der Ein- und

Ausstiegspunkte und viele manuelle Berechnungen verbunden sind.
Trotzdem ist dies ein sehr wichtiger Schritt in der Methodik der
Ent¬wicklung von Handelssystemen.
Zur Überprüfung, ob die Umsetzung korrekt erfolgt ist, genügt eine
Stichprobe der Ein- und Ausstiegs¬punkte, gefolgt von manuellen
Berechnungen auf der Basis der mathematischen Formulierung des
Modells. Allerdings kann eine so vereinfachte Methode der Validierung
nicht   sicherstellen,   dass   alle   Ein-   und

Ausstiegspunkte generiert wurden, die das Modell ge-nerieren sollte.
Die Effektivität des Validierungsschritles steigt daher mit der Menge
der historischen Kursdaten an, die man für das Backtesten verwendet
hat, so dass entsprechend viele Ein- und Ausstiege erzeugt wurden.
5. Schritt: Analyse der Ergebnisse Die Ergebnisse des Backtestens
können nur im Zusam¬menhang mit der beabsichtigten Funktion des
Modells analysiert werden. Die Entscheidung über die Annah¬me oder
Ablehnung eines Handelssystems hängt von den erhaltenen Ergebnissen
und auch von den Zielen des Traders ab. Wenn ein Handelssystem zum
Beispiel für den kurzfristigen Handel entwickelt wurde, sich aber
ergibt, dass es ein eher längerfristiges trendfolgcndes System
geworden ist, sollte es trotz vielleicht annehm¬barer Ergebnisse
abgelehnt werden. Daher sollte die Analyse der Ergebnisse mit
berücksichtigen, ob die tatsächliche Funktion des Systems mit der
beabsichti¬gten Funktion hinsichtlich des anwendbaren Zeitrah¬mens
übereinstimmt. Zum Beispiel verwenden manche Entwickler von
Handelssystemen spontane Methoden, um ein System zu zwingen, im
ausgewählten Zeitrahmen

zu funktionieren. Dazu zählt unter anderem die Platzie¬rung eines
Zeitlimits bei offenen Positionen. Aus dieser Praxis resultiert
aufgrund verschiedener Faktoren oft eine Verschlechterung der späteren
Performance; einer der Gründe ist, dass die zukünftige Volatilität von

der¬jenigen signifikant abweichen kann, die bei den für das Back-
Testen verwendeten historischen Daten vorlag.
Die Analyse der Backtesting-Ergebnisse ist ein ziem¬lich komplexer
Prozess, dessen Effektivität letzten Endes stark vom analytischen
Geschick des Traders abhängt. Es ist genau so wichtig. Subjektivität
beim Analyse¬vorgang auszuschalten wie ein System mit dem Zweck zu
entwickeln, Emotionen vom Trading fernzuhalten. Wenn ein System
akzeptiert wurde, aber seine Analyse ist nicht richtig und objektiv
durchgeführt worden, dann mag man Emotionen beim Traden letztlich
ausblenden, aber sie sind noch im System selbst versteckt.
6. Schritt: Verbesserung des Modells
Nach der gründlichen Analyse der Backtest-Ergebnisse kann der
Entwickler versuchen, die historische Perfor¬mance des Modells durch
gezielte Veränderungen zu verbessern. Es können zum Beispiel andere
Ausstiegs-varianten eingesetzt werden, um so zu versuchen, die
geeignetsten für einen bestimmten Markt und die ge¬wünschte Funktion
herauszufinden. Man muss dabei beachten, dass der Verbesserungsschritt
nicht mit dem Optimierungsschritt zu verwechseln ist. Ersteres ist ein
sinnvolles Vorgehen, letzteres nicht.
Es ist schwierig festzulegen, wann eine bestimmte Änderung am Modell
dazu führt, dass es sich in ein völlig anderes Modell verwandelt. Dies
kann nur durch die Analyse von Backtesting-Ergebnissen erfolgen. Als
Beispiel: die Änderung der Logik für das Ausstiegsziel von einem
einfachen Prozentsatz vom Einstiegskurs wie in den Codes der Bilder 2
5 in einen nachlaufenden Stopp (Trailing Stopp) kann in einigen
Systemen zu einem spektakulären Anstieg des Gewinnfaktorwertes führen.
Das kann aber gleichzeitig die Umwandlung eines kurzfristigen
Handelssystems in ein langfristiges bedeuten. Alle Veränderungen
müssen daher im Rah¬men der beabsichtigten Funktion bleiben. Diese
Regel wird nicht von allen Systementwicklern befolgt, weil sie sich
auf die Bewertung der Ergebnisse in absoluteji Zah¬len konzentrieren
und nicht darauf achten, ob die vor¬genommenen Änderungen das System
in ein anderes
verwandeln, das nicht der ursprünglichen Spezifikation entspricht.
Optimierung und die Einführung spontaner Methoden zur Reduzierung von
Verlust-Trades müssen in diesem Schritt vermieden werden. Es gilt die
empi¬rische Regel, dass Änderungen an einem Modell nicht zu empfehlen
sind, die zur Reduzierung von Verlust-Trades vorgenommen werden, wenn
sie nicht gleichzeitig die Anzahl der Gewinn-Trades erhöhen. Der Grund
liegt in der Möglichkeit, dass eine solche Verbesserung nur ein Filter
für Verlust-Trades ist, für die bestimmte Bedingungen in den
historischen Daten vorgelegen ha¬ben. Wenn das System dann im echten
Trading verwen¬det wird, können neue Bedingungen auftreten, die nicht
gefiltert werden und die Reduzierung betrifft nun viel¬leicht die
Gewinn-Trades. Das kann zum Beispiel vor¬kommen, wenn ein System nur
in einer Phase getestet wurde, in der ein (Aufwärts-) Trend vorlag.
Wenn der Entwickler die Systemlogik ändert, um Short-Trades
herauszufiltern, indem er zum Beispiel Einstiegssig¬nale
herausfiltert, die bei einer positiven Differenz von zwei Gleitenden
Durchschnitten vorkommen, kann die Anzahl an Verlust-Trades
signifikant verringert werden. Beim wirklichen Traden könnte sich der
Trend jedoch in einen ausgedehnten Bärenmarkt umkehren, und das System
würde dann die Short-Trades herausfiltern, die nahe dem Höhepunkt
einer kurzfristigen Umkehr vor¬kommen, und das sind natürlich die
Trades mit dem höchsten Gewinnpotenzial in einer Abwärtsbewegung.
Um zu vermeiden, dass man Opfer einer unbe-absichtigten Optimierung
aufgrund bestimmter in historischen Daten vorliegender Bedingungen
wird, ist es empfehlenswert Märkte zu testen, die mehrere Auf-schwung/
Abschwungzyklcn aufweisen
Zusammenfassung
Zur Entwicklung von Handelssystemen gehört mehr als nur Backtesting.
Erfolgreicher Entwurf, Ausführung und Analyse von Handelssystemen sind
Teile eines ziemlich komplizierten Prozesses, der sowohl zeitintensiv
ist als auch Kenntnisse verlangt. Durch die Aufteilung des Prozesses
in diesem Artikel in sechs einzelne Schritte wollten wir uns ein Bild
von den dabei auftretenden Schwierigkeiten machen.
Handelssystementwickler sind heutzutage in Anbetracht von Computern,
Software und Informationstechnologie in einer besseren Aus¬gangslage
als ihre Vorgänger vor zwanzig Jahren. Aber unabhängig von
technologischen Vorteilen speziell bei Computer-Geschwindigkeit und
Programmiersprachen gilt immer noch GIGO (garbage in - garbage out),
und jeder Trader, der sich an Handelssystemen versucht, sollte sich
dessen bewusst sein

[ Auf dieses Posting antworten ]