Jak obliczana jest średnia ruchoma z zerowym opóźnieniem? (Wzór, parametry i wymagania dotyczące danych)
Bezpośrednia odpowiedź
Średnia ruchoma z zerowym opóźnieniem (ZLMA) jest obliczana poprzez wzięcie istniejącej koncepcji średniej ruchomej (zazwyczaj ważonej lub wygładzonej średniej ceny) i podanie jej zmodyfikowanego („pozbawionego opóźnienia”) szeregu wejściowego. Innymi słowy, ZLMA nie jest magicznym nowym zbiorem danych: przetwarza ten sam typ uśredniania, aby średnia reagowała szybciej na niedawne zmiany.
Aby obliczyć ją dokładnie i niezależnie zweryfikować, należy z góry określić cztery rzeczy:
- źródło ceny (na przykład cena zamknięcia),
- metodę wygładzania używaną wewnątrz wskaźnika (często EMA, ale dokładna definicja jest różna),
- długość wstecznego spojrzenia (powszechnie zapisywaną jako L), oraz
- dokładną regułę „usuwania opóźnienia”, która przekształca oryginalny szereg cen w skorygowane wejście.
Ponieważ definicje ZLMA różnią się w zależności od implementacji, najważniejszą częścią każdego obliczenia jest użycie tego samego wzoru, który testujesz.
Mechanizm lub definicja
Średnia ruchoma przekształca szereg czasowy (wartości cen w czasie) w gładszy szereg poprzez uśrednianie ostatnich obserwacji. Kompromisem jest opóźnienie: standardowa średnia ruchoma ma tendencję do reagowania po zmianie bazowej.
Podejścia „zerowego opóźnienia” starają się zmniejszyć to opóźnienie poprzez oszacowanie, co szereg cen mógłby zrobić bez opóźnienia wprowadzonego przez wygładzanie. Powszechnym sposobem wyrażenia tej idei jest utworzenie skorygowanego szeregu wejściowego poprzez połączenie bieżącej ceny z wersją ceny z opóźnieniem, a następnie zastosowanie filtra wygładzającego do tego skorygowanego wejścia.
Powszechnie stosowana struktura edukacyjna wygląda następująco:
- Wybierz szereg cen (P_t) (na przykład cenę zamknięcia w czasie (t)).
- Wybierz długość (L).
- Oblicz wejście z usuniętym opóźnieniem (P^{*}_t) za pomocą reguły zależnej od (L) (a czasami od połówek długości lub przesunięć opóźnienia).
- Oblicz wynik jako wygładzoną średnią (P^{*}_t), taką jak wygładzanie w stylu EMA:
[\text{ZLMA}_t = \text{Wygładzanie}(P^{*}_t, L)]
Różne warianty ZLMA wybierają różne części kroków (3) i (4). Dlatego dwa wykresy oznaczone jako „Średnia ruchoma z zerowym opóźnieniem” mogą wyglądać inaczej: etykieta może odnosić się do tej samej ogólnej koncepcji, ale podstawowe wzory mogą się różnić.
Parametry, które musisz zdefiniować
Nawet w przypadku „samowystarczalnego” obliczenia musisz zdefiniować parametry wskaźnika:
- Długość (L): ile okresów obejmuje wygładzanie.
- Źródło (P_t): która cena jest uśredniana (zamknięcie, typowa cena itp.).
- Metoda wygładzania wewnątrz ZLMA: wygładzanie w stylu EMA, wygładzanie w stylu SMA lub inny filtr rekurencyjny.
- Reguła usuwania opóźnienia: dokładny wzór korekty, który tworzy (P^{*}_t) z oryginalnego (P_t).
Jeśli nie ustalisz tych definicji, weryfikacja staje się niejednoznaczna.
Dowód lub przykład
Poniżej znajduje się podejście przyjazne weryfikacji, które można zastosować bez polegania na jakichkolwiek danych z rynku na żywo.
Struktura przykładu (z jasno określonymi założeniami)
Załóżmy:
- Źródłem ceny jest zamknięcie: (P_t).
- Długość wygładzania wynosi (L = 10).
- Wejście z usuniętym opóźnieniem jest tworzone przy użyciu przesunięcia opóźnienia (d) wyprowadzonego z długości.
- Wynik końcowy jest filtrem wygładzającym zastosowanym do wejścia z usuniętym opóźnieniem.
Możesz zapisać obliczenie w ogólnej, sprawdzalnej formie:
- Wybierz (d) (na przykład przesunięcie proporcjonalne do (L)).
- Zbuduj wejście z usuniętym opóźnieniem (P^{*}t) jako funkcję (P_t) i (P{t-d}).
- Zastosuj wygładzanie:
- Jeśli wygładzanie jest w stylu EMA, używa współczynnika wagowego (\alpha) opartego na (L) (powszechnie (\alpha = 2/(L+1))) i aktualizacji rekurencyjnej.
Następnie dla każdego kroku czasowego (t), dla którego istnieje wystarczająca historia, obliczasz: [P^{}t = f(P_t, P{t-d}, L)] [\text{ZLMA}_t = \text{wygładzanie-w-stylu-EMA}(P^{}_t, L)]
Co należy zweryfikować numerycznie
Aby potwierdzić, że obliczona ZLMA odpowiada implementacji referencyjnej, sprawdź te punkty w kolejności:
- Wyrównanie: upewnij się, że indeks czasu t jest taki sam po obu stronach (błędy przesunięcia o jeden są powszechne).
- Okres rozgrzewki: wiele obliczeń średnich ruchomych wymaga kilku świec, zanim wartości się ustabilizują.
- Definicja wejścia: cena użyta wewnątrz wskaźnika musi się zgadzać (zamknięcie vs inna cena).
- Mapowanie parametrów: potwierdź, jak implementacja przekształca długość w (d) i we współczynnik wygładzania.
Jeśli którykolwiek z tych punktów się różni, wyniki mogą się rozbiegać, nawet jeśli ogólna koncepcja jest taka sama.
Istotne ograniczenie ujawnione przez przykłady
Nawet przy poprawnych obliczeniach ZLMA pozostaje filtrem uśredniającym. Przy zaszumionych danych korekta usuwająca opóźnienie może zwiększyć responsywność kosztem większej zmienności na wyjściu. Przy gwałtownych odwróceniach zmniejszenie opóźnienia może spowodować, że wskaźnik „zawróci” wcześniej niż tradycyjna średnia ruchoma, co może prowadzić do przestrzelenia w stosunku do późniejszego zachowania ceny.
Zatem ograniczenie nie jest problemem kodowania; jest ono nieodłączne dla filtrów „mniejszego opóźnienia” wchodzących w interakcję z losowością i gwałtownymi zmianami reżimu.
Ograniczenia i ryzyka
-
Definicje wskaźników nie są uniwersalne. Termin „średnia ruchoma z zerowym opóźnieniem” jest używany z różnymi regułami usuwania opóźnienia i wygładzania. Jeśli wybierzesz inny wariant niż ten pokazany na platformie, Twoje obliczenie nie będzie się zgadzać.
-
To nadal filtr, a nie predyktor. Metoda wygładzania z usuniętym opóźnieniem może zmniejszyć opóźnienie do średniej ruchomej przeszłych danych, ale nie gwarantuje, że przyszła cena będzie podążać za wskaźnikiem.
-
Szum może zostać wzmocniony. Kiedy dostosowujesz wejście, aby reagowało szybciej, możesz również zwiększyć wrażliwość na krótkoterminowe wahania.
-
Wymagania dotyczące danych mają znaczenie. Potrzebujesz spójnego historycznego próbkowania. Brakujące świece, różne przerwy w sesjach lub zmieniająca się konstrukcja świec mogą zmienić obliczony szereg.
-
Obliczenie zależy od warunków początkowych. Rekurencyjne wygładzanie (powszechne w obliczeniach w stylu EMA) wymaga wartości początkowej lub metody inicjalizacji; różne inicjalizacje mogą wpływać na wczesne wyniki.
Te ograniczenia definiują tryby awarii: niezgodność w definicji wariantu, wrażliwość na zaszumione wejścia oraz efekty rozgrzewki/inicjalizacji.
Weryfikacja lub następne pytanie
Aby niezależnie zweryfikować ZLMA:
- Zapisz dokładny wariant wzoru, którego używasz, w tym regułę usuwania opóźnienia (P^{*}_t) i metodę wygładzania.
- Wybierz stałe źródło ceny i długość (L).
- Oblicz wskaźnik z danych historycznych, używając tego samego indeksowania czasu i obsługi okresu rozgrzewki.
- Porównaj wyniki punkt po punkcie po okresie rozgrzewki.
Przydatnym następnym pytaniem w celu zmniejszenia niejednoznaczności jest: Której dokładnej definicji wariantu ZLMA używasz (reguła usuwania opóźnienia i krok wygładzania)? Jeśli podasz konkretny wzór, który próbujesz odtworzyć (lub dokładny pseudokod), obliczenie można dokładnie sprawdzić pod kątem niego.