TRADESIGNAL HOW TO 09.
KURSMUSTER & KALENDEREFFEKTE BACKTESTEN.
TEIL 3: MIT DER FORMELSPRACHE EQUILLA ZUM TRADING-ERFOLG.
Mit Equilla lassen sich mithilfe vorinstallierter Module zahlreiche Kursmuster testen, aber auch individuelle Patterns programmieren. Lesen Sie in dieser Ausgabe, wie man z.B. Swing Punkte einsetzen kann, wie Gaps getestet werden können und wie Sie saisonale Effekte einsetzen können.
INHALT
- Was wäre die Technische Analyse ohne wiederkehrende Muster?
- Beispiel 1: Inside Bar Pattern
- Befehle zur Visualisierung
- Beispiel 2: Swing-Punkte nach klarer Systematik
- Beispiel 3: Visualisierung und Backtest von Gaps
- Kalendereffekte – Mythos oder Realität?
- Fazit
HINWEIS: Der vorliegende Beitrag ist im TRADERS’ Magazin (Ausgabe 12/2014) erschienen.
WÄS WÄRE DIE TECHNISCHE ANALYSE OHNE WIEDERKEHRENDE MUSTER?
Ob Point & Figure, Candlesticks oder bestimmte Kostellationen steigender oder fallender Kerzen – sie alle ermöglichen konkrete Ein- und Ausstiegssignale und können somit auf unterschiedlichste Weise beim Handel eingesetzt werden
.
DER VORTEIL VON TRADESIGNAL:
Jedes denkbare Muster kann auf Basis historischer Daten getestet und auf Robustheit geprüft werden.
BEISPIEL 1: INSIDE BAR PATTERN.
Beginnen wir mit einem einfachen Inside Bar Pattern. Hierbei handelt es sich um Handelstage, bei denen das Tief des aktuellen Bars größer oder gleich dem Tief des vorherigen Bars, während das Hoch des aktuellen Bars kleiner oder gleich dem Hoch des vorherigen Bars sein muss. Mithilfe der vorinstallierten Funktionen, die auch für jedes Pattern verfügbar sind, erhält auch der Nichtprogrammierer Einblick in die dahinterstehende Logik, sodass mit etwas Übung auch eigene Muster geschrieben werden können. Die Funktion, die einen Inside Day beschreibt, lautet wie folgt:
PatternRawInsideBar = Low > Low[1] And High < High[1];

Möchte man solch ein Muster innerhalb einer eigenen Handelsstrategie nutzen, die Ausbrüche aus dem Inside Day oberhalb der SMA 50 long und unterhalb der SMA 50 short handelt, genügt der Verweis auf die Funktion PatternRawInsideBar. Der Code für eine rudimentäre Handelsstrategie könnte wie folgt lauten:
Variables:
pattern;
pattern = PatternRawInsideBar( );
If close>average(close,50) and pattern and marketposition=0 Then
Buy Next Bar at High Stop;
If close<average(close,50) and pattern and marketposition=0 Then
Short Next Bar at Low Stop;
If MarketPosition = MarketPositionLong Then Sell next bar At low stop;
If MarketPosition = MarketPositionShort Then Cover Next Bar At high stop;
BEFEHLE ZUR VISUALISIERUNG.
Damit der Trader auftretende Signale auch visuell gut erkennt, stellt Equilla zahlreiche Grafikbefehle zur Verfügung. Der eben dargestellte Code muss zu diesem Zweck mit dem folgenden Kopfteil beginnen:
Meta:
Subchart(false);
Input:
Visuals( True );
If Visuals And pattern
Then DrawText( Low, "Chart Patterns", "Inside Bar", 9, AlignBottom + Border );
If pattern
Then DrawForest (low,high,"InsideLow","InsideHigh",Thick,blue,false);
If pattern then DrawSymbol (low,SymbolTriangleUp,8,green,green);

ABB. 1: INSIDE DAY PATTERN BEIM S&P 500.
Das Aufspüren von Kerzenmustern jeglicher Art gelingt mit Equilla einfach und systematisch. Gelb markiert sind in diesem Beispiel Inside Days, deren Hochs und Tiefs als Trigger für eine Long- bzw. Short-Position am Folgetag dienen.
BEISPIEL 2: SWING-PUNKTE NACH KLARER SYSTEMATIK.
Equilla greift selbstverständlich nicht nur auf aktuelle, sondern auch auf alle Daten aus der Vergangenheit zu. Mithilfe einer rechteckigen Klammer erhält Equilla die Anweisung, einen Datenpunkt aus der Vergangenheit auszugeben. Die Displacement-Funktion ermöglicht zahlreiche Anwendungsmöglichkeiten, die als Komponente einer Handelsstrategie oder zu Scanning-Zwecken eingesetzt werden können. Hierzu gehört u.a. die Abfrage von Veränderungen eines Indikators im Zeitablauf. Möchte man zum Beispiel prüfen, ob das aktuelle Niveau der 200-Tage-Linie tiefer notiert als vor 20 Perioden, so genügt folgende Abfrage:
average(close,200)<average(close,200)[20]
Eine weitere Möglichkeit, die erst durch die Displacement-Funktion möglich wird, ist die Erkennung von markttechnischen Swing-Punkten. Wer also wichtige Hoch- und Tiefpunkte nicht manuell, sondern vollkommen algorithmisch identifizieren und diese als Ein- oder Ausstiegssignale verwenden möchte, muss dem Computer zunächst beibringen, was ein markantes Hoch oder Tief überhaupt ist. Mit der zuvor vorgestellten Displacement-Funktion ist das möglich:

DEFINITION SWING-HOCH: Ein Hoch, das auf der linken und rechten Seite jeweils von niedrigeren Hochs umgegeben ist.
if h<h[2] and h[1]<h[2] and h[2]>h[3] and h[2]>h[4] then hh=h[2];

DEFINITION SWING-TIEF: Ein Tief, das auf der linken und rechten Seite jeweils von zwei höheren Tiefs umgeben ist.
Auf Basis dieser objektiven Swing-Punkte lassen sich anschließend Handelsregeln definieren. So können Ausbrüche über das letzte Swing-Hoch zum Aufbau von Long-Positionen genutzt werden, während Swing-Tiefs als Stop- oder Short-Trigger definiert werden. Der Einsatz auf unterschiedlichen Zeitebenen ist ebenfalls möglich und eröffnet fortgeschrittenen Anwendern vielfältige Möglichkeiten.
TIPP: Wie Sie mit der Kombination von Renko Charts und Swing Points eine profitable Handelsstrategie entwickeln können, lesen Sie in unserer Algorithmic Trading Tips Ausgabe 10.

ABB. 2: REGELBASIERTE SWING POINTS IN AKTION.
Der Chart zeigt die Nike-Aktie mit der systematischen Erkennung von Swing Highs und Lows.
BEISPIEL 3: VISUALISIERUNG UND BACKTEST VON GAPS.
Ein ebenfalls beliebtes Muster stellen Kurslücken dar. Werden diese tatsächlich geschlossen, wenn ja wie oft? Welche Rolle spielt dabei der jeweilige Markttrend? Und wie kann man eine einfache Gap-Handelsstrategie basteln? Fragen dieser Art können mit Equilla mit einigen Zeilen Code beantwortet werden und damit wertvolle Erkenntnisse für den eigenen Handel liefern. Nehmen wir an, der Trader möchte Tage, an denen der Aktienmarkt mindestens ein Prozent oberhalb des Vortageshochs eröffnet, zum Short-Einstieg nutzen. Der Equilla-Code hierfür lautet wie folgt:
If Open Of Next Bar > 1.01*high Then Short Next Bar At open;
Ist die Short-Position eröffnet, soll der Ausstieg am Folgetag erfolgen, wenn das Vortageshoch um ein Prozent überschritten wird:
If MarketPosition = MarketPositionShort Then Cover Next Bar At 1.01*high stop;
Auf der Long-Seite gelten die umgekehrten Ein- und Ausstiegsbedingungen. Der Code lautet wie folgt:
If Open of Next Bar < 0.99*Low Then Buy Next Bar At Market;
If MarketPosition = MarketPositionLong Then Sell next bar At 0.99*low stop;
Möchte man einen Initial Stop in Punkten einsetzen, so muss hierfür ein Input festgelegt werden. Wir benennen diesen wie folgt:
Inputs: StopInPunkten(100,1);
Die Anweisung SetStopLoss(StopInPunkten) sorgt am Ende des Equilla-Codes dafür, dass die Position bei Erreichen eines Verlusts von 100 Punkten geschlossen wird. Diese wenige Zeilen genügen, um einen Backtest dieser Basisstrategie durchzuführen. Selbstverständlich lassen sich mithilfe von Inputs frei definierbare (Mindest)größen des Gaps definieren, Trendfilter einbauen oder flexiblere Stopp-Varianten sowie Kursziele integrieren.
KALENDEREFFEKTE – MYTHOS ODER REALITÄT?
Das nächste Beispiel zeigt, dass auch bekannte Kursanomalien wie „Turn of the Month“, der Aufwärts- und Abwärtsbias einzelner Wochentage oder aber saisonale Phänomene a la „Sell in May“ bis ins Detail getestet und analysiert werden können. Möchte man die letztgenannte Börsenweisheit einem Realitätstest unterziehen, genügen folgende zwei Zeilen in Equilla:
If Month( Date ) = May And Month( Date[1] ) = April Then Sell; If Month( Date ) = October And Month( Date[1] ) = September Then Buy;
Abbildung 3 zeigt den Verlauf des S&P 500 sowie die dazugehörige Kapitalkurve der Sell-in-May-Strategie inklusive eines SMA-Filters.
ABB. 3: SELL IN MAY STRATEGIE BEIM DOW JONES.
Das Testen saisonaler Strategien lässt sich in Equilla mit wenig Aufwand realisieren. Zu sehen ist hier der Verlauf des S&P 500 sowie die dazugehörige Kapitalkurve der Sell-In-May-Strategie inklusive eines SMA-Trendfilters.
FAZIT.
Die aufgezeigten Einsatzbereiche stellen nur einen Ausschnitt der Möglichkeiten dar, die für jeden engagierten Trader mit der Formelsprache Equilla in Tradesignal umsetzbar sind. Der Fantasie sind im wahrsten Sinne des Wortes keine Grenzen gesetzt: Ob Indikatoren, Kursmuster oder saisonale Strategien – jede Idee kann als Grundlage für eine eigene Handelsstrategie dienen. Mehr zu den Features und Vorteilen von Equilla erfahren Sie in einer der kommenden How To-Ausgaben. Für Fragen rund um Tradesignal stehen wir Ihnen jederzeit gerne zur Verfügung. Wenn Sie noch kein Tradesignal-Kunde sind, stellen wir Ihnen auch gerne eine Testversion zur Verfügung.
Das war’s für heute. Take care, take profit und auf Wiedersehen.