Anwendungsbeispiele zu Zeitreihen
In diesem Abschnitt finden Sie einige typische Beispiele für die Arbeit mit Kurszeitreihen. Weitere Beispiele zur praktischen Anwendung der Formelsprache MM‑Talk finden Sie im Benutzerhandbuch.
Abfrage verschiedener Wertverläufe
Alle Zeitreihen können mehrere Wertverläufe liefern. Das gilt auch für Zeitreihen, die durch arithmetische Funktionen gebildet wurden. Sofern kein anderer Kurs explizit angefordert wird, wird dazu der standardmäßig gelieferte Kursverlauf verwendet.
Die Formel "Close.GD" generiert z. B. den Gleitenden Durchschnitt des Close-Verlaufs, da die Funktion "Close" standardmäßig die Close-Konsolidierung liefert.
Eine Zeitreihe kann aber auch jeden anderen, nicht als Standard festgelegten Kursverlauf liefern. Ein typisches Anwendungsbeispiel dafür ist ein Candlestick-Chart, für den nacheinander die Konsolidierungstypen Close, Open, High und Low angefordert werden.
Alle rein arithmetischen Funktionen (wie z. B. die Funktion "GD") geben die Anforderung eines speziellen Verlaufs einfach an ihre Vorgängerfunktionen weiter. Im Beispiel "Close.GD" würde der angeforderte Konsolidierungstyp von der Kurszeitreihe abgefragt, die die Funktion "Close" geliefert hat.
Genauso kann z. B. auch mit der Formel "Close.GD.DMI" ein DMI berechnet werden, der nicht direkt auf den Kursen, sondern auf den durchschnittlichen Kursen operiert. Und entsprechend kann mit der Formel "Kassa" ein Candlestick-Chart generiert werden, der (bei wöchentlicher Darstellung) über die Wochenkonsolidierung der Kassa-Reihe gebildet wird.
Zur Abfrage des Kursverlaufs dient eine spezielle MM-Talk-Funktion:
LineTypeGet | ||
---|---|---|
Zeitreihe.LineTypeGet[Typ;Konsolidierungstyp] | ||
Ergebnistyp | Parameter | Resultat |
Zeitreihe | Typ (Linientyp[Default]) Konsolidierung (Konsolidierungstyp[Default]) | Die Funktion liefert die Zeitreihe, die als Hauptlinie die durch <Typ>, <Konsolidierung> gegebene Linie des Vorgängers enthält. |
Multiline-Zeitreihen
Für die Erstellung einer Multiline-Zeitreihe steht folgende MM-Talk-Funktion zur Verfügung:
LinesMulti | ||
---|---|---|
LinesMulti[Line1;Line2;Line3;Line4;Line5;Line6;Line7;Line8;Line9] | ||
Ergebnistyp | Parameter | Resultat |
Zeitreihe | Line1...Line9 (Zeitreihe). | Diese Funktion generiert aus den (Default-) Verläufen von bis zu 9 Zeitreihen eine Multiline-Zeitreihe. |
Für den Zugriff auf einzelne Zeitreihen in einer Multiline-Zeitreihe dient folgende MM-Talk-Funktion:
LineGet | ||
---|---|---|
Zeitreihe.LineGet[Line] | ||
Ergebnistyp | Parameter | Resultat |
Zeitreihe | Line (Zahl|String [0]): Die Nummer der Multilinie (0=Hauptlinie,1...4), oder den Namen der Linie (vgl. | Die Funktion liefert die Zeitreihe, die als Hauptzeitreihe die durch <Line> ("Linienbezeichner") gegebene Linie des Vorgängers enthält, der eine Multiline-Zeitreihe ist. |
Mehr Informationen zu Multiline-Zeitreihen finden Sie Im Kapitel Zeitreihenobjekte.
If-Abfragen
If-Abfragen spielen bei der Arbeit mit Zeitreihen eine wichtige Rolle. Sie haben die Form:
If(Bedingung: Zeitreihe; Then-Fall: Zeitreihe oder Zahl; Else-Fall: Zeitreihe oder Zahl)→Zeitreihe
Das Ergebnis der If-Funktion ist eine Zeitreihe, die für jeden Wert der Bedingungszeitreihe, der verschieden von Null ist, den zeitgleichen Wert des Then-Falls liefert und sonst den zeitgleichen Wert des Else-Falls. Sind Then- oder Else-Fall keine Zeitreihen, sondern Zahlen, wird immer dieselbe Zahl verwendet.
Die Formel "If(Close>Close.Before[1]];Close;0)" liefert z. B. eine Zeitreihe, die (standardmäßig) den Close-Kurs für alle Tage enthält, an denen er größer ist als in der Vorperiode; andernfalls ist der Wert 0.
In dieser Formel wird dreimal auf den Close-Verlauf zugegriffen, d. h., der Wert wird dreimal in der Datenbank abgefragt. Da Datenbankabfragen aufwendig sind, ist es sinnvoller, den Close-Wert vorher einer Variablen zuzuweisen; dann ist nur ein Datenbankaufruf nötig.$Close:=Close;
If($Close>$Close.Before[1];$Close;0)
Mehr dazu finden Sie im Abschnitt Teilausdrücke.