Tuesday 10 January 2017

Kdb Q Gleitender Durchschnitt

29. März 2014 von Ryan Hamilton Let8217s Blick auf, wie zu schreiben gleitenden Durchschnitt Analytics in q für die kdb-Datenbank. Als Beispieldaten (mcd. csv) verwenden wir Aktienkursdaten für McDonalds MCD. Der unten stehende Code lädt historische Bestandsdaten für MCD herunter und platziert ihn in die Tabelle t: Einfacher gleitender Durchschnitt Der einfache gleitende Durchschnitt kann verwendet werden, um fluktuierende Daten zu glätten, um allgemeine Trends und Zyklen zu identifizieren. Der einfache gleitende Durchschnitt ist der Mittelwert der Datenpunkte und gewichtet jeden Wert in der Berechnung gleichmäßig. Zum Beispiel, um den gleitenden Durchschnittspreis einer Aktie für die letzten zehn Tage zu finden, fügen wir einfach den Tagespreis für die zehn Tage und teilen durch zehn. Dieses Fenster mit einer Größe von zehn Tagen bewegt sich dann über die Daten, wobei die Werte innerhalb des Fensters verwendet werden, um den Durchschnitt zu finden. Hier8217s der Code in kdb für 1020 Tage gleitenden Durchschnitt und das resultierende Diagramm. Simple Moving Durchschnittliche Aktienchance Kdb (Produziert mit qStudio) Was Exponential Moving Average ist und wie es zu berechnen Eines der Probleme mit dem einfachen gleitenden Durchschnitt ist, dass es jeden Tag eine gleiche Gewichtung gibt. Für viele Zwecke macht es mehr Sinn, den jüngeren Tagen eine höhere Gewichtung zu geben, eine Methode, dies zu tun, ist mit dem Exponential Moving Average. Die einfachste Form der exponentiellen Glättung ergibt sich aus der Formel: wo ist der Glättungsfaktor, und 0 Diese Tabelle zeigt an, wie die verschiedenen GewichteEMAs unter den Werten 1,2,3 berechnet werden , 4,8,10,20 und einem Glättungsfaktor von 0,7. (Excel-Kalkulationstabelle) Um diese Berechnung in kdb durchzuführen, können wir folgendes tun: (Dieser Code wurde ursprünglich in die Google Mail-Liste von Attila geschrieben, die vollständige Diskussion finden Sie hier) Dieser Backslash-Adverb funktioniert wie Die alternative Syntax verallgemeinert die Funktionen von 3 oder mehr Argumente, wobei das erste Argument als Anfangswert verwendet wird und die Argumente entsprechende Elemente aus den Listen sind: Exponential Moving Average Chart Schließlich nehmen wir unsere Formel und wenden sie auf unsere Aktienkurse an, so dass wir den exponentiellen gleitenden Durchschnitt sehen können Für zwei verschiedene Glättungsfaktoren: Exponential Moving Durchschnittliche Aktienkurse, die mit qStudio erzeugt werden Wie Sie mit EMA sehen können, können wir mit einem ausgewählten Glättungsfaktor neuere Werte priorisieren, um die Balance zwischen den letzten und historischen Daten zu bestimmen. Das Schreiben von kdb-Analysen wie Exponential Moving Average erfolgt in unserem kdb-Kurs. Wir stellen regelmäßig Schulungen in London, New York. Asien oder unsere Online-kdb-Kurs ist ab sofort verfügbar. 1 Response to 8220Exponential Moving Average EMA in Kdb8221 Vielen Dank Ryan, das ist sehr hilfreich. Aber ich denke, es ist ein Tippfehler in ema8217s Definition, sollte sein: ema: xyReferencemavg mavg (gleitende durchschnittliche Verb) Das mavg-Verb liefert den N-item gleitenden Durchschnitt seiner numerischen rechten Argument, mit jedem Nullwert nach dem ersten Element durch Null ersetzt. Die ersten N Elemente des Ergebnisses sind die Mittelwerte der Begriffe so weit, und danach ist das Ergebnis der gleitende Durchschnitt. Das Ergebnis ist Gleitpunkt. N. B. Unendlichkeiten (0w) sind mit dieser Funktion nicht kompatibel. Eine vollständige Liste der Funktionen finden Sie in der kdb-Funktionsreferenz. Persönliche Werkzeuge Namensräume Navigation Printexport


No comments:

Post a Comment