Jak obliczany jest TEMA (wzór, parametry i potrzebne dane)
Bezpośrednia odpowiedź: obliczanie TEMA
TEMA to potrójna średnia krocząca wykładnicza (Triple Exponential Moving Average). Tworzy ona pojedynczą wygładzoną wartość poprzez połączenie trzech średnich kroczących wykładniczych (EMA) obliczonych z tego samego szeregu cenowego.
Powszechnie stosowana postać TEMA to:
- Niech EMA1 = EMA szeregu cenowego z okresem n
- Niech EMA2 = EMA z EMA1 (ten sam okres n)
- Niech EMA3 = EMA z EMA2 (ten sam okres n)
Wtedy:
TEMA = 3·EMA1 − 3·EMA2 + EMA3
Zatem jeśli potrafisz spójnie obliczyć trzy EMA, możesz obliczyć TEMA.
Mechanizm lub definicja: jakie dane wejściowe i parametry mają znaczenie
1) Szereg danych wejściowych
TEMA jest obliczany z uporządkowanego w czasie szeregu wartości (często „cenowego” w analizie technicznej). Musisz zdecydować, jakiego szeregu używasz (na przykład cen zamknięcia) i stosować go konsekwentnie.
Istotny wymóg: TEMA zależy od dokładnego numerycznego szeregu wejściowego. Jeśli dwa źródła używają różnych definicji cen (lub różnych zasad ponownego próbkowania), ich wartości TEMA mogą się różnić nawet przy tym samym okresie.
2) Okres wygładzania n
Jedynym jawnym parametrem w powyższym wzorze jest długość okresu n.
- n kontroluje, jak szybko reaguje EMA.
- Większe n zazwyczaj bardziej wygładza (wolniejsza reakcja).
- Mniejsze n zazwyczaj reaguje szybciej, często z większą krótkoterminową zmiennością.
3) Krok EMA (element składowy)
Zanim obliczysz TEMA, musisz obliczyć EMA. Standardowa aktualizacja EMA wykorzystuje współczynnik wygładzania:
α = 2 / (n + 1)
Jedna z powszechnych definicji rekurencyjnych to:
EMA_t = α·Price_t + (1 − α)·EMA_(t−1)
Aby rozpocząć rekurencję, musisz wybrać regułę inicjalizacji dla pierwszej wartości EMA (na przykład ustawienie EMA_(pierwsze) na pierwszą wartość Price lub użycie średniej z pierwszych n wartości — różne programy mogą to robić inaczej). Ten wybór inicjalizacji bezpośrednio wpływa na wczesne wartości EMA, a tym samym na wczesne wartości TEMA.
4) Konstruowanie trzech EMA
Korzystając z powyższej definicji EMA:
- EMA1 jest obliczana bezpośrednio z wybranego szeregu wejściowego.
- EMA2 jest obliczana przez zastosowanie tej samej procedury EMA do szeregu EMA1.
- EMA3 jest obliczana przez zastosowanie tej samej procedury EMA do szeregu EMA2.
Wszystkie trzy są obliczane z tym samym okresem wygładzania n, a zatem z tym samym α.
Dowód lub przykład: samodzielnie weryfikowalny przepływ obliczeń
Oto przepływ obliczeń, który możesz dokładnie odtworzyć na własnych danych.
Założenia dla tego przykładu:
- Masz numeryczny szereg Price[1…T].
- Wybierasz okres n.
- Używasz α = 2/(n+1).
- Stosujesz jedną spójną metodę inicjalizacji EMA w całym procesie.
Kroki:
- Oblicz EMA1[t] z Price[t] używając:
- EMA1[t] = α·Price[t] + (1−α)·EMA1[t−1]
- Oblicz EMA2[t], stosując tę samą aktualizację EMA do EMA1:
- EMA2[t] = α·EMA1[t] + (1−α)·EMA2[t−1]
- Oblicz EMA3[t], stosując tę samą aktualizację EMA do EMA2:
- EMA3[t] = α·EMA2[t] + (1−α)·EMA3[t−1]
- Połącz je:
- TEMA[t] = 3·EMA1[t] − 3·EMA2[t] + EMA3[t]
Pomysł na niezależną weryfikację:
- Jeśli zaimplementujesz te kroki dwukrotnie (na przykład w arkuszu kalkulacyjnym i w kodzie), używając tego samego α i reguły inicjalizacji, oba szeregi TEMA powinny być zbliżone, przynajmniej po początkowej części „rozgrzewkowej”.
Ograniczenia i ryzyka: gdzie TEMA może wprowadzać w błąd lub zawieść
1) Wczesne wartości zależą od inicjalizacji
Ponieważ EMA używa definicji rekurencyjnej, wartość początkowa EMA1 determinuje kolejne wartości EMA1, następnie EMA2, a potem EMA3. Oznacza to, że wczesne punkty TEMA mogą się zauważalnie różnić między implementacjami.
Istotne ograniczenie: pierwsze kilka punktów dowolnego wskaźnika opartego na EMA należy traktować jako wartości „rozgrzewkowe”, chyba że znasz dokładną inicjalizację używaną przez źródło danych.
2) TEMA jest nadal wrażliwy na szumne dane wejściowe
TEMA jest skonstruowany tak, aby zmniejszyć opóźnienie w porównaniu z prostą EMA, ale nie usuwa to losowości z bazowego szeregu cenowego. Gdy szereg wejściowy ma częste małe odwrócenia lub szum, TEMA może oscylować bardziej niż wolniejsza średnia.
Tryb awarii: jeśli obliczasz TEMA na niestabilnym lub niskiej jakości szeregu (na przykład dotkniętym brakującymi danymi lub niespójnym próbkowaniem), wynik może być niewiarygodny.
3) W praktyce istnieją różne definicje
Chociaż wzór TEMA = 3·EMA1 − 3·EMA2 + EMA3 jest szeroko stosowany, niektóre platformy mogą różnie obsługiwać inicjalizację EMA lub stosować nieco inne konwencje w praktyce. W rezultacie dwie linie „TEMA” od różnych dostawców mogą nie być idealnie zgodne.
Ryzyko weryfikacji: nie można zakładać, że nazwa „TEMA” gwarantuje identyczne szczegóły obliczeń. Potrzebujesz dokładnej parametryzacji i inicjalizacji dostawcy.
4) Ramy czasowe i wstępne przetwarzanie danych mają znaczenie
Nawet bez zmiany n, kroki wstępnego przetwarzania — takie jak ponowne próbkowanie świec, używanie różnych sesji handlowych lub obsługa brakujących znaczników czasu — zmieniają szereg wejściowy, a tym samym łańcuch EMA.
Istotne ograniczenie: wartości TEMA nie są przenośne między ramami czasowymi ani różnie przetworzonymi danymi bez ponownego obliczenia.
Weryfikacja lub następne pytanie: co porównać, aby potwierdzić swój TEMA
Aby niezależnie potwierdzić obliczenie TEMA:
- Potwierdź, jakiego szeregu wejściowego używasz (na przykład ceny zamknięcia).
- Potwierdź okres n, a zatem α = 2/(n+1).
- Potwierdź regułę inicjalizacji EMA dla EMA1 (oraz czy EMA2 i EMA3 używają tych samych konwencji).
- Przelicz EMA1, EMA2, EMA3, a następnie zastosuj 3·EMA1 − 3·EMA2 + EMA3.
Przydatnym następnym krokiem jest porównanie obliczonego TEMA z drugą niezależną implementacją na tym samym zbiorze danych i z tą samą inicjalizacją. Jeśli są zgodne po obszarze rozgrzewkowym, Twoja mechanika jest prawdopodobnie poprawna.
Jeśli chcesz pójść dalej, możesz również sprawdzić, jak TEMA odnosi się do innych średnich kroczących na tym samym szeregu wejściowym lub jak zmiana n wpływa na wygładzenie i responsywność.