Kommentar
00:00 Uhr, 15.05.2008

Handelssysteme(3) - Berechnungsmodell codieren,Backtesting - Fazit und Ausblick

Ist das Berechnungsmodell ermittelt, kann es im nun folgenden Schritt in eine nutzbare Systemsprache überführt werden. Für die Umsetzung gibt es auf dem Markt diverse Backtest-Software, wie z.B. TradeStation, Metastock, Wealth-Lab u.a.. Über die jeweils eingebundene Programmierumgebung kann die formulierte Berechnungsmodell-Logik in eine Systemlogik formuliert werden.
Dieser Schritt erfordert Programmierkenntnisse und Kenntnisse im Umgang mit der genutzten Software. Komplexe Berechnungsmodelle stellen für einen normalen Anwender dabei eine hohe Hürde darin. Um an diesem ersten Schritt nicht gleich zu scheitern, kann dazu professionelle Hilfe in Anspruch genommen werden.

Bild 4 zeigt die Umsetzung des einfachen Berechnungsmodells „Inside-Kursmuster“ am Beispiel eines TradeStation™-Codes

Test mit historischen Kursen (Backtesting)

Beim Backtest wird das in den Programmiercode umgesetzte Berechnungsmodell mit historischen Kursen über einen definierten Zeitraum getestet. Die Backtest-Software erzeugt in diesem Zeitraum der Berechnungslogik adäquate Signale. Daraus erfolgt die Berechnung wichtiger Performanceparameter, auf die in einem der nächsten Beiträge näher eingegangen wird.
Die Ergebnisse des Backtestes beziehen sich auf die verwendete Kurshistorie und geben daher keinen Aufschluss über die zukünftige Entwicklung. Die berechneten Ergebnisse geben jedoch Aufschluss auf die Eigenschaften des verwendeten Berechnungsmodells.

Backtest-Ergebnisse analysieren

Die Analyse der Ergebnisse erfolgt in Bezug auf die System-Berechnungslogik. Wurde die Berechnungslogik adäquat umgesetzt? Entsprechen die erzeugten Signale den implementierten Berechnungsfunktionen? Hierzu wird manuell/visuell überprüft, ob die Signale entsprechend des formulierten Berechnungsmodells erzeugt werden. Erst wenn sichergestellt ist, dass der implementierte Code die Handelssignale entsprechend unserer erstellten Regeln generiert, können wir die nächsten Schritte abarbeiten. Bei Abweichungen muss die Berechnungslogik direkt korrigiert werden. Dieser Prozess ist umfangreich je nach getesteter Kurshistorie und Anzahl erzeugter Signale.

Der Backtest gibt jedoch keinen Hinweis darauf, mit welchen Parametern unser System die stabilsten Ergebnisse generiert. Hierzu ist eine Optimierung der Parameter erforderlich. Wobei gilt, diese Optimierung nur im Rahmen des ermittelten Berechnungsmodells vorzunehmen. Anderenfalls läuft der Entwickler Gefahr, durch Überoptimierung bzw. Curve-Fitting (Anpassung von Parametern an den historischen Datensatz) das System für die Zukunft instabil werden zu lassen. Um Überoptimierung zu vermeiden, muss nach einer Optimierung eine Walk Forward Analyse oder ein Out-of-Sample-Test durchgeführt werden.
Bei der Analyse der Ergebnisse sollte der Entwickler immer das Ziel seines Berechnungsmodells im Auge behalten. Dies wird in dem Zusammenhang deutlich, ob die beabsichtigte Funktion des Handelssystems bezogen auf den beabsichtigten Zeitrahmen (kurz-, mittel-, langfristig) mit der realen Funktion übereinstimmt. Die objektive Vorgehensweise im Analyseprozess ist dabei wichtig. Ein System kann nicht dem Zwang unterworfen werden, in einem bestimmten Zeitrahmen zu funktionieren. Die Folge daraus ist oft, dass sich die Performance in Zukunft verschlechtert.

Auf die Begrifflichkeiten der Performanceanalyse und Systemeffizienz wird am praktischen Beispiel in einem der folgenden Beiträge eingegangen.

Verbesserung des Modells

Nach der ausführlichen Analyse der Ergebnisse des Backtests, kann man mit gezielten Maßnahmen versuchen, die Effizienz (Risiko des eingesetzten Kapitals relativ zum erzielten Gewinn) und damit die historische Performance des Handelssystems verbessern.
Erster Ansatz für derartige Maßnahmen wäre zum Beispiel die Anpassung der Einstiegs- bzw. Ausstiegssignale durch andere Einstiegs- bzw. Ausstiegs-Triggern.

Verbessern heißt in diesem Sinne nicht ‚optimieren’. Die Bemühung, Fehlsignale herauszufiltern, kann die historische Performance zwar enorm steigern. Im Umkehrschluss besteht bei einem so optimierten Handelssystem eine hohe Wahrscheinlichkeit, unter veränderten Marktbedingungen (z.B. andere Marktvolatilität) instabil zu werden. Denken wir an die Emotionen, die wir möglichst ausschalten und nicht in das System hinein programmieren wollen.

Durch viele Änderungen am Berechnungsmodell kann sich das ursprüngliche Modell in ein neues Berechnungsmodell wandeln, welches nicht mehr den ursprünglichen Zielen des Entwicklers entspricht. Die eingehende Analyse der Backtestergebnisse liefert Informationen darüber.

Mögliche Verbesserungen der Einstiegs- bzw. Ausstiegslogik (Systemziel ist dabei immer zu berücksichtigen) sind zum Beispiel:

• Verwendete CrossOver/CrossUnder-Strategien mit Triggerleveln einsetzen
• Feste Gewinnstops als Trailing-Stopps verwenden
• Marktvolatilität / True Range für Verlust-Stopmanagement einsetzen

Kaufsignale in Abwärtstrends bzw. Verkaufsignale in Aufwärtstrends zu filtern birgt das Risiko, dass Signale mit hohem Gewinnpotential in den adäquaten Marktphasen (also Kaufsignal im Aufwärtstrend, Verkaufssignal im Abwärtstrend) in Zukunft ebenfalls gefiltert werden. Zu empfehlen ist dabei der Backtest der historischen Kurse für Märkte, die beide Marktphasen (Aufwärts- und Abwärtstrends) gleichermaßen aufweisen.

Zusammenfassung und Ausblick auf kommende Teile

Mechanische Handelssysteme verfügen über Berechnungsmodelle, die den aktuellen Trend ermitteln und entsprechende Signale für Kauf- bzw. Verkaufsentscheidungen liefern. Handelssysteme bieten gegenüber diskretionärem Handelsansatz Möglichkeiten, die Systemparameter des verwendeten Berechnungsmodells auf historische Signifikanz und Effizienz zu analysieren (Backtest). Die eigentliche Entwicklung von Handelssystemen geht jedoch weit über das Backtesting hinaus. Der erste Entwicklungsschritt im Entwicklungsprozess ist ein gründlicher Entwurf eines Berechnungsmodells, der das Ergebnis zeitaufwendiger Recherche (z.B. Visueller Analyse des Charts) sein kann. Für die weiteren Schritte – Implementierung, Backtest, Analyse und Verbesserung sind spezielle Kenntnisse in der verwendeten Technologie (Computer und Software) erforderlich. Sind diese Kenntnisse vorhanden, lassen sich einfache Berechnungsmodelle relativ schnell in eine Handelssystemfunktionalität umsetzen. Wichtig für jeden Entwickler ist es, seine eigenen Fähigkeiten richtig einzuschätzen. Praktische Erfahrung im Handel ist ein bedeutender Vorteil bei der erfolgreichen Entwicklung von Handelssystemen.

Im folgenden Beitrag stelle ich Ihnen relevante Handelsansätze vor. Am Beispiel eines Handelsansatzes wird gezeigt, wie dieser mit geeigneter Entry- und Exit-Strategie in ein Handelssystem umgesetzt werden kann.

Fortsetzung folgt ...

Autor: Dipl.-Ing. Lutz Engelland, Handelssystem-Entwickler - http://www.signalworks.de/

Das neue Kapitel "Systemhandel" im Wissensbereich : Bitte hier klicken.

Handelssysteme(2) - So entwickelt man ein Handelssystem

Wie gehe ich bei der Entwicklung eines Handelssystems vor ? Wie funktioniert das ? Auf was ist zu achten ? Wie bringe ich die Formeln auf Papier und wie kann ich sie konkret umsetzen ?

--> Beim Systemhandel werden Algorithmen (quasi Formeln) von Menschen programmiert und anschließend wertet der Computer basierend auf diesen Algorithmen die Märkte aus und generiert automatisch Signale. Systementwicklung, Systemhandel, Systemtrading, das ist die Thematik, die ich Ihnen im Rahmen einer umfassenden Artikelserie vorstellen möchte.

--> Dem Systemhandel steht der diskretionäre Ansatz gegenüber, bei dem der Mensch als auswertendes Individuum subjektiv die Märkte beobachtet und analysiert. Der Trader schaut auf den Chart, der Trader wertet den Chart aus, der Trader ist fortlaufend involviert bei der Entscheidungsfindung. Das ist diskretionär. Wenn Herr Weygand Chartanalysen erstellt, wenn Herr Gräfe den DAX Ausblick erstellt und wenn Herr Strehk Momentumtrading betreibt, dann handelt es sich dabei jeweils um den diskretionären Ansatz.

4. Schritte der Handelssystementwicklung

Die Entwicklung von Handelssystemen ist nicht gleichbedeutend mit Backtesting. Backtesting ist ein Teil des Entwicklungsprozesses, zu dem jedoch mehrere Abschnitte gehören, ohne die eine Validierung keine Signifikanz haben würde. Mindestens 5 Teilschritte sind erforderlich.

Erster und wichtiger Schritt der Entwicklung ist die Ermittlung eines geeigneten Berechnungsmodells für Ein- und Ausstiegssignale. Im zweiten Schritt wird das Berechnungsmodell in eine systematische Sprache (Codierung) gefasst, die im Weiteren mit Daten aus der Vergangenheit getestet werden kann. Nach Validierung und Analyse der Ergebnisse können auf dieser Basis mögliche Verbesserungen am Berechnungsmodell erfolgen. Bei diesem Schritt passiert häufig der Fehler, das Berechnungsmodell grundlegend zu verändern, um Verlusttrades zu minimieren.

Das Berechnungsmodell ermitteln

Dieser erste Schritt wird durch die Erfahrung des Systementwicklers und seiner verfügbaren Werkzeuge bestimmt und unterliegt keinen starren Mechanismen. Dieser Schritt ist zeitaufwendig und kann ohne zielgerichtete Vorgehensweise wenig befriedigend sein. Praktische Handelserfahrung kommt dem Handelssystementwickler bei diesem Schritt zu gute.

Es gibt viele Möglichkeiten, ein geeignetes Berechnungsmodell zu finden, wie z.B.

• Visuelle Ermittlung durch Analyse historischer Charts (Mustererkennung)
• Einsatz von technischen Indikatoren
• Neuronale Netze
• Astrologische Ansätze (Mondphasen, Zyklen) u.a.m.

Als Beispiel für die visuelle Ermittlung zeigt Bild 3 sogenannte Inside-Kursmuster (oben: im Abwärtstrend, unten im Aufwärtstrend). Inside-Kursmuster stellen potentielle Wendepunkte dar. Ein Inside-Kursmuster entsteht, wenn der aktuelle Kerzenkörper (inklusive vorhandener Dochte) von der vorherigen Kerze komplett umschlossen wird. Dieses Kursmuster hat umso mehr Gewicht je höher der Zeitintervall des Charts ist. Erfolgt der Ausbruch aus einem Inside-Kursmuster wird am Hoch gekauft bzw. Tief verkauft. Der Stoploss wird nach Kauf am Tief bzw. nach Verkauf am Hoch der Inside-Kerze platziert.

Das Inside-Kursmuster als Beispiel für das Berechnungsmodell kann nun wie folgt als Systembedingung formuliert werden:



{Inside im Abwärtstrend}
WENN
Schlusskurse beider vorheriger Kerzen < als Open-Kurs beider vorheriger Kerzen
UND
Hoch aktueller Kerze < Hoch vorheriger Kerze
UND
Tief aktueller Kerze > Tief vorheriger Kerze
DANN
Kaufe Hoch aktuelle Kerze plus 1 Punkt
UND
Setze Stoploss: Tief aktuelle Kerze minus 1 Punkt

{Inside im Aufwärtstrend}
WENN
Schlusskurse beider vorheriger Kerzen > als Open-Kurs beider vorheriger Kerzen
UND
Hoch aktueller Kerze < Hoch vorheriger Kerze
UND
Tief aktueller Kerze > Tief vorheriger Kerze
DANN
Kaufe Tief aktuelle Kerze minus 1 Punkt
UND
Setze Stoploss: Hoch aktuelle Kerze plus 1 Punkt

UND
Setze Profitziel: XXX Punkte


Um ein vollständiges Handelssystem zu realisieren, wurde mit dem jeweiligen Einstiegssignal gleichzeitig eine Ausstiegsbedingung definiert, der Stoploss, und ein Profit-Ziel.

Im nächsten Beitrag soll es um die konkrete Codierung des Berechnungsmodells und Backtesting gehen.

Fortsetzung folgt ...

Autor: Dipl.-Ing. Lutz Engelland, Handelssystem-Entwickler - http://www.signalworks.de/

Handelssysteme(1) - Systematisch zum Gewinn - Wenn der Computer die Signale generiert! - Datum 06.05.2008 - Uhrzeit 00:00

Systematische Handelsansätze erfreuen sich immer größerer Beliebtheit. Sie können dem Anwender großen Recherche- und den damit verbundenen Zeitaufwand erleichtern. Handelssysteme geben uns mit ihrer ausgeklügelten Logik und nachvollziehbaren Ergebnissen eine gewisse Entscheidungssicherheit und nicht zuletzt können sie unsere Emotionen in einem gesunden Rahmen halten.

Für die breite Öffentlichkeit und für den normalen Privatanleger ist folgender Unterschied herauszuarbeiten.

--> Beim Systemhandel werden Algorithmen (quasi Formeln) von Menschen programmiert und anschließend wertet der Computer basierend auf diesen Algorithmen die Märkte aus und generiert automatisch Signale. Systementwicklung, Systemhandel, Systemtrading, das ist die Thematik, die ich Ihnen im Rahmen einer umfassenden Artikelserie vorstellen möchte.

--> Dem Systemhandel steht der diskretionäre Ansatz gegenüber, bei dem der Mensch als auswertendes Individuum subjektiv die Märkte beobachtet und analysiert. Der Trader schaut auf den Chart, der Trader wertet den Chart aus, der Trader ist fortlaufend involviert bei der Entscheidungsfindung. Das ist diskretionär. Wenn Herr Weygand Chartanalysen erstellt, wenn Herr Gräfe den DAX Ausblick erstellt und wenn Herr Strehk Momentumtrading betreibt, dann handelt es sich dabei jeweils um den diskretionären Ansatz.

So und nun geht es los ...

In dieser Serie stelle ich Ihnen die Thematik „Handelssysteme“ grundlegend vor. Es werden wichtige Schritte bei der Entwicklung von Handelssystemen erörtert und an praktischen Beispielen veranschaulicht. Sie erfahren die wesentlichen Ansätze systematischen Handelns und den Umgang mit den wichtigsten Systemparametern zur Verifikation von Handelssytemen.
Im weiteren Verlauf werden Systemsignale eines DAX-Handelssystems auf EOD- und auf Intraday-Basis regelmäßig vorgestellt.

1. Diskretionär vs. Mechanisch
Grundsätzlich können Handelsansätze zwischen drei Arten unterschieden werden:

Diskretionäre Händler nutzen viele Informationen aus unterschiedlichsten Quellen, die sie für ihren Handel als wichtig erachten: Charttechnik, Nachrichten, Unternehmensdaten, Astrologie u.v.m.

Der diskretionäre Ansatz bietet die Flexibilität und Vorteile, seine Parameter jederzeit zu verändern und auf neue Marktbedingungen schnell zu reagieren. Umfangreiche Erfahrung an den Märkten und eine adäquate psychische Belastbarkeit sind für den langfristigen Erfolg dieses Ansatzes unabdingbare Voraussetzungen. Diese Konditionen sind bei den meisten Händlern jedoch nicht vorhanden. Daher können die meisten von ihnen ihre Erfolgschancen durch den Einsatz mechanischer Handelssysteme überproportional verbessern.

Mechanische Händler verwenden fest definierte und damit unveränderliche Regelmechanismen, die objektiv nachvollziehbar sind. Ihre Positionen gehen mechanische Händler in der Regel ohne störende Emotionen ein. Voraussetzung dafür ist das Vertrauen in das eigene System, dass durch entsprechende Validierung der Systemperfomance anhand historischer Kursdatenreihen aufgebaut worden ist.

Der Duale Handelsansatz kombiniert den mechanischen mit dem diskretionären Ansatz, wobei durch diskretionäre Entscheidungen der mechanische Ansatz gefiltert, also durch diskrete Entscheidungen optimiert werden soll.

2. Was ist ein Handelssystem?
Grundlage eines Handelssystems bilden Berechnungsmodelle für Kauf- und Verkaufssignale, wobei zusätzlich das Marktrisiko (Verlustrisiko) und Money-Management-Modelle (Algorithmen zur Absicherung vor Verlusten bzw. Sicherung von Gewinnen) berücksichtigt werden. Das Risiko ist die messbare mögliche Verlusthöhe bezogen auf die aktuelle Marktlage. Aufschluss über das Marktrisiko kann z.B. die aktuelle Volatilität (durchschnittlich Schwankungsbreite eines Kurses) bzw. True-Range (Maß für die Volatilität) geben. Das Ergebnis der Risiko-Quantifizierung wird in die Handelssystematik eingebunden oder durch andere Finanzinstrumente (z.B. Optionen) umgesetzt.

In direkter Abhängigkeit zum Ergebnis der Risiko-Quantifizierung steht die Höhe des Tradingkapitals. Das profitabelste Handelssystem würde das Tradingkonto in den Totalverlust führen, wenn das Verhältnis von Tradingkapital zum Risiko unzureichend groß ist.
Erst mit Risiko- und Money-Management-Funktionalität ist ein Handelssystem vollständig entwickelt.
Auf diesen Bereich wird im Teil 4 genauer eingegangen.

3. Gründe für den Einsatz mechanischer Handelssysteme
Der entscheidende Vorteil beim Einsatz mechanischer Handelssysteme liegt in der Möglichkeit der Analyse und Verifikation der Systemparameter. Die mechanischen Regeln können sowohl anhand historischer Daten (In-Sample-Test), als auch anhand von Out-of-Sample-Daten getestet werden. Dabei werden die wichtigsten statistischen Kennzahlen ermittelt, die sich durch ein systematisches Handeln der festgelegten Systemregeln ergeben würden.

Sind die Ergebnisse signifikant und haben statistische Aussagekraft, kann der Erfolg des Handelssystems für eine zukünftige Periode prognostiziert werden. Diese Prognose gibt dem Händler jedoch keine absolute Sicherheit, aber sie kann das notwendige Vertrauen und die psychologische Unterstützung in das Handelssystem für den realen Handel schaffen.

Ein gewisses Maß an Unsicherheit bleibt und muss zwangsläufig einkalkuliert werden, da zukünftige Kursentwicklungen zwar prognostizierbar, aber nicht vorhersagbar bleiben. Mechanische Handelssysteme können jedoch mit entsprechenden Berechnungsmodellen Strukturen in der Preisentwicklung erkennen, die in der Vergangenheit innerhalb eines definierten Zeitrahmens und Zeitfensters profitabel gehandelt werden konnten. Ein Handelssystem kann z.B. die Richtung eines aktuellen Markttrends berechnen, potentielle Umkehrpunkte signalisieren oder zum Positionsmanagement verwendet werden. Dabei steht die Umsetzung einer langfristig profitablen und robusten Handelsstrategie im Vordergrund, der Erfolg einzelner Handelsaktionen ist dabei nicht entscheidend. Zudem werden Handelssysteme nur selten exakt am Top einer Preisentwicklung Signale generieren. Die zu erwartenden Gewinne aus Handelssystemen sollte man daher realistisch einschätzen.

Der Einsatz von mechanischen Handelssystemen erfordert die konsequente Befolgung der systematischen Regeln. Die für den Erfolg erforderliche Disziplin walten zu lassen, fällt vielen Händlern schwer, kann aber z.B. durch automatische Ordersysteme komplett dem Computer überlassen werden.

Fortsetzung folgt ...

Autor: Dipl.-Ing. Lutz Engelland, Handelssystem-Entwickler

Keine Kommentare

Du willst kommentieren?

Die Kommentarfunktion auf stock3 ist Nutzerinnen und Nutzern mit einem unserer Abonnements vorbehalten.

  • für freie Beiträge: beliebiges Abonnement von stock3
  • für stock3 Plus-Beiträge: stock3 Plus-Abonnement
Zum Store Jetzt einloggen

Das könnte Dich auch interessieren

Über den Experten

Harald Weygand
Harald Weygand
Head of Trading

Harald Weygand entschied sich nach dem Zweiten Staatsexamen in Medizin, einer weiteren wirklichen Leidenschaft, dem charttechnischen Analysieren der Märkte und dem Trading, nachzugehen. Nach längerem, intensivem Studium der Theorie ist Weygand als Profi-Trader seit 1998 am Markt aktiv. Im Jahr 2000 war er einer der Gründer der stock3 AG und des Portals www.stock3.com. Dort ist er für die charttechnische Analyse von Aktien, Indizes, Rohstoffen, Devisen und Anleihen zuständig. Über die Branche hinaus bekannt ist der Profi-Trader für seine Finanzmarktanalysen sowie aufgrund seiner Live-Analysen auf Anlegerveranstaltungen und Messen.

Mehr über Harald Weygand
  • Prozyklisches Breakout-Trading
  • Pattern-Trading
  • Makro-Trades
  • Intermarketanalyse
Mehr Experten