Jak obliczane są MACD i średnia ruchoma
Bezpośrednia odpowiedź
MACD (Moving Average Convergence Divergence) jest obliczany na podstawie średnich ruchomych wybranego szeregu cenowego. W najczęściej spotykanej wersji wykorzystuje dwie wykładnicze średnie ruchome (EMA) tej samej ceny wejściowej: „szybką” EMA i „wolną” EMA. Linia MACD to różnica między tymi EMA. Osobna EMA linii MACD staje się linią sygnałową, a histogram to różnica między linią MACD a linią sygnałową.
Średnia ruchoma w tym kontekście jest obliczana z historycznych punktów danych przy użyciu reguły, która przypisuje wagi przeszłym obserwacjom. EMA nadają większą wagę nowszym danym niż starszym, dlatego MACD reaguje szybciej niż wolniejsze, czysto „uśrednione w czasie” podejście.
Mechanizm lub definicja
1) Wybór szeregu wejściowego („ceny” dla średniej)
Zarówno MACD, jak i średnia ruchoma wymagają szeregu czasowego liczb próbkowanych w regularnych odstępach czasu (na przykład cen zamknięcia dla każdego słupka). Typowe wybory ceny wejściowej obejmują:
- Szereg cen zamknięcia
- Inny składnik ceny (taki jak otwarcie, maksimum, minimum lub ich średnia)
Po wybraniu szeregu wejściowego obliczenie średniej ruchomej jest deterministyczne.
2) Podstawy średniej ruchomej: wzór EMA
EMA wygładza szereg czasowy poprzez aktualizację rekurencyjną.
Niech szereg wejściowy będzie oznaczony jako (P_t), gdzie (t) indeksuje kroki czasowe. EMA o długości (N) jest obliczana przy użyciu:
- Współczynnika wygładzania: (\alpha = \frac{2}{N+1})
- Aktualizacji rekurencyjnej (dla (t) po inicjalizacji): [ EMA_t = \alpha,P_t + (1-\alpha),EMA_{t-1} ]
Inicjalizacja ma znaczenie. Powszechną praktyczną inicjalizacją jest użycie pierwszej dostępnej ceny (lub prostej średniej z pierwszych (N) punktów) w celu ustawienia (EMA_{N}) lub najwcześniejszej wartości EMA w oknie obliczeniowym. Różne programy mogą inicjalizować nieco inaczej, co może przesuwać wczesne wartości.
3) Linie MACD i histogram (typowe parametry)
Standardowa struktura MACD ma trzy składniki wykresu:
- Linia MACD
- Linia sygnałowa
- Histogram
Niech:
- (N_{fast}) będzie długością szybkiej EMA
- (N_{slow}) będzie długością wolnej EMA
- (N_{signal}) będzie długością EMA sygnału
Oblicz dwie EMA tego samego szeregu cenowego:
- (EMA^{fast}t) przy użyciu (N{fast})
- (EMA^{slow}t) przy użyciu (N{slow})
Następnie linia MACD to: [ MACD_t = EMA^{fast}_t - EMA^{slow}_t ]
Następnie oblicz linię sygnałową jako EMA linii MACD: [ Signal_t = EMA(MACD)t\text{ przy użyciu długości }N{signal} ]
Wreszcie histogram to różnica: [ Histogram_t = MACD_t - Signal_t ]
Te wzory pokazują podstawową „mechanikę”: MACD nie jest pojedynczą średnią ruchomą; jest różnicą między dwiema średnimi ruchomymi, po której następuje kolejna średnia ruchoma zastosowana do tej różnicy.
Dowód lub przykład (kroki obliczeniowe z jawnymi założeniami)
Założenia dla tego przykładu:
- Masz szereg czasowy (P_t) próbkowany raz na słupek.
- Używasz ceny zamknięcia jako (P_t).
- Wybierasz (N_{fast}=12), (N_{slow}=26) i (N_{signal}=9) jako typowe długości.
Krok po kroku:
- Oblicz (\alpha_{fast} = 2/(12+1)) i (\alpha_{slow} = 2/(26+1)).
- Utwórz (EMA^{fast}t) przy użyciu: [ EMA^{fast}t = \alpha{fast} P_t + (1-\alpha{fast}) EMA^{fast}_{t-1} ]
- Utwórz (EMA^{slow}t) przy użyciu: [ EMA^{slow}t = \alpha{slow} P_t + (1-\alpha{slow}) EMA^{slow}_{t-1} ]
- Oblicz linię MACD w każdym kroku czasowym, w którym istnieją obie EMA: [ MACD_t = EMA^{fast}_t - EMA^{slow}_t ]
- Oblicz EMA sygnału szeregu MACD z (N_{signal}=9): [ Signal_t = \alpha_{signal} MACD_t + (1-\alpha_{signal}) Signal_{t-1} ] gdzie (\alpha_{signal} = 2/(9+1)).
- Oblicz histogram: [ Histogram_t = MACD_t - Signal_t ]
Jeśli niezależnie zaimplementujesz te kroki, używając tego samego szeregu wejściowego (P_t) i tych samych długości, powinieneś odtworzyć tę samą strukturę MACD. Niewielkie różnice mogą się pojawić, jeśli użyjesz innej inicjalizacji EMA lub innej definicji początkowej wartości EMA.
Ograniczenia i ryzyka
-
Wrażliwość na parametry MACD zależy od (N_{fast}), (N_{slow}) i (N_{signal}). Zmiana tych długości zmienia responsywność i skalę wartości, nawet jeśli podstawowy wzór pozostaje ten sam.
-
Problemy z danymi i dopasowaniem Obliczenia MACD wymagają spójnego indeksowania czasu:
- Wszystkie szeregi muszą używać tej samej częstotliwości próbkowania.
- Wybrany szereg ceny wejściowej musi być zgodny między źródłem danych a wzorem.
- Jeśli obliczasz EMA na różnych definicjach słupków (na przykład „zamknięcie” vs. inna cena), wyniki będą się różnić.
-
Niewystarczająca historia i inicjalizacja Ponieważ EMA wymagają wcześniejszych wartości, wczesne wartości MACD mogą być niewiarygodne, jeśli zaczniesz obliczenia zbyt blisko początku zbioru danych. Wybory inicjalizacji EMA (pierwsza wartość vs. średnia z (N) punktów) mogą wpływać na wczesne odczyty.
-
Tryb awarii interpretacji Składniki MACD są transformacjami matematycznymi; nie wskazują automatycznie na zyskowny lub poprawny wynik. Traktuj je jako cechy opisowe wybranego szeregu czasowego, a nie jako samodzielną regułę decyzyjną.
-
Zachowanie niestacjonarne Szeregi czasowe rynku mogą zmieniać swoje właściwości statystyczne w czasie (na przykład reżimy zmienności). Nawet jeśli obliczenia są poprawne, ten sam wzorzec liczbowy może zachowywać się inaczej w różnych reżimach.
Weryfikacja i kolejne pytanie
Aby zweryfikować własne obliczenia, sprawdź następujące elementy:
- Potwierdź, że współczynnik wygładzania EMA (\alpha = 2/(N+1)) jest używany spójnie.
- Potwierdź, że używasz tego samego szeregu ceny wejściowej (P_t).
- Upewnij się, że stosujesz (MACD_t = EMA^{fast}_t - EMA^{slow}_t) przed obliczeniem EMA sygnału.
- Upewnij się, że histogram używa (Histogram_t = MACD_t - Signal_t).
- Porównaj małe okno obliczonych wartości z drugą niezależną implementacją, aby wychwycić różnice w inicjalizacji lub dopasowaniu.
Jeśli chcesz, przejrzyj również, jak zmienia się znaczenie MACD, gdy zmienisz cenę wejściową lub długości (N_{fast}), (N_{slow}) i (N_{signal}). Możesz zapoznać się z powiązanymi wyjaśnieniami na stronach wewnętrznych, takich jak macd i średnia ruchoma oraz jak ustawienia zmieniają jak ustawienia zmieniają macd i średnią ruchomą.