Jak obliczana jest WMA (średnia ważona)

Wzór na obliczanie WMA, parametry, wagi i ograniczenia.

Jak obliczana jest WMA (średnia ważona)

Bezpośrednia odpowiedź: czym jest WMA i jak jest obliczana?

WMA zazwyczaj oznacza Weighted Moving Average (średnią ważoną). Jest to średnia krocząca, w której nowsze obserwacje mają większy wpływ (lub, bardziej ogólnie, każda obserwacja otrzymuje określoną wagę). Obliczenie wykorzystuje okno najnowszych punktów danych i tworzy pojedynczą uśrednioną wartość.

Standardowy wzór dyskretny to:

WMAₜ = ( Σᵢ₌₀^(n−1) [ wᵢ · x₍ₜ−i₎ ] ) / ( Σᵢ₌₀^(n−1) wᵢ )

Gdzie:

  • t to bieżący indeks/krok czasowy.
  • n to długość okna (liczba użytych przeszłych punktów).
  • x₍ₜ−i₎ to wartości danych (na przykład ceny) w momentach t, t−1, …, t−(n−1).
  • wᵢ to wagi przypisane do każdej pozycji w oknie.

W wielu konwencjach wykresów wybiera się wagi tak, aby większe w odpowiadały nowszym punktom, ale dokładny kierunek ważenia zależy od tego, jak zdefiniujesz i.

Mechanika: parametry, dane wejściowe i przykład

1) Jakie dane wejściowe są potrzebne?

Do obliczenia WMA potrzebujesz:

  1. Szeregu czasowego: sekwencji wartości xₜ obserwowanych w stałych odstępach czasu.
  2. Rozmiaru okna n: liczby najnowszych punktów uwzględnionych w obliczeniach.
  3. Reguły wag: zestawu wag w₀ … wₙ₋₁. Wagi są często dodatnie, ale ogólna idea jest taka: wagi kontrolują wpływ.

Kluczowym wymogiem jest jasne określenie wag i ich przypisania do czasu. Na przykład musisz wiedzieć, czy w₀ jest stosowane do bieżącej wartości xₜ, czy do najstarszej wartości x₍ₜ−(n−1)₎.

2) Czym WMA różni się od prostej średniej kroczącej?

Prosta średnia krocząca (SMA) traktuje wszystkie punkty jednakowo (wszystkie wagi są takie same). WMA zmienia mechanikę, pozwalając wagom różnić się w obrębie okna.

Oznacza to, że dwa obliczenia WMA z tym samym n mogą dać różne wyniki, jeśli zastosujesz różne reguły wag.

3) Przykład liczbowy (z jawnymi założeniami)

Załóżmy:

  • Długość okna n = 3
  • Wartości danych w momentach t, t−1, t−2: xₜ = 10, x₍ₜ−1₎ = 12, x₍ₜ−2₎ = 14
  • Wagi rosną dla nowszych punktów. Używając powyższego wzoru, gdzie w₀ mnoży xₜ, wybierz wagi w₀ = 3, w₁ = 2, w₂ = 1.

Oblicz sumę ważoną:

  • Licznik = (3·xₜ) + (2·x₍ₜ−1₎) + (1·x₍ₜ−2₎)
  • Licznik = (3·10) + (2·12) + (1·14)
  • Licznik = 30 + 24 + 14 = 68

Suma wag:

  • Mianownik = 3 + 2 + 1 = 6

Zatem:

  • WMAₜ = 68 / 6 ≈ 11.33

Jeśli zmienisz wagi (na przykład uczynisz je bardziej skrajnymi), wynik przesunie się w kierunku punktów o największej wadze.

4) Częste praktyczne wyjaśnienie: „średnia” działa tylko z mianownikiem

Niektóre implementacje skutecznie normalizują wagi (dzielą przez sumę wag). Powyższy wzór robi to jawnie za pomocą Σwᵢ.

Jeśli pominiesz normalizację, wynik będzie sumą ważoną, a nie średnią. To rozróżnienie ma znaczenie przy porównywaniu wartości WMA dla różnych rozmiarów okien lub zestawów wag.

Ograniczenia i tryby awarii: co może pójść nie tak

1) Wybór wag zmienia zachowanie

WMA nie jest stałym „jedynym prawdziwym obliczeniem”. Długość okna n i reguła wag wᵢ określają wynik.

  • Jeśli wagi są zbyt skoncentrowane, WMA może silnie reagować na krótkoterminowy szum.
  • Jeśli wagi są zbyt wyrównane, WMA zbliża się do zachowania SMA i może bardziej opóźniać.

2) Częstotliwość danych i wyrównanie czasowe mają znaczenie

WMA zakłada, że sekwencja jest wyrównana do stałych kroków czasowych. Jeśli dane zawierają brakujące punkty, nieregularne próbkowanie lub przypadkowo mieszasz różne rozdzielczości czasowe, indeksy t, t−1, … nie będą już reprezentować równych odstępów czasu. Może to zniekształcić interpretację średniej kroczącej.

3) Efekty brzegowe: pierwsze okna są niezdefiniowane (lub obsługiwane inaczej)

Dla czasu t mniejszego niż n−1 nie ma wystarczającej liczby przeszłych obserwacji, aby wypełnić okno. Implementacje radzą sobie z tym na różne sposoby (na przykład nie zwracając wartości, używając mniejszego efektywnego okna lub opóźniając start). Dlatego, aby odtworzyć wyniki, musisz dopasować tę samą konwencję startu/inicjalizacji.

4) Szum, koszty i wykonanie mogą dominować w rzeczywistych kontekstach handlowych

Chociaż WMA jest obliczeniem deterministycznym, jej użycie w podejmowaniu decyzji może być zaburzone przez czynniki ze świata rzeczywistego, takie jak koszty transakcyjne, rewizje danych oraz sposób próbkowania/wykonywania wartości. Historyczne zależności nie oznaczają automatycznie, że przyszłość będzie zachowywać się podobnie, zwłaszcza gdy zmieniają się reżimy zmienności.

Weryfikacja i kolejne pytanie: jak sprawdzić swoje obliczenia

Aby niezależnie zweryfikować poprawność obliczeń WMA:

  1. Zapisz wybrane n, swoją listę wag wᵢ oraz przypisanie każdej wagi do konkretnej pozycji w czasie.
  2. Jawnie oblicz licznik Σ(wᵢ·x₍ₜ−i₎) i mianownik Σwᵢ.
  3. Potwierdź, że Twoja implementacja dzieli przez sumę wag (normalizacja).
  4. Przetestuj co najmniej jeden krok czasowy na małych, ręcznie sprawdzalnych liczbach (jak w powyższym przykładzie), zanim zaufasz wynikom na dużych zbiorach danych.

Jeśli chcesz, następnym krokiem jest porównanie, jak różne reguły wag zmieniają WMA w stosunku do powiązanych średnich (na przykład prostej vs ważonej) oraz wyjaśnienie, jak ustawienia takie jak długość okna zmieniają wynik.

Handel walutami i kontraktami CFD wiąże się ze znacznym ryzykiem. Informacje FoxiForex mają charakter edukacyjny i nie są osobistą poradą finansową. Materiały sponsorowane są wyraźnie oznaczone.