Risikosteuerung mit dem Underwater-Indikator
von

Im letzten Artikel unserer Rubrik "Developers Corner" haben wir den Normalized-Underwater-Indikator (NU) vorgestellt.
Heute entwickeln wir ein vollautomatisch umsetzbares Konzept zur Risikosteuerung mit diesem Indikator.

Ausgangsbasis sei ein einfaches EOD-Handelssystem auf den Bund-Future mit folgenden Handelsregeln:

Enter Long

PDI(Perioden) kreuzt MDI(Perioden) nach oben

Enter Short

PDI(Perioden) kreuzt MDI(Perioden) nach unten

Exit Long

PDI(Perioden)< MDI(Perioden)

Exit Short

PDI(Perioden) > MDI(Perioden)

Für "Perioden" wurde im Definitionsbereich des Handelssystems eine Optimierungsvariable gesetzt.
Das Handelssystem enthält ein Standard Stop-Konzept, bestehend aus Sofortverluststops, Intraday-Verluststops, Intraday-Trailingstops und Intraday-Gewinnstops.

Das Basis-Handelssystem liefert für den Gesamtzeitraum vom 06.12.1989 bis 23.01.2012 folgendes Ergebnis:

 

Underwater Risikosteuerung

 

Ziel ist es, mit Hilfe der Signalgebung des Normalized-Underwater-Indikators den Drawdown im Kontrollzeitraum zu reduzieren und den Kapitalkurvenverlauf insgesamt zu verbessern.

Zunächst wird zu diesem Zweck ein zweites Handelssystem (Slave) im Projekt angelegt. Vom Slave-System aus wird auf die Kapitalkurve und auf die Handelsposition des Basissystems (Master) zugegriffen.
Der Zugriff erfolgt über die Schlüsselwörter #_kapital# und #_position#.
Beide Schlüsselwörter sind vom Formeleditor aus mit Hilfe des Investox-Schlüsselwort-Assistenten einstellbar.

Im Definitionsbereich des Slave-Systems erfolgt der Zugriff auf Daten des Master-Systems "Basis" wie folgt:

global calc KK: #_kapital Basis\?#;
global calc Posi: #_Position Basis\?#;

Die globale Variable mit dem Namen "KK" enthält jetzt die Kapitalkurve des Basis-Systems, die globale Variable mit dem Namen "Posi" enthält die Handelspositionen.

Im letzten Developers-Corner Artikel hatten wir den Underwater-Indikator so programmiert, dass er immer auf die Kapitalkurve des aktuellen Handelssystems berechnet wird. Für die jetzt geplante Risikosteuerung müssen der NU-Indikator und der In_Out-Indikator zuerst um ein Datenfeld erweitert werden.
Das neue Datenfeld erlaubt die Berechnung beider Indikatoren auf die Kapitalkurven anderer Handelssysteme.
Die verifizierten  Indikatoren finden Sie unter diesem Artikel zum Download.

Für die Berechnung des Underwater- In-Out-Indikators legen wir jetzt in 3 weiteren globalen Variablen im Definitionsbereich des Slave-Systems folgende Einstellungen so fest, dass sie später auch optimiert werden können:

  • Schwellenwert für die Unterscheidung in für das Trading des Basis-Handelssystems günstige und ungünstige Marktphasen ( = Variable  Level_In_Out )
  • Höchstwert den der Normalized-Underwater-Indikator vor dem Durchkreuzen des Schwellenwertes nach unten mindestens einmal angenommen haben muss, damit die Marktphase auf "Out" wechselt (= Variable Level_Max)
  • Tiefstwert den der Normalized-Underwater-Indikator vor dem Durchkreuzen des Schwellenwertes nach oben mindestens einmal angenommen haben muss, damit die Marktphase auf "In" wechselt (= Variable Level_Min)

 

Underwater Indikator

Die in der Grafik gezeigten Einstellungen der Optimierungsvariablen werden später dazu führen, dass das Slave-System von "In" auf "Out" wechseln wird, wenn der Normalized-Underwater-Indikator den Wert "20" nach unten kreuzt, nachdem er zuvor auf oder über "60" notiert hat (=20+40).
Das System wird von "Out" auf "in" wechseln, wenn der Normalized-Underwater-Indikator den Wert "20" nach oben kreuzt, nachdem er zuvor auf oder unter 15 notiert hat (=20-5).

In der letzten Code-Zeile der folgenden Grafik werden die 3 neuen globalen Variablen zur Berechnung des In_Out-Indikators in die neue Globale Variable "In_Out" übergeben.

 

Underwater Indikator

Zum Schluss werden noch die Handelsregeln für das Slave-System wie folgt festgelegt:

Das System soll "Long" gehen, wenn der In-Out-Indikator eine für das Trading gute Marktphase anzeigt, indem er den Wert "1" annimmt. Außerdem muss im Basis-Handelssystem eine Long-Position bestehen.

Das System soll "Short" gehen, wenn der In-Out-Indikator eine für das Trading gute Marktphase anziegt, indem er den Wert "1" annimmt. Außerdem muss im Basis-Handelssystem eine Short-Position bestehen.

Marktausstiege im Slave erfolgen entweder

  • wenn der In_Out-Indikator durch "-1" eine für das Trading ungünstige Marktphase anzeigt oder
  • wenn im Basis-System ein Marktausstieg erfolgt oder
  • wenn einer der Systemstops ausgelöst wird

 

Underwater Indikator

 

Die Systemstops im Slave-System sind -einschließlich ihrer Einstellungen - in diesem Beispiel mit den Stops des Master-Systems identisch, weil hier allein die Qualität der Risikosteuerung durch den Normalized Underwater-Indikator demonstriert werden soll.
Für den Realeinsatz können später natürlich auch andere Stop-Konzepte bzw. andere Stop-Werte im Slave gewählt werden.  

Aus dem Einsatz der NU-Risikosteuerung resultiert für das Slave-System das folgende Ergebnis:

Underwater Risikosteuerung

Der Drawdown konnte um knapp 4.000,-- EUR reduziert werden und die Kapitalkurve im Slave verläuft deutlich weniger volatil.

Abschließend noch einmal zum Vergleich das Basis-System mit Underwater-Equity (Teilchart 2) und NU-Equity (Teilchart 3). Mit der roten Farbstudie im Teilchart mit der Kapitalkurve des Basisssystems sind die Marktphasen kenntlich gemacht, in denen das Slave-System später aufgrund der Risikosteuerung nicht im Markt sein wird.

 

Underwater Risikosteuerung 

 

Zurück