DEMA und TEMA sind technische Indikatoren, die in MetaTrader 5 (MT5) integriert sind. Abkürzungen für Double Exponential Moving Average und Triple Exponential Moving Average, übersetzt als Double Exponential Moving Average und Triple Exponential Moving Average.
In diesem Artikel werden die Unterschiede zwischen EMA, DEMA und TEMA untersucht.
EMA Nachfolgend finden Sie eine grundlegende Beschreibung der EMA. Vergleich der gleitenden Durchschnittswerte des IIR-Filtertyps mit Pandas und Scipy
Die Formel lautet
DEMA
DEMA ist eine Abkürzung für Double EMA, aber es geht nicht nur darum, EMA zweimal anzuwenden. Selbst wenn EMA zweimal angewendet wird, wird die Glättung nur fortgesetzt und die charakteristischen Eigenschaften werden nicht erhalten.
Die obige EMA-Formel
Dann lautet die Formel von DEMA
Kann geschrieben werden. Ich benutze auch doppelte EMA, aber ich benutze auch EMA, um zu berechnen. Das Ableitungsprinzip dieser Formel ist in hier beschrieben.
TEMA
Die Formel für TEMA lautet
Schreiben und berechnen Sie mit Triple EMA, Double EMA und EMA. Das Ableitungsprinzip dieser Gleichung lautet hier.
Hier ist ein Beispiel für die Anwendung von EMA, DEMA und TEMA auf ein FX-Diagramm.
Dies wird auf dem MT5-Diagramm angezeigt, Rot ist EMA, Blau ist DMA, Grün ist TEMA. Alle Perioden sind auch $ period = 14 $.
Wenn wir uns das ansehen, können wir sehen, dass DEMA, TEMA und Preisverfolgbarkeit höher sind als EMA. Mit anderen Worten wird die Verzögerung, die dazu neigt, ein gleitender Durchschnitt zu sein, verringert. Ich habe jedoch das Gefühl, dass der Lärm zunimmt.
Der Unterschied im obigen Verarbeitungsbeispiel kann durch den Unterschied in den Frequenzeigenschaften erklärt werden.
Vergleich der gleitenden Durchschnittswerte des IIR-Filtertyps mit Pandas und Scipy
Entsprechend der EMA-Systemfunktion kann geschrieben werden als:
Damit sind die Systemfunktionen von DEMA und TEMA wie folgt.
Wenn Sie $ H_ {EMA} (z) $ in dieses einsetzen und es teilen, ist das Ergebnis wie folgt.
$ B_0 = \ alpha (2- \ alpha) $, $ b_1 = 2 \ alpha (\ alpha-1) $, $ a_0 = 1 $, $ a_1 = 2 (\ alpha-1) $, $ a_2 = (1- \ alpha) ^ 2 $
$ B_0 = 3 \ alpha (1- \ alpha) + \ alpha ^ 3 $, $ b_1 = 3 \ alpha (\ alpha-2) (1- \ alpha) $, $ b_2 = 3 \ alpha (1- \ alpha) ^ 2 $, $ a_0 = 1 $, $ a_1 = 3 (\ alpha-1) $, $ a_2 = 3 (1- \ alpha) ^ 2 $, $ a_3 = (\ alpha-1) ^ 3 $
Mit dieser Transformation können Sie die Funktionen freqz
und group_delay
verwenden, die die Frequenzeigenschaften mit den Koeffizienten der Molekül- und Nennerpolynome in Pythons Scipy als Argumente berechnen.
Lassen Sie uns die Amplitudencharakteristik jeder EMA mit dem folgenden Code finden.
%matplotlib inline
import numpy as np
import scipy.signal as sp
import matplotlib.pyplot as plt
period = 14 #Zeitraum
alpha = 2/(period+1)
#EMA
a = [1, alpha-1]
b = alpha
w, h = sp.freqz(b, a)
#DEMA
a_d = [1, 2*(alpha-1), (1-alpha)**2]
b_d = [alpha*(2-alpha), 2*alpha*(alpha-1)]
w, h_d = sp.freqz(b_d, a_d)
#TEMA
a_t = [1, 3*(alpha-1), 3*(1-alpha)**2, (alpha-1)**3]
b_t = [3*alpha*(1-alpha)+alpha**3, 3*alpha*(alpha-2)*(1-alpha), 3*alpha*(1-alpha)**2]
w, h_t = sp.freqz(b_t, a_t)
plt.xlabel('Frequency(rad/s)')
plt.ylabel('Amplitude')
plt.plot(w, abs(h), 'r', label='EMA')
plt.plot(w, abs(h_d), 'b', label='DEMA')
plt.plot(w, abs(h_t), 'g', label='TEMA')
plt.legend(loc="best")
Grundsätzlich zeigt der gleitende Durchschnitt die Eigenschaften eines Tiefpassfilters, der niedrige Frequenzen durchlässt, aber im Vergleich zu EMA haben DEMA und TEMA ein etwas breiteres Band zum Durchlaufen. Aufgrund dessen bleiben einige Hochfrequenzsignale erhalten. Daher hatten DEMA und TEMA im Vergleich zu EMA noch etwas Rauschen.
Als nächstes finden wir unter den Frequenzcharakteristiken die Gruppenverzögerungscharakteristik, die die Phasencharakteristik unterscheidet.
#Gruppenverzögerungseigenschaften
w, gd = sp.group_delay((b, a))
w, gd_d = sp.group_delay((b_d, a_d))
w, gd_t = sp.group_delay((b_t, a_t))
plt.xlabel('Frequency(rad/s)')
plt.ylabel('Group delay')
plt.plot(w, gd, 'r', label='EMA')
plt.plot(w, gd_d, 'b', label='DEMA')
plt.plot(w, gd_t, 'g', label='TEMA')
plt.legend(loc="best")
Die Gruppenverzögerungscharakteristik repräsentiert die Verzögerung des Signals bei dieser Frequenz. Betrachtet man dies, hat EMA eine große Verzögerung bei niedrigen Frequenzen, während DEMA und TEMA eine kleine Verzögerung haben. Diese Gruppenverzögerungscharakteristik kann auch die hohe Verfolgbarkeit von Änderungen in der Eingabe erklären.
Recommended Posts