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​​ );​​ 

Der Input erzeugt ein Auswahlfeld, das auf „true“ oder „false“ gesetzt werden kann. Mit „true“ werden alle Grafikbefehle dargestellt. Um die Markierung einer Inside Kerze direkt im Chart anzuzeigen, muss bei Subchart „false“ ausgewählt werden. Die Ausgabe des jeweiligen Kursmusters kann als Text im Chart wiedergegeben werden. Die Definition der Farbe, der Textgröße usw. kann mithilfe des DrawTextBefehls umgesetzt werden:

If​​ Visuals​​ And​​ pattern​​ 

Then DrawText(​​ Low,​​ "Chart Patterns",​​ "Inside Bar",​​ 9,​​ AlignBottom​​ +​​ Border​​ );

Die Markierung der betroffenen Kerze ist mit dem DrawForest-Befehl möglich:

If​​ pattern​​ 

Then DrawForest​​ (low,high,"InsideLow","InsideHigh",Thick,blue,false);

Alternativ kann Equilla auch ein Symbol unterhalb der Inside Kerze einzeichnen:

If​​ pattern​​ then DrawSymbol​​ (low,SymbolTriangleUp,8,green,green);

Abbildung 1 zeigt exemplarisch den Verlauf des S&P 500 zwischen Oktober 2014 und Januar 2015. Die gelb markierten Kerzen stellen Inside Days dar. Sofern der Index oberhalb seiner 50-Tage-Linie liegt, wird bei Überschreiten des Hochs eines Inside Days eine Long-Position eingenommen. Notiert der Index unterhalb seiner Durchschnittslinie, wird bei Unterschreiten des Tiefs jeweils eine Short-Position aktiviert.

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.

DISCLAIMER.

© Copyright Tradesignal Ltd., London.
Dieses Werk bzw. dessen Inhalt steht unter einer Creative Commons Namensnennung-Nicht-kommerziell 3.0 Unported Lizenz:
 http://creativecommons.org/licenses/by-nc/3.0/deed.de

Tradesignal® ist eine eingetragene Marke der Tradesignal GmbH. Nicht autorisierte Nutzung oder Missbrauch ist ausdrücklich verboten. Alle weiteren auf diesen Seiten genannten und ggf. durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer.

Tradesignal Ltd. erhält Informationen aus Quellen, die es für zuverlässig hält, übernimmt jedoch keine Garantie für die Richtigkeit und Vollständigkeit der darin enthaltenen Informationen. Tradesignal Ltd. und ihre verbundenen Unternehmen stellen keine ausdrückliche oder stillschweigende Gewährleistung in Bezug auf die hierin enthaltenen Informationen oder Analysen dar, einschließlich der implizierten Garantien für die Eignung für einen bestimmten Zweck und die Handelsüblichkeit. Tradesignal Ltd. oder ihre verbundenen Unternehmen haften in keinem Fall für Entscheidungen oder Maßnahmen, die im Vertrauen auf die hierin enthaltenen Informationen, entgangene Gewinne oder indirekte, Folgeschäden, besondere oder zufällige Schäden, sei es im Vertrag, in unerlaubter Handlung oder auf andere Weise, getroffen werden, auch wenn auf die Möglichkeit solcher Schäden hingewiesen wird. Dieses Material stellt weder ein Angebot noch eine Aufforderung zur Abgabe eines Angebots oder eine Empfehlung zum Kauf oder Verkauf von Wertpapieren dar. Alle Äußerungen sind freibleibend.

Die Equilla Codes werden kostenlos und „wie besehen“ zur Verfügung gestellt, ohne Gewährleistung jeglicher Art, ausdrücklich oder stillschweigend, einschließlich, aber nicht beschränkt auf die Garantien der Eignung für einen bestimmten Zweck und Nichtverletzung. In keinem Fall haftet Tradesignal Ltd. für Ansprüche, Schäden oder sonstige Haftung, sei es in einer Vertragsklage, unerlaubter Handlung oder auf andere Weise, die sich aus oder im Zusammenhang mit diesem Code oder der Verwendung dieses Codes ergibt.

sit felis consectetur tristique dolor ultricies id dictum