Jak obliczana jest SMMA: wzór, dane wejściowe i co może pójść nie tak
Bezpośrednia odpowiedź
SMMA (wygładzona średnia ruchoma) jest obliczana za pomocą wzoru rekurencyjnego. Po obliczeniu początkowej wartości średniej ruchomej dla pierwszego punktu, każda kolejna wartość SMMA łączy najnowszą cenę (lub punkt danych) z poprzednią wartością SMMA przy użyciu wybranego okresu (długości okna). Kluczowe wymagania to: (1) uporządkowany szereg czasowy, (2) wybrany okres N oraz (3) uzgodniona początkowa wartość SMMA lub równoważna reguła startowa.
Mechanizm: definicja i wzór
Średnia ruchoma przekształca szereg czasowy (na przykład ceny próbkowane raz na okres) w gładszą linię. SMMA to jeden z konkretnych stylów wygładzania, w którym każda nowa wartość zależy od poprzedniej SMMA, a nie tylko od świeżej średniej o stałym rozmiarze.
Podstawowe zmienne
- N (okres/długość okna): dodatnia liczba całkowita (np. 5, 10, 20). Większe N zwykle daje gładsze wyniki.
- t: indeks bieżącego punktu danych.
- xₜ: bieżąca wartość wejściowa w kroku czasowym t (zwykle cena zamknięcia, ale może to być dowolny spójny szereg danych).
- SMMAₜ: wartość SMMA w kroku czasowym t.
Typowa aktualizacja rekurencyjna
Typowa rekurencja SMMA to:
SMMAₜ = ( (SMMAₜ₋₁ · (N − 1)) + xₜ ) / N
Oznacza to, że nowa SMMA opiera się głównie na poprzedniej SMMA (waga N−1) plus najnowsze dane wejściowe xₜ (waga 1), a następnie dzielona przez N.
Wartość początkowa ma znaczenie
Aby użyć rekurencji, musisz zdefiniować SMMA w pierwszym obliczalnym punkcie (często nazywanym SMMA₍N₎ lub SMMA₀ w zależności od indeksowania). Typowe podejście polega na ustawieniu początkowej SMMA jako prostej średniej ruchomej (SMA) z pierwszych N punktów wejściowych:
Początkowa SMMA = (x₁ + x₂ + … + x_N) / N
Inne platformy czasami stosują nieco inne konwencje startowe, ale praktyczne wymaganie jest takie samo: bez zdefiniowanej wartości początkowej nie można deterministycznie obliczyć późniejszych wartości SMMA.
Dowód lub przykład (z jawnymi założeniami)
Załóżmy:
- Masz równomiernie rozmieszczone kroki czasowe.
- Wybierasz N = 4.
- Twój szereg wejściowy to x₁, x₂, x₃, x₄, x₅, …
- Definiujesz początkową SMMA w t = 4 jako średnią z pierwszych czterech wartości.
Niech dane wejściowe będą:
- x₁ = 10
- x₂ = 12
- x₃ = 11
- x₄ = 13
- x₅ = 14
Krok 1: oblicz początkową SMMA
Początkowa SMMA (w t=4): (10 + 12 + 11 + 13) / 4 = 46 / 4 = 11.5
Zatem SMMA₄ = 11.5.
Krok 2: oblicz kolejną wartość SMMA
Użyj rekurencji: SMMA₅ = ( (SMMA₄ · (N − 1)) + x₅ ) / N = ( (11.5 · 3) + 14 ) / 4 = (34.5 + 14) / 4 = 48.5 / 4 = 12.125
Ten przykład pokazuje dwie kluczowe mechaniki:
- Najnowszy punkt xₜ wchodzi z wagą 1/N.
- Przeszłość jest reprezentowana przez SMMAₜ₋₁, a nie przez świeżą średnią z N punktów za każdym razem.
Ograniczenia i ryzyka: gdzie obliczenia mogą zawieść
1) Nieprawidłowa lub niespójna wartość początkowa
Jeśli platforma stosuje inną regułę inicjalizacji (na przykład może zaczynać od SMA z innego wycinka lub wyrównywać pierwszą SMMA do innego indeksu), otrzymasz inne wyniki liczbowe. Aby zweryfikować niezależnie, zanotuj dokładnie, jak pierwszy punkt SMMA jest zdefiniowany w Twojej referencyjnej implementacji.
2) Brakujące dane lub nieregularne odstępy czasowe
SMMA zakłada uporządkowany szereg, w którym każdy krok t odpowiada następnemu okresowi. Jeśli Twoje dane mają luki, zduplikowane znaczniki czasu lub nieregularne próbkowanie, rekurencja może skutecznie wygładzać nierówne rzeczywiste odstępy czasu. Wynik nadal zostanie obliczony, ale może reprezentować inną „częstotliwość”, niż myślisz.
3) Mieszanie typów cen lub niespójne ponowne próbkowanie
Jeśli xₜ nie jest wybierany spójnie (np. przełączanie między ceną zamknięcia a innym polem lub mieszanie ram czasowych bez jasnych zasad ponownego próbkowania), linia SMMA staje się trudna do interpretacji. Wzór jest deterministyczny, ale jego znaczenie zależy od tego, czym faktycznie jest xₜ.
4) Wybór okresu zmienia reaktywność
Zmiana N zmienia siłę wygładzania: mniejsze N reaguje szybciej; większe N reaguje wolniej. Jeśli porównujesz wartości SMMA dla różnych N bez uwzględnienia tego, możesz wyciągnąć mylące wnioski dotyczące czasu i wielkości.
Weryfikacja i kolejne pytanie do zadania
Aby niezależnie zweryfikować obliczenia SMMA:
- Ustal okres N, którego używasz.
- Zapisz szereg wejściowy xₜ użyty (które dokładnie pole danych i przy jakim interwale próbkowania).
- Potwierdź regułę początkowej SMMA (często jest to SMA z pierwszych N punktów, ale dokładne wyrównanie indeksów musi się zgadzać).
- Przelicz jeden lub dwa kroki za pomocą rekurencji.
Dobre kolejne pytanie brzmi, czy Twoja SMMA odpowiada temu, jak Twój system referencyjny definiuje punkt startowy i jaki szereg wejściowy zasila formułę. Jeśli chcesz, możesz również porównać SMMA z powiązanymi średnimi ruchomymi, aby zrozumieć, jak rekurencja zmienia reaktywność.
Linki wewnętrzne (opcjonalnie):
- /forex-indicators/moving-averages/smma/
- /forex-indicators/moving-averages/smma/how-does-smma-differ-from-related-forex-concepts/
- /forex-indicators/moving-averages/smma/how-do-settings-change-smma/
- /forex-indicators/moving-averages/smma/what-can-signals-from-smma-mean/