© SMP Financial Engineering GmbH Handbuch des ... - smp-fe.de
© SMP Financial Engineering GmbH Handbuch des ... - smp-fe.de
© SMP Financial Engineering GmbH Handbuch des ... - smp-fe.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>©</strong> <strong>SMP</strong> <strong>Financial</strong> <strong>Engineering</strong> <strong>GmbH</strong><br />
<strong>Handbuch</strong> <strong><strong>de</strong>s</strong> Programmpakets Marktphasen für <strong>de</strong>n<br />
Nanotra<strong>de</strong>r/Futurestation<br />
Beschreibung <strong>de</strong>r Programme <strong>smp</strong>TrendOszillator (verschl.), <strong>smp</strong>VolaOszillator (verschl.),<br />
Tra<strong>de</strong>MarktPhasenStandard, Tra<strong>de</strong>MarktPhasenSelected, <strong>smp</strong>RenditeVerteilung (verschl.),<br />
PlotRenditeVerteilung, PlotUseDay, <strong>smp</strong>TickRenditeVerteilung (verschl.),<br />
PlotTickRenditeVerteilung, PlotUseDayTicks, SelectMarktPhasenLowTimeFrame,<br />
MarktPhasenFilter<br />
Dies ist keine Emp<strong>fe</strong>hlung zum Kauf o<strong>de</strong>r Verkauf von Aktien, Aktien<strong>de</strong>rivaten, Futures o<strong>de</strong>r an<strong>de</strong>ren Produkten<br />
jeglicher Art. <strong>SMP</strong> <strong>Financial</strong> <strong>Engineering</strong> <strong>GmbH</strong> gibt keine Emp<strong>fe</strong>hlungen bezüglich <strong><strong>de</strong>s</strong> Tradings o<strong>de</strong>r Investments. In<br />
<strong>de</strong>r Vergangenheit erzielte Performance entwe<strong>de</strong>r aktuell o<strong>de</strong>r berechnet aus historischen Tests und Strategien, ist<br />
keine Garantie für zukünftige Performance o<strong>de</strong>r Erfolg.<br />
Inhalt:<br />
1. Der TrendOszillator<br />
2. Der VolaOszillator<br />
3. Tra<strong>de</strong>n von Standard-MarktPhasen<br />
4. Tra<strong>de</strong>n ausgewählter MarktPhasen<br />
5. Die Rendite-Verteilung und Tick-Renditen<br />
6. Filter und Sentimente für kleinere Zeiteinheiten<br />
Das PP MarktPhasen ermöglicht es, über einen TrendOszillator und einen VolaOszillator<br />
automatisiert zu erkennen, ob ein Markt sich in einem Aufwärts-, Seitwärts- o<strong>de</strong>r Abwärtstrend<br />
befin<strong>de</strong>t und ob die gegenwärtige Volatilität hoch, mittel o<strong>de</strong>r niedrig ist. Darauf aufbauend wird <strong>de</strong>r<br />
Markt in 3*3=9 Marktphasen eingeteilt, die einzeln o<strong>de</strong>r in Kombination mit an<strong>de</strong>ren gehan<strong>de</strong>lt o<strong>de</strong>r<br />
als Filter eingesetzt wer<strong>de</strong>n können. Die I<strong>de</strong>e für die Einteilung <strong>de</strong>r Märkte in diese neun Phasen geht<br />
auf van Tharp zurück [1]. Zusätzlich lassen sich Rendite-Verteilungen <strong>de</strong>r einzelnen Marktphasen<br />
studieren.<br />
1. Der TrendOszillator<br />
Ziel <strong><strong>de</strong>s</strong> hier vorgestellten TrendOszillators ist es, einen Markt automatisiert in drei Bereiche,<br />
Aufwärtstrend (UpT), Seitwärtstrend (NoT) und Abwärtstrend (DownT) einzuteilen. Dazu berechnet<br />
das Express-Programm <strong>smp</strong>TrendOszillator eine Serie „steigMAOszi“, die als Oszillator <strong>de</strong>r<br />
gegenwärtigen „Steigung“ <strong>de</strong>r Preise im Chart einen Wert zwischen 0 und 1 zuweist. Werte größer ½<br />
entsprechen dabei positiver Steigung, Werte kleiner ½ negativer Steigung.<br />
Genauer gesagt, kann die Steigung für <strong>de</strong>n Trendoszillator zwischen minus unendlich und plus unendlich liegen. Betrachtet<br />
man das Ganze als Winkel gegenüber <strong>de</strong>r x-Achse kann <strong>de</strong>r Winkel (im Bogenmaß) zwischen -Pi/2 und Pi/2 liegen. Durch<br />
eine elementare affin lineare Abbildung lan<strong>de</strong>t man im Intervall (0,1) mit <strong>de</strong>m Wert ½ für Steigung Null.<br />
Dies unterteilt <strong>de</strong>n Chart in steigen<strong>de</strong> und fallen<strong>de</strong> Märkte. Daraus abgeleitet <strong>de</strong>finieren wir<br />
Aufwärtstrend (UpT): stark steigen<strong>de</strong>r Markt<br />
Abwärtstrend (DownT): stark fallen<strong>de</strong>r Markt<br />
Seitwärtstrend (NoT) : Steigungswerte nahe ½
Im Un<strong>de</strong>rlying FDax März 13, Tageschart<br />
Abb. 1.1<br />
sehen wir die Serie „steigMAOszi“ (hellgrün) als geglättete Kurve, <strong><strong>de</strong>s</strong> ungeglätteten Steigungs-<br />
Oszillators „steigOszi“ (rot).<br />
Abb. 1.2<br />
Die bei<strong>de</strong>n blauen Linien geben <strong>de</strong>n unteren und oberen Rand <strong><strong>de</strong>s</strong> Bereichs mit wenig Steigung (NoT)<br />
an. Zoomt man tie<strong>fe</strong>r in <strong>de</strong>n Chart,<br />
Abb. 1.3<br />
sieht man noch eine hellrote SAR-Serie „TrendSteigungsSARPlot“.<br />
Abb. 1.4<br />
Bei Werten über ½ (genauer 0.51) steigt die Serie „steigMAOszi“ wenigstens dreimal hintereinan<strong>de</strong>r.<br />
Analog zeigen Werte unter ½ (genauer 0.49), dass die Serie „steigMAOszi“ wenigstens dreimal<br />
hintereinan<strong>de</strong>r fällt.
Parameter <strong><strong>de</strong>s</strong> Indikators <strong>smp</strong>TrendOszillator<br />
Input $periodAbl (1,200,5);<br />
input $periodMA (1,200,100);<br />
input $periodEma (5,5000,1000);<br />
input $MAorExpMA (0,1,0);<br />
input $upthres (40,100,56);<br />
input $downthres (0,60,44);<br />
input $ThresOrVola (0,1,1);<br />
input $alpha (1,20,7);<br />
Die drei Parameter $periodAbl, $periodMA, und $periodEma geben Perio<strong>de</strong>nlängen für die Glättung<br />
<strong>de</strong>r Preis-Serie und <strong>de</strong>r daraus abgeleiteten Steigungs-Serien. Bei größeren Werten reagiert <strong>de</strong>r<br />
Oszillator mit mehr Verzögerung. Durch $MAorExpMA kann man zwischen normalem moving<br />
average und exponentiell geglättetem wechseln.<br />
Die bei<strong>de</strong>n Parameter $upthres und $downthres (in Prozent) geben <strong>de</strong>n oberen und unteren Rand<br />
<strong>de</strong>r Seitwärtszone NoT an. Für manche Anwendungen sind diese <strong>fe</strong>sten Werte zu unflexibel. Um<br />
angepasster auf mehr o<strong>de</strong>r weniger stark schwanken<strong>de</strong> Märkte reagieren zu können, bietet<br />
<strong>smp</strong>TrendOszillator auch die Möglichkeit, die obere und untere Begrenzung <strong>de</strong>r Seitwärtszone NoT<br />
schwankungsabhängig zu gestalten. Dazu wird eine „interne Varianz“ (series InterneVarianz)<br />
ermittelt, in<strong>de</strong>m die quadratischen Abweichungen <strong>de</strong>r Serie „steigMAOszi“ von ½ gemittelt wer<strong>de</strong>n.<br />
Daraus lassen sich die Werte <strong>de</strong>r oberen und unteren Begrenzungskurve wie folgt ermitteln<br />
upcurve = ½ + SQRT(InterneVarianz) * $alpha/10<br />
downcurve = ½ - SQRT(InterneVarianz) * $alpha/10,<br />
wobei $alpha ein weiterer Parameter ist. Stellt man noch <strong>de</strong>n Parameter $ThresOrVola =1, ergibt<br />
sich folgen<strong><strong>de</strong>s</strong> neues Bild mit schwankungsabhängigen blauen Ober- und Untergrenzen.<br />
Abb. 1.5<br />
Mit Hil<strong>fe</strong> <strong><strong>de</strong>s</strong> Express-Programms Tra<strong>de</strong>MarktPhasenStandard (wird unter 3. genauer erklärt;<br />
Parameter $FilterAuswahl=0) erkennt man die Aufwärtstrends (grüner Hintergrund), Seitwärtstrends<br />
(gelber Hintergrund) und Abwärtstrends (roter Hintergrund).
Abb. 1.6<br />
2. Der VolaOszillator<br />
Analog zum TrendOszillator soll <strong>de</strong>r VolaOszillator einen Markt automatisiert in drei Bereiche,<br />
nämlich hohe Volatilität (HighVola), mittlere Volatilität (MediumVola) und niedrige Volatilität<br />
(LowVola) einteilen. Ohne auf die genaue Berechnung <strong><strong>de</strong>s</strong> Oszillators einzugehen, sei erwähnt, dass<br />
sich <strong>de</strong>r hier verwen<strong>de</strong>te Volatilitätsbegriff von <strong>de</strong>r ATR (average true range) <strong>de</strong>r Preise ableitet.<br />
Dazu berechnet das Express-Programm <strong>smp</strong>VolaOszillator eine Serie „panikema“, die als Oszillator<br />
<strong>de</strong>r gegenwärtigen „Volatilität“ <strong>de</strong>r Preise im Chart einen Wert zwischen 0 und 1 zuweist. Werte<br />
größer ½ entsprechen dabei erhöhter Volatilität, Werte kleiner ½ erniedrigter Volatilität.<br />
Im Un<strong>de</strong>rlying FDax März 13, Tageschart<br />
Abb. 2.1<br />
sehen wir die Serie „panikema“ (hellgrün) als geglättete Kurve, <strong><strong>de</strong>s</strong> ungeglätteten Volatilitäts-<br />
Oszillators „panik“ (schwarz).<br />
Abb. 2.2<br />
Die bei<strong>de</strong>n blauen Linien geben <strong>de</strong>n unteren und oberen Rand <strong><strong>de</strong>s</strong> Bereichs mit mittlerer Volatilität<br />
(MediumVola) an. Zoomt man tie<strong>fe</strong>r in <strong>de</strong>n Chart,
Abb. 2.3<br />
sieht man noch eine hellrote SAR-Linie „VolaSteigungsSARPlot“.<br />
Abb. 2.4<br />
Bei Werten über ½ (genauer 0.51) steigt die Serie „panikema“ wenigstens dreimal hintereinan<strong>de</strong>r.<br />
Analog zeigen Werte unter ½ (genauer 0.49), dass die Serie „panikema“ wenigstens dreimal<br />
hintereinan<strong>de</strong>r fällt. Bereits hier sieht man, dass Phasen fallen<strong>de</strong>r Volatilität oft mit steigen<strong>de</strong>n<br />
Preisen einher gehen.<br />
Parameter <strong><strong>de</strong>s</strong> Indikators <strong>smp</strong>VolaOszillator<br />
input $periodOszi (5,500,10);<br />
input $periodAtr (5,500,100);<br />
input $periodEma (5,5000,1000);<br />
input $upthres (40,100,56);<br />
input $downthres (0,60,44);<br />
input $ThresOrVola (0,1,1);<br />
input $beta (1,20,7);<br />
Die drei Parameter $ periodOszi, $ periodAtr, und $periodEma geben Perio<strong>de</strong>nlängen für die<br />
Glättung <strong>de</strong>r Preis-Serie und <strong>de</strong>r daraus abgeleiteten Volatilitäts-Serien. Bei größeren Werten<br />
reagiert <strong>de</strong>r Oszillator mit mehr Verzögerung.<br />
Die bei<strong>de</strong>n Parameter $upthres und $downthres (in Prozent) geben <strong>de</strong>n oberen und unteren Rand<br />
<strong>de</strong>r Zone für mittlere Volatilität MediumVola an. Auch hier sind diese <strong>fe</strong>sten Werte für manche<br />
Anwendungen zu unflexibel. Um angepasster auf mehr o<strong>de</strong>r weniger stark schwanken<strong>de</strong> Märkte<br />
reagieren zu können, bietet auch <strong>smp</strong>VolaOszillator die Möglichkeit, die obere und untere
Begrenzung <strong>de</strong>r Zone MediumVola abhängig vom Markt zu gestalten. Dazu wird wie<strong>de</strong>r eine „interne<br />
Varianz“ (series InterneVarianz) ermittelt, in<strong>de</strong>m die quadratischen Abweichungen <strong>de</strong>r Serie<br />
„panikema“ von ½ gemittelt wer<strong>de</strong>n. Daraus lassen sich die Werte <strong>de</strong>r oberen und unteren<br />
Begrenzungskurve wie folgt ermitteln<br />
upcurve = ½ + SQRT(InterneVarianz) * $beta/10<br />
downcurve = ½ - SQRT(InterneVarianz) * $beta/10,<br />
wobei $beta ein weiterer Parameter ist. Stellt man noch <strong>de</strong>n Parameter $ThresOrVola =1, ergibt sich<br />
folgen<strong><strong>de</strong>s</strong> neues Bild mit schwankungsabhängigen blauen Ober- und Untergrenzen.<br />
Abb. 2.5<br />
Unter Verwendung <strong><strong>de</strong>s</strong> Express-Programms Tra<strong>de</strong>MarktPhasenStandard (siehe 3.) mit <strong>de</strong>m<br />
Parameter $FilterAuswahl=1 sieht man die Zone hoher Volatilität (roter Hintergrund), mittlerer<br />
Volatilität (gelber Hintergrund) und niedriger Volatilität (grüner Hintergrund).<br />
Abb. 2.6<br />
Vergleicht man die Phaseneinteilung über die Volatilität <strong>de</strong>r Preise mit <strong>de</strong>r unter 1. erhaltenen<br />
Phaseneinteilung über die Steigung <strong>de</strong>r Preiskurve (Abb. 1.6, hier nochmal wie<strong>de</strong>rgegeben),
sieht man eine erstaunliche Übereinstimmung. Scheinbar gehen Phasen hoher Volatilität oft mit<br />
fallen<strong>de</strong>n Preisen einher und umgekehrt korrespondieren Phasen niedriger Volatilität oft mit<br />
steigen<strong>de</strong>n Preisen.<br />
3. Tra<strong>de</strong>n von Standard-MarktPhasen<br />
Im Folgen<strong>de</strong>n wollen wir die Verwendung <strong><strong>de</strong>s</strong> Express-Programms Tra<strong>de</strong>MarktPhasenStandard<br />
erklären. Aufbauend auf <strong>de</strong>n Trendphasen von <strong>smp</strong>TrendOszillator und <strong>de</strong>n Volatilitätsphasen von<br />
<strong>smp</strong>VolaOszillator ergeben 3*3=9 verschie<strong>de</strong>ne Marktphasen A,B, …, I wie in <strong>de</strong>r Tabelle dargestellt:<br />
Trend Up Seitwärts Down<br />
Vola<br />
niedrig A B C<br />
mittel D E F<br />
Hoch G H I<br />
Die I<strong>de</strong>e für die Einteilung <strong><strong>de</strong>s</strong> Marktes in diese 9 verschie<strong>de</strong>nen Marktphasen stammt ursprünglich<br />
von van Tharp [1], <strong>de</strong>r allerdings einen diskretionären Ansatz verfolgte, um die Marktphasen zu<br />
ermitteln.<br />
Parameter <strong><strong>de</strong>s</strong> Express-Programms Tra<strong>de</strong>MarktPhasenStandard<br />
input $FilterAuswahl (-2,5,0);<br />
3.1 Trendhan<strong>de</strong>l ($FilterAuswahl = 0)<br />
Durch die Einstellung $FilterAuswahl = 0 erhalten wir <strong>de</strong>n Trendhan<strong>de</strong>l, d.h. Long-Positionen wer<strong>de</strong>n<br />
nur in Up-Trend Phasen eröffnet, und Short-Positionen nur in Down-Trend Phasen. Seitwärtsphasen<br />
wer<strong>de</strong>n ignoriert (vgl Abb. 1.6), man bleibt also investiert.<br />
Trend Up Seitwärts Down<br />
Vola<br />
niedrig Long Pass Short<br />
Mittel Long Pass Short<br />
Hoch Long Pass Short<br />
Bereits in <strong>de</strong>r Grun<strong>de</strong>instellung, ohne jegliche weitere Optimierung, sieht man die Profitabilität<br />
dieses Ansatzes beim FDax März 13, Tageschart (Future Trading mit 1 Kontrakt; alle<br />
Stimmungssignale auf „Close same Period“). Man verwen<strong>de</strong> <strong>de</strong>n Metasentimentor, <strong>de</strong>r nur die<br />
Sentimente von Tra<strong>de</strong>MarktPhasenStandard han<strong>de</strong>lt.
Abb. 3.1<br />
Gesamt Netto-Gewinn: 350875.00<br />
Gesamtzahl Tra<strong><strong>de</strong>s</strong>: 16<br />
Gewinn-Tra<strong><strong>de</strong>s</strong>: 10<br />
Verlust-Tra<strong><strong>de</strong>s</strong>: 6<br />
Anteil Gewinner: 62.50%<br />
Profit Factor: 8.55<br />
mittl. Gewinn/mittl. Verlust: 5.13<br />
mittl. Tra<strong>de</strong> (Gew. & Verl.): 21929.69<br />
Zeitanteil im Markt: 94.27%<br />
RegKoeff*100/StdDev Equity: 0.0000<br />
Summe Gewinne: 397350.00<br />
Summe Verluste: 46475.00<br />
größter Gewinn-Tra<strong>de</strong>: 90737.50<br />
-"- in Prozent: 25.86%<br />
mittl. Gewinn-Tra<strong>de</strong>: 39735<br />
mittl. Dauer Gewinn-Tra<strong><strong>de</strong>s</strong>: 426.20<br />
größter Verlust-Tra<strong>de</strong>: 19787.50<br />
mittl. Verlust-Tra<strong>de</strong>: 7745.83<br />
mittl. Dauer Verlust-Tra<strong><strong>de</strong>s</strong>: 70.50<br />
max. Gewinntra<strong>de</strong>-Serie: 4<br />
max. Verlusttra<strong>de</strong>-Serie: 2<br />
Std.Abw. aller Tra<strong><strong>de</strong>s</strong>: 32018.81<br />
Std.Abw. Gewinn-Tra<strong><strong>de</strong>s</strong>: 27286.28<br />
Std.Abw. Verlust-Tra<strong><strong>de</strong>s</strong>: 6679.60<br />
max. Positionsgröße: 1<br />
max. Einbruch: 19787.50<br />
angefallene Gebühren: 0.00<br />
Expectancy: 2.2389<br />
Expectancy Score: 0.0072<br />
Fröhlich-Faktor: 23.02
Performance/Drawdown: 17.73<br />
Expectation: 21929.69<br />
Bewertung vom: 02.08.93 Mon 00:00<br />
Bewertung bis: 12.03.13 Tue 00:00<br />
Die Sensitivitätsanalyse nach <strong>de</strong>m Parameter $alpha von <strong>smp</strong>TrendOszillator zeigt, dass die<br />
Ergebnisse durchaus stabil sind.<br />
Abb. 3.2<br />
3.2 Volahan<strong>de</strong>l ($FilterAuswahl = 1)<br />
Durch die Einstellung $FilterAuswahl = 1 erhalten wir <strong>de</strong>n Volatilitätshan<strong>de</strong>l. Hier wer<strong>de</strong>n Long-<br />
Positionen wer<strong>de</strong>n nur in Phasen eröffnet, die niedrige Volatilität aufweisen und Short-Positionen<br />
wer<strong>de</strong>n nur in Phasen mit hoher Volatilität eröffnet (vgl Abb. 2.6).<br />
Trend Up Seitwärts Down<br />
Vola<br />
niedrig Long Long Long<br />
mittel Pass Pass Pass<br />
Hoch Short Short Short<br />
Wählt man $beta =6, sieht man, dass auch dieser Ansatzes beim FDax März 13, Tageschart, profitabel<br />
sein kann.
Abb. 3.3<br />
Gesamt Netto-Gewinn: 222112.50<br />
Gesamtzahl Tra<strong><strong>de</strong>s</strong>: 9<br />
Gewinn-Tra<strong><strong>de</strong>s</strong>: 6<br />
Verlust-Tra<strong><strong>de</strong>s</strong>: 3<br />
Anteil Gewinner: 66.67%<br />
Profit Factor: 4.13<br />
mittl. Gewinn/mittl. Verlust: 2.07<br />
mittl. Tra<strong>de</strong> (Gew. & Verl.): 24679.17<br />
Zeitanteil im Markt: 94.97%<br />
RegKoeff*100/StdDev Equity: -0.0001<br />
Summe Gewinne: 292987.50<br />
Summe Verluste: 70875.00<br />
größter Gewinn-Tra<strong>de</strong>: 85825.00<br />
-"- in Prozent: 38.64%<br />
mittl. Gewinn-Tra<strong>de</strong>: 48831.3<br />
mittl. Dauer Gewinn-Tra<strong><strong>de</strong>s</strong>: 577.00<br />
größter Verlust-Tra<strong>de</strong>: 44375.00<br />
mittl. Verlust-Tra<strong>de</strong>: 23625<br />
mittl. Dauer Verlust-Tra<strong><strong>de</strong>s</strong>: 419.33<br />
max. Gewinntra<strong>de</strong>-Serie: 4<br />
max. Verlusttra<strong>de</strong>-Serie: 2<br />
Std.Abw. aller Tra<strong><strong>de</strong>s</strong>: 44600.56<br />
Std.Abw. Gewinn-Tra<strong><strong>de</strong>s</strong>: 29988.57<br />
Std.Abw. Verlust-Tra<strong><strong>de</strong>s</strong>: 21415.98<br />
max. Positionsgröße: 1<br />
max. Einbruch: 44375.00<br />
angefallene Gebühren: 0.00<br />
Expectancy: 0.7211<br />
Expectancy Score: 0.0013
Fröhlich-Faktor: 5.26<br />
Performance/Drawdown: 5.01<br />
Expectation: 24679.17<br />
Bewertung vom: 02.08.93 Mon 00:00<br />
Bewertung bis: 12.03.13ue 00:00<br />
Abb. 3.4<br />
Für die weiteren Analysen lassen wir <strong>de</strong>n Parameter $beta =6.<br />
3.3 Mehr-Phasenhan<strong>de</strong>l ($FilterAuswahl = 2,3 und 4)<br />
Durch die Einstellung $FilterAuswahl = 2 wer<strong>de</strong>n jeweils genau zwei Phasen Long und Short<br />
gehan<strong>de</strong>lt (Long A,D; Short F,I). Bei $FilterAuswahl = 3 sind es jeweils genau drei Phasen (Long<br />
A,D,B; Short F,I,H) und bei $FilterAuswahl = 4 entsprechend mit vier Phasen (Long A,D,B,G; Short<br />
F,I,H,C). Dies entspricht <strong>de</strong>n Trend/Vola Diagrammen<br />
2-Phasen Trend Up Seitwärts Down<br />
Vola<br />
Niedrig Long Pass Pass<br />
Mittel Long Pass Short<br />
Hoch Pass Pass Short
3-Phasen Trend Up Seitwärts Down<br />
Vola<br />
Niedrig Long Long Pass<br />
Mittel Long Pass Short<br />
Hoch Pass Short Short<br />
4-Phasen Trend Up Seitwärts Down<br />
Vola<br />
Niedrig Long Long Short<br />
Mittel Long Pass Short<br />
Hoch Long Short Short<br />
Die Equity-Kurven <strong>de</strong>r drei Mehrphasen-Mo<strong>de</strong>lle unterschei<strong>de</strong>n sich kaum, hier nur die <strong><strong>de</strong>s</strong> 4-<br />
Phasen-Mo<strong>de</strong>lls.<br />
Abb. 3.5<br />
2-Phasen 3-Phasen 4-Phasen<br />
Gesamt Netto-Gewinn 326.300 € 305.462 € 284.762 €<br />
Anzahl Tra<strong><strong>de</strong>s</strong> 16 17 29<br />
Profit-Faktor 6,43 5,73 4,12<br />
Anteil Gewinner 56,25% 52,94% 41,38%<br />
max. Einbruch 19.787 € 24.075 € 22.075 €<br />
Performance/Drawdown 16,49 12,69 12,9<br />
Bewertung von 02.08.93 bis 12.03.13<br />
3.4 Long-Einstiege bei sinken<strong>de</strong>r Volatilität ($FilterAuswahl = 5)<br />
Durch die Einstellung $FilterAuswahl = 5 setzt man darauf, dass Long-Positionen oft beson<strong>de</strong>rs<br />
lukrativ sind, wenn die Volatilität (min<strong><strong>de</strong>s</strong>tens dreimal hintereinan<strong>de</strong>r) fällt und gleichzeitig <strong>de</strong>r Trend<br />
nach oben zeigt (gemessen über die Serie „steigMAOszi“ >50%). Die Long-Position wird glatt gesellt,
wenn <strong>de</strong>r Trend fällt („steigMAOszi“
Expectancy: 2.5510<br />
Expectancy Score: 0.0108<br />
Fröhlich-Faktor: 22.01<br />
Performance/Drawdown: 17.46<br />
Expectation: 11629.17<br />
Bewertung vom: 02.08.93 Mon 00:00<br />
Bewertung bis: 12.03.13 Tue 00:00<br />
Auch dieses etwas gekünstelte System performt durchaus ansprechend. Man beachte, dass es trotz<br />
<strong><strong>de</strong>s</strong> Long-Only Ansatzes über 65% im Markt ist.<br />
3.4 Vola- und Trendphasen als Filter ($FilterAuswahl = -1 und -2)<br />
Durch die Einstellung $FilterAuswahl = -1 wer<strong>de</strong>n <strong>de</strong>n neun Phasen A,B, ... I die Sentimente 46, 47, ...<br />
54 zugewiesen. Damit kann die Analyse bei an<strong>de</strong>ren Analysen als Study/Indikator eingebun<strong>de</strong>n<br />
wer<strong>de</strong>n, wo die Sentimente weiterverarbeitet wer<strong>de</strong>n müssen.<br />
Trend Up Seitwärts Down<br />
Vola<br />
niedrig A=54 B=51 C=48<br />
Mittel D=53 E=50 F=47<br />
Hoch G=52 H=49 I=46<br />
Die $FilterAuswahl =-2 ist wie "-1", nur wird zusätzlich noch die Serie VolaSteigungsSAR<br />
berücksichtigt bzw. übergeben, in<strong>de</strong>m statt <strong>de</strong>n Werten oben jeweils +10 bei VolaSteigungsSAR=1<br />
und -10 bei VolaSteigungsSAR=-1 addiert wird.<br />
4. Tra<strong>de</strong>n ausgewählter MarktPhasen<br />
Während Tra<strong>de</strong>MarktPhasenStandard es nur zulässt, Standard-Han<strong>de</strong>lansätze umzusetzen, kann man<br />
mit <strong>de</strong>m Express-Programms Tra<strong>de</strong>MarktPhasenSelective gezielt einzelne o<strong>de</strong>r mehrere<br />
Marktphasen für Long o<strong>de</strong>r Short Signale auswählen.<br />
Parameter <strong><strong>de</strong>s</strong> Express-Programms Tra<strong>de</strong>MarktPhasenSelective<br />
input $HighlightSlot (0,1,1); // für graphische Ausgabe<br />
input $NotSelectedPhasenFlag (0,2,0); // falls Phase we<strong>de</strong>r Kauf noch Verkauf<br />
input $BuyOnIncOrDecVola (-1,1,0); // =1 (-1) Käu<strong>fe</strong> nur bei steigen<strong>de</strong>r (fallen<strong>de</strong>r) Vola<br />
input $SellOnIncOrDecVola (-1,1,0); // =1 (-1) Verkäu<strong>fe</strong> nur bei steigen<strong>de</strong>r (fallen<strong>de</strong>r) Vola<br />
input $HighVolaUpT (-1,1,0);<br />
input $MediumVolaUpT (-1,1,0);<br />
input $LowVolaUpT (-1,1,0);<br />
input $HighVolaNoT (-1,1,0);<br />
input $MediumVolaNoT (-1,1,0);<br />
// Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei High Vola und UpTrend<br />
// Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Medium Vola und UpTrend<br />
// Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Low Vola und UpTrend<br />
// Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei High Vola und kein Trend<br />
// Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Medium Vola und kein Trend
input $LowVolaNoT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Low Vola und kein Trend<br />
input $HighVolaDownT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei High Vola und DownTrend<br />
input $MediumVolaDownT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Medium Vola und DownTrend<br />
input $LowVolaDownT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Low Vola und DownTrend<br />
Mit <strong>de</strong>n letzten neun Parameter können die einzelnen Marktphasen für Long (sentiment=100), Short<br />
(sentiment=0), o<strong>de</strong>r neutrale Position selektiert wer<strong>de</strong>n. Die Sentimente für alle neutralen<br />
Marktphasen (Parameter <strong>de</strong>r Phase = 0) wer<strong>de</strong>n zusätzlich durch $NotSelectedPhasenFlag bestimmt.<br />
$NotSelectedPhasenFlag = 0; sentiment =50<br />
$NotSelectedPhasenFlag = 1; sentiment = sentiment[1] (Sentiment <strong>de</strong>r Vorperio<strong>de</strong>)<br />
$NotSelectedPhasenFlag = 2; flat, d.h. Positionen wer<strong>de</strong>n mit sentiment = 30 o<strong>de</strong>r 70 geschlossen<br />
Ist $HighlightSlot =1, wer<strong>de</strong>n die Long-Phasen mit grün unterlegt, und die Short-Phasen mit rot. Die<br />
Parameter $BuyOnIncOrDecVola und $SellOnIncOrDecVola schränken die Phasen wo<br />
gekauft/verkauft wer<strong>de</strong>n kann zusätzlich ein, in<strong>de</strong>m beachtet wer<strong>de</strong>n muss, ob die Volatilität gera<strong>de</strong><br />
steigt (VolaSteigungsSAR=1) o<strong>de</strong>r fällt (VolaSteigungsSAR=-1).<br />
Die erste Anwendung von Tra<strong>de</strong>MarktPhasenSelective ist <strong>de</strong>mentsprechend, dass man sich ganz<br />
gezielt die Marktphasen so wählt, wie man sie han<strong>de</strong>ln will. Nach ein wenig herum suchen (alle<br />
an<strong>de</strong>rn Parameter bleiben auf <strong>de</strong>m Default Wert)<br />
$NotSelectedPhasenFlag = 1<br />
$BuyOnIncOrDecVola = -1<br />
$MediumVolaUpT = 1<br />
$LowVolaUpT = 1<br />
$HighVolaNoT = 1<br />
$MediumVolaDownT = -1<br />
$LowVolaDownT = -1<br />
und optimieren von $alpha=6 und $beta=10 erhält man nochmal eine <strong>de</strong>utliche Verbesserung <strong>de</strong>r<br />
Ergebnisse von vorhin (im Metasentimentor han<strong>de</strong>lt jetzt nur Tra<strong>de</strong>MarktPhasenSelective)<br />
Abb. 4.1<br />
Gesamt Netto-Gewinn: 512162.50<br />
Gesamtzahl Tra<strong><strong>de</strong>s</strong>: 15<br />
Gewinn-Tra<strong><strong>de</strong>s</strong>: 9
Verlust-Tra<strong><strong>de</strong>s</strong>: 6<br />
Anteil Gewinner: 60.00%<br />
Profit Factor: 28.70<br />
mittl. Gewinn/mittl. Verlust: 19.14<br />
mittl. Tra<strong>de</strong> (Gew. & Verl.): 34144.17<br />
Zeitanteil im Markt: 94.97%<br />
RegKoeff*100/StdDev Equity: 0.0009<br />
Summe Gewinne: 530650.00<br />
Summe Verluste: 18487.50<br />
größter Gewinn-Tra<strong>de</strong>: 121362.50<br />
-"- in Prozent: 23.70%<br />
mittl. Gewinn-Tra<strong>de</strong>: 58961.1<br />
mittl. Dauer Gewinn-Tra<strong><strong>de</strong>s</strong>: 487.00<br />
größter Verlust-Tra<strong>de</strong>: 9525.00<br />
mittl. Verlust-Tra<strong>de</strong>: 3081.25<br />
mittl. Dauer Verlust-Tra<strong><strong>de</strong>s</strong>: 56.17<br />
max. Gewinntra<strong>de</strong>-Serie: 5<br />
max. Verlusttra<strong>de</strong>-Serie: 4<br />
Std.Abw. aller Tra<strong><strong>de</strong>s</strong>: 44024.55<br />
Std.Abw. Gewinn-Tra<strong><strong>de</strong>s</strong>: 40640.11<br />
Std.Abw. Verlust-Tra<strong><strong>de</strong>s</strong>: 3577.42<br />
max. Positionsgröße: 1<br />
max. Einbruch: 9525.00<br />
angefallene Gebühren: 0.00<br />
Expectancy: 9.0594<br />
Expectancy Score: 0.0273<br />
Fröhlich-Faktor: 85.65<br />
Performance/Drawdown: 53.77<br />
Expectation: 34144.17<br />
Bewertung vom: 02.08.93 Mon 00:00<br />
Bewertung bis: 12.03.13 Tue 00:00<br />
Allerdings sieht man an <strong>de</strong>r Sensitivitätsanalyse, dass die Ergebnisse in $alpha und $beta bereits<br />
leicht überoptimiert sind.
Abb. 4.2: $alpha Sensitivität<br />
Abb. 4.3: $beta Sensitivität<br />
Als weitere Anwendung lassen sich die Rendite-Verteilungen <strong>de</strong>r einzelnen Marktphasen studieren.<br />
Das Express-Programm <strong>smp</strong>RenditeVerteilung, welches wir im nächsten Paragraphen noch<br />
besprechen, braucht dazu die Serie<br />
series filter (Tra<strong>de</strong>MarktPhasenSelectedExpress.mysenti),<br />
welche die Sentimente von Tra<strong>de</strong>MarktPhasenSelected veröf<strong>fe</strong>ntlicht. Wollen wir z.B. nur<br />
Marktphasen mit mittlerer Volatilität im Uptrend han<strong>de</strong>ln, stellen wir neben <strong>de</strong>n Default Werten<br />
(auch bei <strong>smp</strong>TrendOszillator und <strong>smp</strong>VolaOszillator)<br />
$NotSelectedPhasenFlag = 2<br />
$MediumVolaUpT = 1, erhält man folgen<strong>de</strong> Equity-Kurve<br />
Abb. 4.4<br />
die nur in <strong>de</strong>r ausgewählten Marktphase Long ist und sonst flat.
5. Die Rendite-Verteilung und Tick-Renditen<br />
La<strong>de</strong>n wir jetzt noch die Express-Programme <strong>smp</strong>RenditeVerteilung und PlotUseDay<br />
Abb. 4.5<br />
sehen wir zum einen die Tage, welche ausgewählt wur<strong>de</strong>n farblich unterlegt und die<br />
Durchschnittsrenditen aller Tage (schwarz, 0.11), sowie aller Tage mit positiver Rendite (grün, 1.04)<br />
und alle Tage mit negativer Rendite (rot,-1.03).<br />
Abb. 4.6<br />
Parameter <strong><strong>de</strong>s</strong> Express-Programms <strong>smp</strong>RenditeVerteilunginput $HighLightText (0,1,0);<br />
input $<strong>de</strong>lta (0.001, 10.0, 0.1, 0.001, 3);<br />
input $EopOrIntraday (0,1,0);<br />
input $RenditeOrHighLowMove (-1,1,0);<br />
input $UseBuyOrSellSentisOnly (-1,1,0);<br />
Der Parameter $<strong>de</strong>lta steuert dabei die Breite <strong>de</strong>r einzelnen Bars <strong><strong>de</strong>s</strong> VerteilungsHistogramms von<br />
PlotRenditeVerteilung<br />
Abb. 4.7
$<strong>de</strong>lta = 0.1 be<strong>de</strong>utet z.B. dass alle <strong>de</strong>r Bars ein Breite von 0.1% Rendite haben. Hellgrüner<br />
Hintergrund sind die positiven Renditen, grauer Hintergrund sind die negativen Renditen. Die<br />
mittlere Linie in hellem magenta steht bei Null und hat zur besseren Orientierung 2 bars Breite, die<br />
bei<strong>de</strong>n äußeren hellmagenta Linien stehen bei +-10%. Der erste grüne Bar rechts neben <strong>de</strong>r Null mit<br />
<strong>de</strong>r Höhe 18 zeigt also z.B. an, dass es 18 Tage gab mit einer Rendite zwischen 0% und 0.1%. Daneben<br />
gibt es 27 Tage mit einer Rendite zwischen 0.1% und 0.2%, usw.<br />
Zusätzlich sieht man noch weitere magenta Linien bei +-1% (genauer zwischen 0.9% und 1.0%) und +-<br />
2% (genauer zwischen 1.9% und 2.0%) zur Orientierung.<br />
Abb. 4.8<br />
Die bei<strong>de</strong>n blauen Linien markieren die Durchschnittsrenditen aller Tage mit positiver Rendite (1.04)<br />
und aller Tage mit negativer Rendite (-1,03). Die bei<strong>de</strong>n schwarzen Linien geben <strong>de</strong>n Median aller<br />
Tage mit positiver Rendite (0.88) und aller Tage mit negativer Rendite (-0.81) an.<br />
Abb. 4.9<br />
Die genauen Mediane sieht man auch in <strong>de</strong>r obigen MessageBox, wenn man $HighLightText=1<br />
auswählt. Dort steht auch, wie viele Tage mit positiven Renditen (anzRenditeUp) und wie viele mit<br />
negativen Renditen (anzRenditeDown) bewertet wur<strong>de</strong>n. Aus diesen bei<strong>de</strong>n Zahlen lässt sich auch<br />
<strong>de</strong>r Anteil <strong>de</strong>r Gewinner ermitteln (AnteilWinner).<br />
Der Parameter $EopOrIntraday unterschei<strong>de</strong>t zwischen End of Period Renditen und Intraday<br />
Renditen, d.h. einmal ist <strong>de</strong>r Startpunkt das Close von gestern C[1], und einmal ist <strong>de</strong>r Startpunkt das<br />
Open von heute O.<br />
Rendite = (C-C[1])/C[1] = (C/C[1]) -1 bei EoP // $EopOrIntraday =0<br />
Rendite = (C-O)/O = C/O -1 bei Intraday // $EopOrIntraday =1<br />
Wechselt man im obigen Beispiel auf Intraday, verän<strong>de</strong>rn sich i.d.R. auch die Durchschnittsrenditen.
Abb. 4.10<br />
Ist <strong>de</strong>r Parameter $RenditeOrHighLowMove nicht auf 0 gestellt, wird statt einer Verteilung <strong>de</strong>r<br />
Renditen, eine Verteilung <strong>de</strong>r größten/kleinsten Intraday-Rendite (HighMove und LowMove) erzeugt.<br />
Genauer ist bei $RenditeOrHighLowMove =0 die Rendite wie oben und sonst<br />
$RenditeOrHighLowMove =1; nur Tage mit Renditen>=0; rechts HighMove, links LowMove<br />
$RenditeOrHighLowMove =-1; nur Tage mit Renditen
Abb. 4.12<br />
Man erkennt, dass die maximal möglichen Intraday HighMoves <strong>de</strong>r Gewinner Tage (vgl. Abb. 4.11<br />
und Abb. 4.12 rechts), natürlich in <strong>de</strong>r Regel größer sind, als die Renditen zum En<strong>de</strong> <strong><strong>de</strong>s</strong> Tages (siehe<br />
Abb. 4.8 rechts). Die LowMoves <strong>de</strong>r Gewinner Tage (vgl. Abb. 4.11 und Abb. 4.12 links), fallen<br />
absolut gesehen dagegen eher gering aus. Während <strong>de</strong>r LowMove für Intraday immer negativ ist,<br />
könnte <strong>de</strong>r LowMove für <strong>de</strong>n EoP Mo<strong>de</strong> auch positiv sein (bei Gaps), was aber in Abb. 4.12 links<br />
nicht dargestellt wer<strong>de</strong>n kann (diese Tage lan<strong>de</strong>n alle in <strong>de</strong>m langen ersten negativen Bar (zwischen<br />
-0.1% und 0%). Die Erwartungswerte und Mediane <strong>de</strong>r HighLowMoves sind wie<strong>de</strong>r in blau und<br />
schwarz markiert. Details erfährt man in <strong>de</strong>r zugehörigen MessageBox.<br />
Abb. 4.13<br />
Diese Werte sollten im Intradayhan<strong>de</strong>l von großem Wert für die Stopp- und Targetsetzung sein.<br />
Wählt man $RenditeOrHighLowMove = -1, erhält man die HighLowMoves für die Looser Tage:<br />
Abb. 4.14
Abb. 4.15<br />
Auch in Abb. 4.14 sieht man wie<strong>de</strong>r <strong>de</strong>n großen Bar rechts von <strong>de</strong>r Null (HighMove zwischen 0% und<br />
0.1%), <strong>de</strong>r (aus Darstellungsgrün<strong>de</strong>n) auch die Gap Tage mit negativem HighMove beinhaltet. Man<br />
beachte auch die Symmetrie zu Abb. 4.12. In Abb. 4.14 – was nur Looser Tage darstellt – sind<br />
natürlich die LowMoves stärker ausgeprägt.<br />
Der letzte Parameter $UseBuyOrSellSentisOnly kommt zum Einsatz, wenn in<br />
Tra<strong>de</strong>MarktPhasenSelected mehrere Phasen ausgewählt wur<strong>de</strong>n, die sowohl Long als auch Short<br />
Positionen verwen<strong>de</strong>n. Um Long- (sentiment=100) und Short-Tage (sentiment=0) unterschei<strong>de</strong>n zu<br />
können, stellt man $UseBuyOrSellSentisOnly auf 1 o<strong>de</strong>r -1.<br />
$UseBuyOrSellSentisOnly = 0; use all buy/sell signals<br />
$UseBuyOrSellSentisOnly = 1; useday only when filter =100;<br />
$UseBuyOrSellSentisOnly = -1; useday only when filter =0;<br />
Man beachte, dass die mit 0 ausgewählten Phasen in Tra<strong>de</strong>MarktPhasenSelected bei <strong>de</strong>r<br />
Parameterwahl $NotSelectedPhasenFlag = 1 sowohl Long als auch Short Positionen einnehmen<br />
können, je nach <strong>de</strong>m ob zuletzt ein Long o<strong>de</strong>r Short Signal gekommen war. Bei<br />
$UseBuyOrSellSentisOnly = 0 wer<strong>de</strong>n aber alle Long und Short Tage verwen<strong>de</strong>t.<br />
if ($UseBuyOrSellSentisOnly=0) then<br />
begin // use all sell/buy signals<br />
useday=false;<br />
if ((filter[1]=100) or (filter[1]=0)) then<br />
useday=true;<br />
end<br />
Das obige Express-Skript zeigt, dass immer nur <strong>de</strong>r Filter <strong><strong>de</strong>s</strong> Vortags verwen<strong>de</strong>t wird um die Tage<br />
auszuwählen, für welche die Renditen etc. berechnet wer<strong>de</strong>n. Das ist wesentlich, wie man sich leicht<br />
überlegt!<br />
Abschließend wollen wir noch kurz auf die Darstellung <strong>de</strong>r Tick-Renditen eingehen, welche man mit<br />
<strong>de</strong>n Express-Programmen <strong>smp</strong>TickRenditeVerteilung, PlotTickRenditeVerteilung und<br />
PlotUseDayTicks erhält. Schon an <strong>de</strong>n Parametern sieht man, dass nur leichte Än<strong>de</strong>rungen im<br />
Verhältnis zu <strong>smp</strong>RenditeVerteilung erfolgen.
Parameter <strong><strong>de</strong>s</strong> Express-Programms <strong>smp</strong>TickRenditeVerteilung<br />
input $HighLightText (0,1,0);<br />
input $<strong>de</strong>lta (1, 1000, 10);<br />
input $EopOrIntraday (0,1,0);<br />
input $RenditeOrHighLowMove (-1,1,0);<br />
input $UseBuyOrSellSentisOnly (-1,1,0);<br />
Die Größe <strong>de</strong>r Bars wird jetzt in Ticks gemessen, weshalb $<strong>de</strong>lta ganzzahlig sein muss. Im Folgen<strong>de</strong>n<br />
verwen<strong>de</strong>n wir $<strong>de</strong>lta =10 für <strong>de</strong>n Dax Future von oben. Statt prozentuale Rendite wollen wir hier<br />
absolute Tick-Renditen darstellen, also für $RenditeOrHighLowMove = 0:<br />
Rendite = C-C[1] (in Ticks) bei EoP // $EopOrIntraday =0<br />
Rendite = C-O (in Ticks) bei Intraday // $EopOrIntraday =1<br />
und für $RenditeOrHighLowMove=+-1<br />
HighMove = H-C[1] (in Ticks) bei EoP<br />
= H-O (in Ticks) bei Intraday<br />
LowMove = L-C[1] (in Ticks) bei EoP<br />
= L-O (in Ticks) bei Intraday<br />
Für die bereits oben verwen<strong>de</strong>te Marktphase MediumVolaUpT erhält man z.B. mit<br />
$RenditeOrHighLowMove = 0:<br />
Abb. 4.16<br />
Abb. 4.17
Einziger Unterschied zu <strong>de</strong>n Abbildungen 4.8 und 4.9 ist, dass es sich hier um absolute Angaben in<br />
Ticks han<strong>de</strong>lt. Zum Beispiel sagt <strong>de</strong>r Bar <strong>de</strong>r Höhe 16 rechts von <strong>de</strong>r Null, dass es 16 Tage mit einer<br />
Rendite zwischen 0 und 9 Ticks gab. Der Bar rechts daneben <strong>de</strong>r Höhe 23 steht für 23 Tage mit einer<br />
Rendite zwischen 10 und 19 Ticks, usw. Bei <strong>de</strong>n positiven Renditen kann man ganz rechts auch einen<br />
Bar <strong>de</strong>r Höhe 1 sehen, <strong>de</strong>r über 600 Ticks, also über 300 Punkte Tageszuwachs (EoP) hatte. Die<br />
Darstellung <strong>de</strong>r HighLowMoves bei $RenditeOrHighLowMove=+-1 ist analog zu vorher und wird<br />
daher nicht weiter vertieft.<br />
6. Filter und Sentimente für kleinere Zeiteinheiten<br />
Natürlich können die Sentimente <strong>de</strong>r Express-Programme Tra<strong>de</strong>MarktPhasenStandard und<br />
Tra<strong>de</strong>MarktPhasenSelective als Filter o<strong>de</strong>r Sentimente zur Weiterverarbeitung mittels einer Study in<br />
niedrigeren Zeiteinheiten eingebettet wer<strong>de</strong>n. So<strong>fe</strong>rn es genügt, wenn Long (sentiment=100), Short<br />
(sentiment =0) o<strong>de</strong>r flat/pass (sentiment =50) Signale aus <strong>de</strong>r höheren Zeiteinheit übertragen<br />
wer<strong>de</strong>n, ist dies völlig ausreichend. Unter Umstän<strong>de</strong>n möchte man aber in <strong>de</strong>r kleineren Zeiteinheit<br />
die genaue Marktphase <strong>de</strong>r größeren Zeiteinheit wissen, um diese dann weiterzuverarbeiten. Ein<br />
Beispiel, wie so etwas funktioniert, fin<strong>de</strong>t man im Express-Programm<br />
SelectMarktPhasenLowTimeFrame. Es hat dieselben Parameter wie Tra<strong>de</strong>MarktPhasenSelective:<br />
Parameter <strong><strong>de</strong>s</strong> Express-Programms SelectMarktPhasenLowTimeFrame<br />
input $HighlightSlot (0,1,1); // für graphische Ausgabe<br />
input $NotSelectedPhasenFlag (0,2,0); // falls Phase we<strong>de</strong>r Kauf noch Verkauf<br />
input $BuyOnIncOrDecVola (-1,1,0); // =1 (-1) Käu<strong>fe</strong> nur bei steigen<strong>de</strong>r (fallen<strong>de</strong>r) Vola<br />
input $SellOnIncOrDecVola (-1,1,0); // =1 (-1) Verkäu<strong>fe</strong> nur bei steigen<strong>de</strong>r (fallen<strong>de</strong>r) Vola<br />
input $HighVolaUpT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei High Vola und UpTrend<br />
input $MediumVolaUpT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Medium Vola und UpTrend<br />
input $LowVolaUpT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Low Vola und UpTrend<br />
input $HighVolaNoT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei High Vola und kein Trend<br />
input $MediumVolaNoT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Medium Vola und kein Trend<br />
input $LowVolaNoT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Low Vola und kein Trend<br />
input $HighVolaDownT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei High Vola und DownTrend<br />
input $MediumVolaDownT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Medium Vola und DownTrend<br />
input $LowVolaDownT (-1,1,0); // Käu<strong>fe</strong>/Verkäu<strong>fe</strong> bei Low Vola und DownTrend<br />
Wesentlicher Unterschied ist allerdings, dass SelectMarktPhasenLowTimeFrame in einer kleineren<br />
Zeiteinheit eingesetzt wird. Dazu müssen die Sentimente von Tra<strong>de</strong>MarktPhasenStandard mit<br />
$FilterAuswahl = -1 o<strong>de</strong>r -2 als Study – Sentimentor gela<strong>de</strong>n wer<strong>de</strong>n, damit ein Zugriff darauf über<br />
series Marktphase (study.main);<br />
möglich wird. SelectMarktPhasenLowTimeFrame wan<strong>de</strong>lt diese um, so dass genau bekannt ist,<br />
welche Marktphase in <strong>de</strong>r größeren Zeiteinheit herrscht (series myMarktphase) und ob die Volatilität<br />
gera<strong>de</strong> steigt o<strong>de</strong>r fällt (series VolaSteigungsSAR). Über die obigen Parameter kann dann ganz analog<br />
wie bei Tra<strong>de</strong>MarktPhasenSelective ein Han<strong>de</strong>lssystem zusammen gestellt wer<strong>de</strong>n.<br />
Eine weitere Möglichkeit, die Marktphasen auf <strong>de</strong>r kleineren Zeiteinheit anzuwen<strong>de</strong>n, ist es die<br />
Marktphasen als Blocker (Filter) zu benutzen. Ein Beispiel hierfür ist das Express-Programm<br />
MarktPhasenFilter
Express Blocker MarktPhasenFilter<br />
Vars<br />
series senti (SelectMarktPhasenLowTimeFrameExpress.mysenti);<br />
input $PassOrBlockOrFlat (0,2,0);<br />
// falls senti auf Kauf (=100): alle Kaufsignale wer<strong>de</strong>n durchgelassen<br />
// falls senti auf Verkauf (=0): alle Verkaufsignale wer<strong>de</strong>n durchgelassen<br />
// ist we<strong>de</strong>r noch <strong>de</strong>r Fall entschei<strong>de</strong>t<br />
// $PassOrBlockOrFlat=0: alle Sentimente wer<strong>de</strong>n unverän<strong>de</strong>rt durchgelassen (senti_pass)<br />
// $PassOrBlockOrFlat=1: alle Sentimente wer<strong>de</strong>n blockiert (senti_block)<br />
// $PassOrBlockOrFlat=2: alle Positionen wer<strong>de</strong>n geschlossen (senti_flat)<br />
Wie man sieht, wer<strong>de</strong>n die ausgewählten Marktphasen von SelectMarktPhasenLowTimeFrame<br />
übertragen. MarktPhasenFilter wird wie SelectMarktPhasenLowTimeFrame in <strong>de</strong>r kleinen Zeiteinheit<br />
gela<strong>de</strong>n und hat die Aufgabe Signale eines an<strong>de</strong>ren Han<strong>de</strong>lssystems (wie z.B. Trendhan<strong>de</strong>l o<strong>de</strong>r<br />
Bewegungshan<strong>de</strong>l) zu filtern. Dazu wer<strong>de</strong>n Longsignale nur durchgelassen, wenn<br />
SelectMarktPhasenLowTimeFrame auf Kauf steht, und Shortsignale wer<strong>de</strong>n nur durchgelassen,<br />
wenn SelectMarktPhasenLowTimeFrame auf Verkauf steht. Ist das Sentiment von<br />
SelectMarktPhasenLowTimeFrame neutral (=50), wer<strong>de</strong>n die Signale je nach<strong>de</strong>m wie die<br />
Parametereinstellung von $PassOrBlockOrFlat ist, unverän<strong>de</strong>rt durchgelassen (senti_pass), blockiert<br />
(senti_block), o<strong>de</strong>r alle Positionen wer<strong>de</strong>n geschlossen (senti_flat).<br />
[1] van Tharp: „Definitive Gui<strong>de</strong> to Position Sizing“, Chapter 4<br />
Erstellungsdatum : 24.03.2013