Formeln für Handelssysteme
Modul "Erweiterte Technische Analyse"
Handelssysteme sind Repräsentationen von technischen Handelsvorschriften, die aktuell ausgewertet (neue Handelssignale) oder historisch betrachtet werden können.
Im Infront Portfolio Manager haben Handelssysteme folgende Komponenten:
- Linie(n): eine Linie (oder mehrere Linien als Multiline-Zeitreihe), die optional zusammen mit Hilfslinien für das Handelssystem im Chart angezeigt werden. Zum Beispiel bietet es sich an, die RSI-Linie im Chart anzuzeigen, wenn das Handelssystems auf einem RSI-Indikator beruht.
Spezifikation von vier Signalfolgen
- Long-Signale: Kaufsignale
- Short-Signale: (Leer-)Verkaufssignale, d. h. aufgrund von Short-Signalen werden etwaige Long-Positionen geschlossen und gleichzeitig eine Short-Position eröffnet (das Wertpapier wird leer verkauft).
- Close-Long-Signale: Signal zur Beendigung einer Long-Phase, aber ohne gleichzeitig die Gegenposition zu eröffnen.
- Close-Short-Signale: Signal zur Beendigung einer Short-Phase, aber ohne gleichzeitig eine Long-Position zu eröffnen.
Für die Signalinterpretation und Performanceauswertung
- Spesensatz: Spesenabzug (Prozentsatz) pro Handelsvorgang für Performancebewertung.
- Leerverkäufe einbeziehen/ausschließen: Schalter zum Ignorieren von Short-Signalen.
- Limit: Durch diesen Parameter wird eine zusätzliche Limitstrategie über die Indikatorsignale gelegt, d. h. die Handelsphasen werden vorzeitig abgebrochen, wenn eine Verlustgrenze erreicht ist. Falls dieses Limit in Form von einem Prozentsatz angegeben wird, versteht es sich als Trailing-Loss, d. h. das Loss wird auf das Kursoptimum seit dem Einstieg bezogen. Statt eines Prozentsatzes kann mit diesem Parameter auch eine frei definierbare Vorschrift für den Abbruch von Handelsphasen in Form von einer MM-Talk-Funktion angegeben werden.
- Zinssatz: Mit diesem Parameter wird eine Verzinsung des Kapitals zu den Zeiten, in denen das Handelssystem nicht investiert ist simuliert.
- Kurse: Falls für die Einstiegs- und Ausstiegskurse von Handelssystemen andere als Close-Kurse verwendet werden sollen, kann mit diesem Parameter eine Zeitreihe für die Preisfeststellungen übergeben werden. Varianten wären, die Open-Kurse oder Mittelwerte wie den Typischen Preis herauszuziehen.
- Delay (Signalverzögerung): Legt fest, wann ein simulierter Handel aufgrund eines Signals erfolgen soll, d. h. nach wie vielen Perioden (bezogen auf die Handelskurszeitreihe) auf ein Signal reagiert wird. Standardwert ist hier 1, d. h. der Handel findet per Default zum Close des Folgetags statt.
- Slippage: Slippage nennt man die Differenz zwischen den Kursen, die ein Handelssignal auslösen und den ungünstigeren Kursen, die man anschließend beim Handel wirklich erzielt. Dieser Effekt ist mithilfe eines Prozentsatzes simulierbar, mit dem die Handelskurse zu Ungunsten des Händlers angepasst werden.
In MM-Talk-Formeln werden Handelssysteme durch den Operator HandelsSystem
spezifiziert. Als Parameter sind die Anzeigelinie, die Signalspezifikation und Parameter für die Signalinterpretation und die Performancebewertung anzugeben.
HandelsSystem[
$Linien; {Anzeigelinien, ggf. mit Hilfslinien}
$Long;
$Short;
$CloseLong;
$CloseShort; {bis zu vier Signalzeitreihen}
$SignalModus; {Modus der Signalgenerierung: 1,2 oder 4}
$Leerverkäufe_einbeziehen; {Shortphasen ignorieren: Wahr/Falsch}
$Spesen; {Handelsspesensatz}
$Limit {zusätzliche Limitstrategie}
$Zins {Outzinsen}
$Kurse {Zeitreihe der Handelskurse}
$Delay {Signalverzögerung}
$Slippage {Handelskurs-Minderung}
]
Es gibt vier verschiedene Modi der Signalspezifikation: durch eine, zwei oder vier Signalzeitreihen oder eine Zustandszeitreihe. Für Signalzeitreihen werden grundsätzlich Zeitreihen herangezogen, die Wahrheitswerte ("Wahr"/"Falsch") liefern.
Nur eine Signalzeitreihe (Modus 1)
In diesem Modus werden ausschließlich Long- und Short-Signale generiert. Die Signalzeitreihe dient nicht dazu, direkt die Signalstellen anzuzeigen, sondern soll zu allen Zeitpunkten, an denen man eine Long-Position innehaben will, den Wert "Wahr" liefern. Long-Signale werden also an den Stellen generiert, an denen die Zeitreihe von "Falsch" auf "Wahr" wechselt, Short-Signale dann, wenn sie von "Wahr" auf "Falsch" springt.
Beispiel (Modus 1)
HandelsSystem[
Close.Mom ; {Momentum des Close anzeigen}
Close.Mom>100 ; {Signalzeitreihe}
_;_;_; {übrige Zeitreihenfelder leer lassen}
1 {Interpretation der Signallinie(n): eine Linie als Zustandssignalreihe}
]
Das Handelssystem liefert ein Long-Signal, wenn das Momentum (Parameter der Kürze halber weggelassen) die 100-Linie von unten nach oben kreuzt und ein Short-Signal, wenn das Momentum wieder auf oder unter 100 fällt.
Zwei Signalzeitreihen (Modus 2)
Hier werden die Signalzeitreihen ähnlich wie bei einer Signalzeitreihe interpretiert, jedoch für Long- und Short-Phasen jeweils durch zwei Zeitreihen getrennt. Die erste Signalzeitreihe definiert das Wechselspiel zwischen Long- und Close-Long-Signalen und die zweite zwischen Short- und Close-Short-Signalen.
Beispiel (Modus 2)
$Linie:= Close.RSI;
Handelssystem[
$Linie.HL[30;70]; {Anzeige: RSI-Linie mit Hilfslinien bei 30 und 70}
$Linie>30; {Long: Vergleich mit 30er Linie}
$Linie<70; {Short: Vergleich mit 70er Linie}
_;_; {übrige zwei Zeitreihen leer lassen}
2 {Zwei-Linien-Modus}
]
Das Handelssystem liefert Long-Signale, wenn der RSI auf Close die 30er-Linie von unten nach oben durchbricht und Close-Long-Signale, wenn sie wieder unter die 30er-Linie fällt. Entsprechendes gilt für Short-Signale und die 70er-Linie.
Vier Signalzeitreihen (Modus 4)
In diesem Modus sollen die Signalzeitreihen genau zu den Zeitpunkten den Wert "Wahr" liefern, an denen ein Signal gefeuert werden soll. Für jeden der vier Signaltypen gibt es eine Signalzeitreihe.
Beispiel (Modus 4)
$Linie:= Close.RSI;
Handelssystem[
$Linie.HL[30;70]; {Anzeige: RSI-Linie mit Hilfslinien bei 30 und 70}
$Linie.Breaks[30]; {Long: Vergleich mit 30er Linie}
$Linie.Breaks[30;true];
$Linie.Breaks[70;true]; {Short: Vergleich mit 70er Linie}
$Linie.Breaks[70];
4 {Vier -Linien-Modus}
]
Das Handelssystem liefert dieselben Signale wie das System mit zwei Signalzeitreihen, jedoch sind hier die Bedingungen für alle vier Signaltypen expliziert.
Eine Zustandszeitreihe (Modus 0)
Eine Zustandszeitreihe enthält keine Wahrheitswerte, sondern es wird direkt der Handelssystemzustand (Long, Short oder Out) in Form von 0= Out, <0 = Short, >0 = Long) angegeben.
Beispiel (Modus 0)
$Linie:= Close;
$Zustand:=Close.OptimalTradeSystemState[$StartDatum;
$Spesen; $Slippage; $Zins]
Handelssystem[
$Linie;
$Zustand; {Zustand übergeben}
_;_;_; {übrige Zeitreihen leer lassen}
0 {Zustands-Modus}
true;$Spesen;$Zins;Close;0;$Slippage]
Siehe auch: