Skip to main content

Automatisches Handelssystem fuer Chartindikatoren

Zielsetzung

Das Ziel, der hier zu beschreibenden automatischen Handelssysteme, ist ein geeignetes einfaches technisches System zu finden, dass ein in der Kapitalanlage unterstützt. Dies erfolgt über die automatische Bereitstellung von Handelssysteme für technische Indikatoren. Die Handelssysteme werden dabei mittels Kennzahlen bewertet und damit vergleichbar. Das eigene SETUP kann so ohne eingesetztes Geld getestet und optimiert werden.

  • Über einen Basistitel-Chart werden dabei technische Indikatoren eingeblendet und über das Handelssystem zusammen mit Taktiken für den Ein-und Ausstieg optimierbar. Dies erlaubt somit den direkten Vergleich von der Zuverlässigkeit von technischen Signalen, von grundsätzlichen Aussagen über erfolgsversprechende Ein-und Ausstiegsstrategien und sinnvolle Money-Management-Parameter.
  • Weitere Optimierungen im Umgang mit Hebel-Papieren und der automatischen Optimierung der Indikatorenparameter sind denkbar, bisher aber noch in Arbeit bzw. für weitere Ausbaustufen geplant.

Kurz-Zusammenfassung

  • Nach Auswahl eines Titels
    • Optimierung der zu verwendenden Money-Management-Einstellungen anhand der Performance-Kennzahlen
    • Optimierung des zu verwendenden Indikators anhand der Performance-Kennzahlen
    • Optimierung nach Long / Short
    • Optimierung nach Einzel-Indikatoreneinstellungen
    • (i.A.) Optimierung von sinnvollen Hebeln mit dem aktuellem Handelssystem
  • Komplette Nachverfolgbarkeit durch umfangreiche Logausgaben und direkter Abbildung der Handelssignale im Chart des Basistitels
  • Weiterbearbeitung von erfolgreichen Einstellungen in einer Filter-Handelssystem-Statistik mit Exportfunktion nach Excel, Word usw.

Das System steht nur in der Profiversion zur Verfügung

Ausgangsüberlegungen

Sollten Sie sofort loslegen wollen, so überspringen Sie die nachfolgende Darstellungen, die als Hintergründe zum System verstanden werden sollen.

  • Nutzung von Kauf-Verkaufssignalen der technischen Indikatoren
  • Optimierung von Money-Management-Einstellungen wie Kapitalrisiko, Risikoanlage-Typ (fix, dynamisch mit Kapitalwachstum), Initial-Risk-Festlegung, Trailing-Stopp-Festlegungen
  • Handelssystem muss manuellen Einstellungen folgen bzw. diese möglich sein
  • Mit dem Wechsel von aktiven Indikatoren muss sofort eine Neuberechnung des aktiven Handelssystems erfolgen, ebenso für Änderungen von Indikatorenparameter
  • Berechnung muss der normalen Handelslogik folgen können
    • Zusätzliche Kosten wie Slippage, Gebühren für Stopps, für Trades müssen berücksichtigt sein
    • Einstiege folgen den Kapitalrisiko-Einstellungen (Typ, %)
    • Einstiege werden durch technische Indikatoren-Signale ausgelöst (entspechend den Einstellungen des Indikators)
    • Ausstiege werden je nach Einstellung im Handelssysstem durch Indikatoren-Signale und/oder Init-Stopps, Trailing-Stopps vorgenommen
    • Ein-und Ausstiegskurse können relativ gesetzt werden zum Einstiegszeitpunkt, d.h. direkt mit Close oder dem nachfolgenden Eröffnungskurs bzw. auch einer "Bestätigungs-Kurs"-Variante, wo der Eröffnungskurs > Vortages-Close sein muss, womit dann der Eröffnungskurs verwendet wird

Arbeitsschritte

Aufruf eines Charts

Für den Basischart sollten Sie zunächst einen Titel auswählen, der für Sie als geeigneter Basistitel zum Trading geeignet ist. In diesem Beispiel wird der DAX-Performanceindex als Basistitel gewählt (Trading erfolgt in der Praxis dann über Index-Optionen oder CFDs).

Festlegung des Signalindikators

Da das Handelssystem selbst auf generierte Kauf-und Verkaufssignale von technischen Indikatoren basiert, sollte ein Indikator hierfür ausgewählt sein. Hierzu eines der Indikatorenfenster öffnen:

image-1655732913260.png

In diesem Indikatorenfenster kann nun über das "Augen-Icon" dieser Indikator in den Hauptchart mit den generierten Signalen übernommen werden. Gleichzeitig dient dieser Indikator als Basis für das Handelssystem. Um manuelle Optimierungen zu vereinfachen, wird nach dem Öffnen des Handelssystems (nächster Schritt), nachfolgend mit jedem Wechsel des aktuellen Indikators (ohne diesen als Chartindikator nutzen zu müssen), dass Handelssystem neu berechnet. Veränderungen über die Einstellungen des Indikators, führen ebenso zu einer Neuberechnung. Solange ein Handelssystem geöffnet bleibt, wird dabei mit jedem Durchlauf eine Statistik-Liste geführt, die als CSV exportierbar ist. Mehrere Optimierungsläufe sind damit sinnvoll möglich.

image-1655732917476.png

Öffnen des Handelssystems

Im Hauptchart öffnen Sie über die Toolleiste das Handelssystem. Das System muss hierbei nicht manuell erstellt werden, sondern wird auf Basis der aktuellen Indikatoreneinstellungen angezeigt. Der erste Durchlauf erfolgt sofort automatisch und kann über den Button "Abbrechen" unterbrochen werden. Danach muss der Start über den Button "Starten" initiiert werden. Die Berechnung erfolgt immer auf Basis der aktuellen Handelssystem-Einstellungen. Als Standardeinstellungen werden globale Programmeinstellungen für Handelssysteme verwendet. Diese ergeben sich aus dem letzten Speichervorgang, die über die untere Toolleiste mit dem Button "Speichern" erfolgen kann.

image-1655732922016.png

Sie erhalten danach eine Ansicht wie diese:

image-1655732925395.png

Das Fenster teilt sich dabei auf in die Reiter

  • Einzelberechnung
    • Obere Office-Ribbon-Bar
      • Handelssystem: Grundsätzliche Steuerung der Berechnungen für das Handelssystem und grundlegende Einstellungen
      • Optimierung Money-Management: Grundsätzliche Steuerung der Optimierungsberechnungen für die Money-Management-Einstellungen wie Kapitalrisiko usw.
    • Bedingungen: zugrunde liegender Filter
    • Auswertungen: Aktuelle Kennzahlen des Handelssystems inkl. Performance-Chart. Die Neuberechnung der Auswertungen erfolgt auf einen Handelstag nur bei Veränderung durch Kauf- oder Verkauf. Dies macht das Chartbild stufenartig, erhöht die Performance aber signifikant.
    • Untere Toolleiste
      • "Speichern": Speichert die aktuellen Handelssystem-Einstellungen als Standardeinstellungen in den Programmeinstellungen
      • "Abbrechen": Schließt das aktuelle Fenster (ohne zu Speichern)
  • Statistiken
    • Für jede abgeschlossene Berechnung eines Handelssystems wird hier "Buch" geführt, d.h. eine neue Vergleichszeile einführt. Die Kennzahlen hierfür sind nachfolgend erklärt. Die Statistiken sind temporär und werden mit dem Schließen des Hauptfensters verworfen. Über die obere Toolbar gibt es aber zusätzlich Zugriff auf eine nicht temporäre Ergebnisstatistik, die für alle Handelssystem gilt. Zudem kann für die weitere Verarbeitung in Excel, eine CSV-Datei exportiert werden.
  • Log-Ausgaben
    • Um weitgehend das System nicht als Schwarze - Box verstehen zu müssen, können unter diesem Reiter, alle Berechnungsschritte in einstellbarer Detailtiefe nachvollzogen werden als Log-Ausgaben. Der Detailgrad wird zuvor eingestellt im gewünschten Level.

Kennzahlen und Statistiken

  • Statistiken
    • Spalte - Indikator: Name des verwendeten Indikators. In Klammern werden die verwendeten Indikatorenparameter gezeigt. Dies erlaubt die manuelle gezielte Optimierung, da bei Wechsel der Indikatorenparametern im Charthauptfenster, sofort eine Neuberechnung gestartet wird.
    • Spalte - Startdatum: Startzeitpunkt für die Berechnung des Handelssystems.
    • Spalte - Performance: Effektive Nettoperformance des Handelssystems nach vollständiger Berechnung vom Startzeitpunkt bis Heute
    • Spalte - P-Min: Minimale Performance des Handelssystem über den kompletten Betrachtungszeitraum
    • Spalte - P-Max: Maximale Performance des Handelssystem über den kompletten Betrachtungszeitraum
    • Spalte - P-Mittel: Durchschnittliche Performance des HS über den kompletten betrachteten Zeitraum (Startzeitpunkt-Heute)
    • Spalte - +Trades: Positiv abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe
    • Spalte - -Trades: Negativ abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe
    • Spalte - KapRisikoTyp: Kapitalrisiko-Typ:
      • 'mpFixOnStartCapital': Startkapital für Käufe werden prozentual entsprechend den HS-Einstellungen zum Startkapital gesetzt. Damit ist dies eine fixe Summe.
      • 'mpProzOnCapital': Startkapital für Käufe wird prozentual entsprechend den HS-Einstellungen zum aktuell verfügbaren Kapital gesetzt.
    • Spalte - KapRisiko: Maximales einzugehendes Kapitalrisiko für Käufe
    • Spalte - InitStopp: Prozentualer zu verwendende Initial-Risk-Stopp unterhalb des Kaufkurses
    • Spalte - TrailingStopp: Prozentualer zu verwendende Trailing-Stopp unterhalb des aktuellen Kurses. Trailing-Stopps werden täglich nachgeführt, sofern der heutige berechnete Stopp höher als der vorherige ist.
  • Kennzahlen
    • Initialkontostand: Zu verwendendes Startkapital für die Berechnungen
    • Performance: Effektive Nettoperformance des Handelssystems nach vollständiger Berechnung vom Startzeitpunkt bis Heute
      • Min: Minimale Performance des Handelssystem über den kompletten Betrachtungszeitraum
      • Max: Maximale Performance des Handelssystem über den kompletten Betrachtungszeitraum
      • Mittel: Durchschnittliche Performance des HS über den kompletten betrachteten Zeitraum (Startzeitpunkt-Heute)
      • Buy&Hold: Differenz des Schlusskurses von Heute und dem vom Startzeitpunkt bzw. Entwicklung bei 100% Kauf zum Startzeitpunkt und Verkauf zum heutigen Schlusskurs. Gebühren sind dabei nicht berücksichtigt!
    • Zeitraum: Anzahl Kalendertage zwischen Heute und Startzeitpunkt
    • Trades: Anzahl der durchgeführten Kauf-und Verkaufstrades. Stopp-Transaktionen werden NICHT mitgezählt
      • Positiv oder Negativ abgeschlossene Trades im Testzeitraum. Ausgewertet werden nur die Verkäufe
    • Mittlere Haltedauer: Die durchschnittliche Anzahl von Tagen, die Trades dauern bzw. der Titel gehalten wird (Verkauf minus Initial-Kauf)
    • Diversifikation: Anzahl unterschiedlicher Titel, die gehandelt wurden. Für automatische Handelssystem immer 1
    • Bruttogewinn: Gewinn ohne Abzug von Gebühren, Slippage, Stoppkursen
    • Nettogewinn: Gewinn unter Abzug von Gebühren, Slippage, Stoppkursen

Einstieg und Ausstiegs-Szenarien (Entry-Exit-Setup)

Für Handelssysteme gibt es unterschiedliche Einstiegs-und Ausstiegsmethoden:

  • Einstieg: Immer über Kaufsignal des zugrunde liegenden technischen Indikators. Gekauft wird entsprechend der Kapitalrisiko-Einstellung in Prozent zum Einstiegskapital (und damit fixen Wert) oder in Prozent zum aktuellen Kapital. Bei einem Restkapital von 100€ wird keine Position mehr eingegangen. Um auch Index-Systeme prüfen zu können, werden Stückzahl als Gleitkommawerte mit max. 3 Nachkommastellen zugelassen. Die Init-Stopps werden sofort angelegt, wenn eine Ausstiegs-Strategie gewählt wird, die Stopps vorsieht. Es ist damit möglich eine reine signalorientierte Strategie zu fahren.
  • Ausstieg
    • "Filter": Immer über Verkaufssignale des zugrunde liegenden technischen Indikators. Stopps werden in dieser Einstellung vollständig ignoriert.
    • "Filter oder Stopps": Verkauf erfolgt über die Verkaufssignale oder über Init-Stopps oder Trailing-Stopps. Für die Stopps gelten die entsprechenden Einstellungen in Prozent. Init-Stopps werden bei Mehrfachpositionen nur dann nachgezogen, wenn der neue berechnete Init-Stopp auf den gleitenden Durchschnitts-Kaufkurs größer ist als der bisherige. Trailing-Stopps werden mit jedem Handelstag nachgezogen und entsprechend ausgelöst, sofern notwendig. Bei allen Stopps gilt, dass diese einen sofortigen Verkauf der kompletten Position bewirken.

Optimierung der Einstellungen

image-1655732931602.png

Die Money-Management-Einstellungen können über einen Brute-Force-Algorithmus getestet und automatisch optimiert werden. Hierbei werden alle verfügbaren Varianten "durchgespielt" und die Performance in einem derartig eingestellten Handelssystem "gemessen". Der Start erfolgt über den Reiter "Optimierung Money-Management" und dem Button "Starten". Nach dem Start kann die Berechnung jederzeit unterbrochen werden mit "Abbrechen". Die Berechnung erfolgt dabei im Rahmen der unter "Testraum für Optimierungslauf" festgelegten Rahmenbedingungen. Konkret ist im oberen Beispiel damit ein Testrahmen von Kapitalrisiko von 20% bis 100% gesetzt. Für den Initial-Risk-Stopp wird ein 5%-30% Wert zur Prüfung vorgegeben. Für den Trailing-Stopp gilt der Testrahmen von 10-50%.

Da keine genetischen Algorithmen eingesetzt werden, wird um den Berechnungsaufwand überschaubar zu halten, folgende einfache Regelung genutzt (Range = rechter Wert - linker Wert):

  • Trailing-Stopps werden in Schritten von 5% getestet, wenn die eingestellte Range in den Optimierungseinstellungen >10% ist. Bei einer Range <=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet.
  • Initial-Stopps werden in Schritten von 5% getestet, wenn die eingestellte Range in den Optimierungseinstellungen >10% ist. Bei einer Range <=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet.
  • Kapitalrisiko wird in Schritten von 10% getestet, wenn die eingestellte Range in den Optimierungseinstellungen >10% ist. Bei einer Range <=10% wird in der kleinstmöglichen Schrittweite von 1% gearbeitet.

Wird im Handelssystem für die Exit-Festlegung eine NICHT-Stopp-Variante, d.h. Ein-und Ausstieg nur auf Basis von Indikatorsignalen, verwendet, so werden im Durchlauf die beiden Stopp-Parameter ignoriert.

Während der Berechnung wird die Abarbeitung nach folgender Prio vorgenommen: Kapital-Risiko-Typ -> Kapitalrisiko -> Initstopp -> Trailing-Stopp. Während der Berechnung wird laufend die Statistik aktualisiert und nach der Performance-Spalte eine Sortierung vorgenommen. Am Ende der Optimierung, wird der optimale Wert für das aktuelle Handelssystem übernommen. Bei gleicher Performancekennzahl werden Handelssystem-Einstellungen mit kleinerem Init-Stopp und kleinerem Trailing-Stopp bevorzugt, da hier die Risiken sinnvoll begrenzt werden können. Um die aktuellen Einstellungen des aktiven Handelssystems als Standardeinstellung in die Programmeinstellungen zu übernehmen, kann über die unterste Toolleiste der "Speichern"-Button gedrückt werden. Diese werden beim nächsten Programmstart wieder hergestellt und dienen als Basis für alle generierten Handelssysteme. Dynamische Filter aus SHAREholder besitzen jeweils eigene Handelssystem-Einstellungen, können über entsprechende Buttons aber auf die Standardeinstellungen zurückgesetzt werden.