Algorithmic Trading Tips 15.
INTRADAY EMISSIONS-HANDEL.
WIE SIE MIT VOLA BREAKOUTS PROFIT GENERIEREN.
Der Handel von Volatilitätsausbrüchen auf Intraday-Basis bietet attraktive Chancen in zahlreichen Märkten. In der vorliegenden Ausgabe zeigen wir Ihnen, wie Sie mithilfe des Day Range Indikators Schritt für Schritt eine profitable Handelsstrategie für den Emissionshandel entwickeln und auf Robustheit untersuchen können.
ARBEITSBEREICH LADEN. (Für Anwender mit Thomson Reuters.)
ARBEITSBEREICH LADEN. (Für Anwender mit Bloomberg.)
Mit dem Download erkennen Sie die unten aufrufbaren Nutzungsbedingungen an.
In den letzten Jahren hat sich der Handel mit Emissionszertifikaten zu einem der liquidesten Märkte im Energiebereich gewandelt. Damit bietet er das ideale Umfeld für technische Handelsstrategien. Mit der Trading Tips Ausgabe dieses Monats will ich Ihnen eine Handelsstrategie zeigen, mit der Sie die starken Intradaybewegungen in diesem und anderen Märkten für sich nutzen können.
DAY RANGE: EIN EINFACHER, ABER MÄCHTIGER INDIKATOR.
Vor die fertige Handelsstrategie setzten die Götter die Inspiration. Und der Day Range Indikator wird Ihrer Inspiration schnell auf die Sprünge helfen. Öffnen Sie hierzu zunächst einen 15min Intradaychart des Emissions-Futures (z.B. CFI2Z5 in Thomson
Reuters) und ziehen den „Day Range“ Indikator aus der Liste der in Tradesignal enthaltenen Indikatoren auf den Chart. Dieser Indikator verwendet nicht viel Mathematik, er stellt einfach die einzelnen Tagesbewegungen unabhängig voneinander dar. Jeden
Tag startet der Indikator bei der Markteröffnung mit 0, und bewegt sich anschließend analog zum eigentlichen Chart. Steigt der Markt z.B. von der Eröffnung um 10 Punkte, dann steigt auch der Indikator von 0 auf 10.
Kann ein solch einfacher Indikator genug sein, um damit eine erfolgreiche Tradingstrategie zu entwerfen? Ja! Werfen Sie dazu einen Blick auf eine längere Historie des Indikators, und Sie werden sofort jene Bewegungen sehen, mit denen das System Geld verdienen wird. Immer wieder stehen starke Spikes über die normale Schwankungsbreite des Indikators hinaus. Das sind Tage, an denen die Traderherde von der Eröffnung bis zum Handelsende in eine Richtung galoppiert ist. So etwas kommt natürlich nicht jeden Tag vor, doch wenn es in Zukunft auftritt, soll Tradesignal Sie darüber informieren.
Wenn Sie auf den Indikator zwei Stop-Linien legen (eine bei +0.2, die andere bei -0.2), erkennen Sie, dass dies im Emissionshandel eine Art magische Schranke zu sein scheint: Immer wenn der Markt von der Eröffnung mehr als 0.2 stieg oder fiel, konnten Sie anschließend bis zum Ende des Handelstages noch einen netten Gewinn verbuchen.
ABB. 1: DAY RANGE INDIKATOR MIT FESTER RANGE.
Der Range Day Indikator normalisiert die Intraday-Bewegungen, indem er täglich bei Null beginnt. Auf diese Weise wird ein schneller und präziser Vergleich einzelner Handelstage ermöglicht.
MARKTUNABHÄNGIGER EINSATZ DANK STANDARDABWEICHUNG.
Aber als erfahrener Händler wissen Sie natürlich, dass es am Markt keine magischen Werte gibt, darum lassen Sie dieses Breakout-Level lieber von Ihrer Software berechnen. Dazu könnten Sie einfach ein sehr langes Bollinger Band (>500 Perioden) auf den Day Range Indikator ziehen und so die Volatilität der normalen Tagesschwankungen anzeigen. Oder Sie nehmen die dieser Trading Tips Ausgabe beiliegende Expertenversion des Day Range Indikators.
Er stellt automatisch ein Volatilitätsband um die Tagesschwankungen dar. Die Standardbreite dafür liegt bei zwei Standardabweichungen. Damit haben Sie die Möglichkeit, den Indikator auch mit anderen Märkten zu verwenden. Sie müssen nun nicht mehr selbst ein neues, magisches Level finden, sondern der Indikator passt sich automatisch an die Volatilität des gewählten Marktes an.
ABB. 2: ERWEITERTER DAY RANGE INDIKATOR MIT VOLATILITÄTSBAND.
Mit der Verwendung der Standardabweichung als Maßeinheit für „normale“ Tagesschwankungen, lässt sich der erweiterte Day Range Indikator flexibel auf allen Märkten einsetzen.
UMSETZUNG DER STRATEGIE IN EQUILLA.
Jetzt haben wir alles, um die Idee der Handelsstrategie zu definieren. Kaufe, wenn der Indikator über das obere Band (oder das fixe Level) steigt und schließe die Position am Ende des Tages. Für die Short Seite gelten dieselben Regeln. Eröffne eine Short Position, wenn der Indikator das untere Band oder Level schneidet und schließe den Trade am Ende der Handelssession.
Als Experte im Handel wird Ihnen natürlich gleich auffallen, dass dies noch nicht die ganze Strategie sein kann. Unabdingbar sind noch ein Stop Loss und ein Schutz der im Laufe des Trades aufgelaufenen Gewinne. Auch wenn die Herde meist bis zum Session-Ende galoppiert, müssen Vorkehrungen für den Fall getroffen werden, dass dies einmal nicht so ist. Aus diesen Gründen habe ich noch einen einfachen Trailing Stop in die Strategie integriert. Seine Standardeinstellung beträgt wie beim Vola Band zwei Standardabweichungen. Mit diesem Stop ist garantiert, dass Sie nie mehr als zwei Standardabweichungen der aufgelaufenen Gewinne verlieren. Zudem habe ich noch eine Logik integriert, die nur einen Trade pro Tag zulässt. Diese Regel soll uns an Tagen beschützen, an welchen der Markt mit hoher Volatilität, aber ohne Richtung zwischen den Bändern pendelt. Dies könnte eine Reihe von Verlusttrades an nur einem Tag auslösen, etwas das sich mit ein bis zwei Codezeilen in der Strategie verhindern lässt.
Die Programmierung der Strategie ist alles andere als kompliziert. Zuerst werden alle Inputs und Variablen festgelegt:
Inputs: dev(2.0),period(500), traildev(2.0,1,10),trademode(breakout, reversalmode), fixedlevel(0.0);
Variables:oo( Invalid ),colour, std, endtime, starttime, tt;
Anschließend werden alle Berechnungen durchgeführt, die später bei der Handelslogik zum Einsatz kommen. Zunächst erfolgt die Abfrage, wann der Markt eröffnet und wann dieser schließt, schließlich handelt es sich um eine Daytrading-Strategie. Um wie bereits beschrieben mehrere Trades an einem Handelstag zu unterbinden, erfolgt die Abfrage der bereits getätigten Transaktionen.
Die grün markierten Kommentare im Code helfen Ihnen dabei, die jeweiligen Zeilen besser zu verstehen. Um Informationen zur Syntax abzurufen, genügt der Rechtsklick auf ein blaues Wort. Kommen Sie auch dann nicht weiter, schicken Sie uns eine E-Mail an tradesignal@tradesignal.com.
colour=black; // colour of indicator bars
If Date <> Date[1] Then begin // first bar of day
oo = Open; //remember opening price
starttime=time; // timestamp of first bar of day
endtime=time[1]; // timestamp of last bar of yesterdays session
tt=totaltrades; // number of trades in history
end;
Im nächsten Schritt folgt die Berechnung der Standardabweichung, außerdem wird die Färbung der Bars und die Darstellung des Day Range Indikators programmiert.
std=stdev((high+low+close)/3 - oo,period); // standard deviation of day range
if fixedlevel>0 then std=fixedlevel; // if level is set overwrite standard deviation
if high-oo>dev*std then colour=darkgreen; // green above band
if low-oo<-1*dev*std then colour=red; // red below band
drawline(0+dev*std); // upper band
drawline(0-dev*std); // lower band
Drawline( 0, "Zero Line" ); // zero line
DrawBar( Open - oo, High - oo, Low - oo, Close - oo,colour,colour); // day range bars
Nun kommt der eigentliche Teil des Equilla Codes – die Handelslogik. Ziel dieser Strategie ist es, Long-Einstiege¹ durchzuführen, wenn der Indikator über das obere Vola Band ausbricht. Folgende Vorbedingungen müssen dabei erfüllt sein:
- die erste Handelsstunde ist abgeschlossen
- der Handelsschluss ist noch mindestens 1 Bar entfernt
- es wurde noch kein Trade durchgeführt
// if in core trading time (open+1h - 1 bar before end of session)
if time>starttime+100 and time<endtime and
marketposition=marketpositionflat and // and currently no position
totaltrades=tt then begin // and no trade today then ...
if trademode=breakout then begin // breakout mode
buy next bar at oo+dev*std stop; // buy at upper band,
short next bar at oo-dev*std stop; //short at lower band
end;
if trademode=reversalmode then begin // (*) reversal mode
short next bar at oo+dev*std limit; // short at upper band
buy next bar at oo-dev*std limit; // buy at lower band
end;
end;
Nach einem Einstieg in eine Position kommt automatisch nachfolgende Exit-Strategie zum Tragen. Als erste Bedingung gilt hier das Handelsende des jeweiligen Handelstages. Die zweite Ausstiegsvariante ist der Trailing Stop, der die aufgelaufenen Gewinne sichert und gleichzeitig potenzielle Verluste begrenzt.
ROBUSTE PARAMETERBEREICHE FINDEN – MIT DEM OPTIMIZER.
Alle Inputs der Strategie können verändert und optimiert werden. Die Optimierung dient dabei in erster Linie dem Auffinden robuster Parameterbereiche. Nachfolgend eine Kurzbeschreibung der wichtigsten Parameter:
- Deviation(2.0): Multiplikator für die Standardabweichung.
TIPP: Werte zwischen 1,5 und 3 bei der Optimierung verwenden. - Period(500): Anzahl der Bars, die für die Kalkulation der Standardabweichung herangezogen werden.
- TrailDeviation Multiplikator für die Standardabweichung, die beim (2.0, 1,10): Trailing Stop zum Einsatz kommt.
TIPP: Dieser Parameter lässt sich zwischen 1 und 10 optimieren.
Ein weiterer Parameter namens „FixedLevel“ dient dazu, bei Bedarf anstatt der Standardabweichung absolute Grenzen für den Day Range Indikator zu nutzen.
ÜBRIGENS:
Wenn Sie die nachfolgenden Grafikbefehle in die Handelsstrategie einfügen, werden die Einstiegs- und Ausstiegslevels im Chart farbig markiert. Auf diese Weise erkennen Sie bereits im Voraus, an welchen Schranken das System aktiv werden wird (Abb. 3).
if time=endtime then exitposition this bar on close; // exit trade at end of day
// set profit trailing stop
setstopcontract;
setdollartrailing(lotsize*traildev*std);
ABB. 3: HANDELSSTRATEGIE „DAY RANGE BREAKOUT“.
Der Ausbruch aus der Day Range wurde am 23. September für einen Short-Einstieg, am 8. Oktober für einen Long-Einstieg genutzt. Erwartungsgemäß setzte sich die Bewegung bis zum Handelsende fort, sodass Gewinne verbucht wurden.
Mit dem Einsatz des Optimizers sollte es Ihnen möglich sein, ein robustes Ergebnis in vielen Futures-Märkten zu erreichen. In Abbildung 4 sehen Sie eine solche Optimierung für den CFI2Z4 Kontrakt. Auf den beiden Skalen sind die Breite des Bandes und die Weite des Stops dargestellt.
Ab etwa zwei Standardabweichungen bekommen Sie ein positives Ergebnis (Gewinn farblich kodiert dargestellt). Und das ist auch das, was wir von Anfang an erwartet hatten. Wir wollten an jenen Tagen investiert sein, an welchen die Traderherde den ganzen Tag in eine Richtung galoppiert ist. Und dies lässt sich einfach daran festmachen, dass sie weit galoppiert ist; weiter, als sie an einem normalen Tag kommen würde.
ABB. 4: OPTIMIERUNGS-HEATMAP.
Bereiche oberhalb einer Standardabweichung von 2 liefern positive Ergebnisse bei der vorgestellten Day Range Breakout Strategie.
REVERSAL STATT BREAKOUT – STELLEN SIE DIE STRATEGIE AUF DEN KOPF.
Einen letzten Punkt des Systems habe ich bisher verschwiegen. Manchmal hören Märkte einfach nicht auf das, was Analysten schreiben, und so habe ich vorsichtshalber auch die umgekehrte Logik in das System eingebaut. Damit wird das Handelssystem von einem Breakout- zu einem Range-Trading-System. Anstatt am oberen Band Long zu gehen, verkauft das System dann an dieser Marke. Wenn es Ihnen also unmöglich ist, in Ihrem Markt ein robustes Ergebnis im Breakout Mode zu erreichen, dann versuchen Sie den Reversal Mode. Lassen Sie so den Markt selbst entscheiden, mit welcher Strategie er gehandelt werden will.
Ich hoffe, dass ich Ihnen mit der vorliegenden Trading Tips-Ausgabe einige neue Ideen aufzeigen konnte, mit denen Sie einen systematischen Handelsansatz für den Emissionshandel – sowie Volatilitäts-Breakouts im Allgemeinen – entwickeln können.
Lassen Sie sich von dem Indikator inspirieren und testen Sie Ihre Ideen systematisch. Auch wenn es keinen „free lunch“ gibt – ein gutes Essen zum attraktiven Preis ist allemal drin.