Odbierz zniżkę na szkolenie i stwórz swój pierwszy automat w MQL4!

ARIMA model – prognoza cen WIG20

ARIMA model, oznacza AutoRegressive Integrated Moving Average. Jest to model statystyczny używany do analizy i prognozowania danych czasowych. Nazywamy też te dane – szeregami czasowymi. W prostych słowach, jest to narzędzie, które pomaga zrozumieć i przewidzieć, jak seria danych (na przykład akcje giełdowe, temperatura, sprzedaż w sklepie) zmienia się z czasem. Trochę teorii już było, więc przyszedł czas na praktykę.

ARIMA łączy trzy podstawowe koncepcje:

  1. Auto-regresja (AR): zakłada, że wartości przyszłe zależą od kombinacji poprzednich wartości (tzw. lagów).
  2. Integrowanie (I): polega na różnicowaniu danych, co oznacza odjęcie poprzedniej obserwacji od obecnej, aby usunąć trend w danych.
  3. Średnia ruchoma (MA): zakłada, że przyszłe wartości zależą od błędów prognozowania poprzednich wartości.

Używając modelu ARIMA, możemy zbudować matematyczny model, który może próbować przewidzieć, jak dana seria danych będzie wyglądać w przyszłości na podstawie informacji, które już znamy.

ARIMA na giełdzie

Podstawowe pytanie, jakie możemy zadać, to dlaczego akurat ten model przewija się w kontekście danych giełdowych? Wynika to z faktu, że dane te stanowią szereg czasowy. Oznacza to bowiem, że nie da się oddzielić ceny od czasu. Dzisiejsza cena jest powiązana z wczorajszą, a ta z kolei z wcześniejszą, itd. Rzecz jasna, wczorajsza cena nie determinuje dzisiejszego zachowania (w co wielu traderom ciężko uwierzyć:)).

Natomiast to jak otworzy się dzisiejsza świeca, jest bezpośrednio związane z tym jak sesja się skończyła. Cena otwarcia nie jest wiadoma, a na jej wynik wpływają chociażby wiadomości pojawiające się pomiędzy sesjami. Jednakże przedział, w jakim może się ona poruszać jest wyznaczony przez górne i dolne widełki cenowe. ARIMA nie wymaga skomplikowanych zmiennych wejściowych i jest stosunkowo prosta w interpretacji. To z kolei sprawia, że jest łatwa w użyciu przez analityków finansowych. Dodatkowo model ten może identyfikować i dostosowywać się do trendów i cykli występujących w danych giełdowych, co jest kluczowe dla dokładnych prognoz.

model machine learning gpw

ARIMA opiera się na solidnych podstawach statystycznych i matematycznych. Można by założyć, że jego wyniki są wiarygodne i przewidywalne. Istnieje wiele gotowych do użycia implementacji tego modelu w popularnych pakietach statystycznych i analizie danych. Przykładami są języki programowania R, czy Python – z bibliotekami pandas, czy statsmodels na czele. To sprawia, że jej zastosowanie w praktyce jest dosyć proste przez każdego użytkownika z dostępem do komputera. Warto jednak tutaj przestrzec wszystkich, którzy szukają mitycznego „Graala”. Rynki finansowe są niezwykle zmienne i podatne na szybkie zmiany, często w wyniku nieprzewidywalnych zdarzeń globalnych lub działalności dużych inwestorów. Wydarzenia takie jak m.in. wyniki finansowe, zmiany w polityce gospodarczej, katastrofy naturalne czy geopolityczne mogą gwałtownie wpłynąć na ceny akcji i są trudne do przewidzenia.

ACF i PACF w ARIMA model

Autokorelacja, znana również jest jako funkcja autokorelacji (ACF). Jest to miara zależności między obserwacjami w serii czasowej, oddzielonymi określonymi interwałami czasowymi, zwanymi opóźnieniami. W kontekście modelowania statystycznego, ACF pomaga określić, czy w serii czasowej istnieje wzorzec, który się powtarza. Innymi słowy, czy obecna wartość serii jest skorelowana z jej poprzednimi wartościami.

ACF jest szczególnie ważna przy identyfikacji odpowiedniego modelu Moving Average (MA). W modelu MA, bieżąca wartość serii jest funkcją błędów (szoków) z poprzednich okresów. ACF może pomóc określić liczbę opóźnień, które powinny być uwzględnione w modelu MA. Wynika to z faktu, że w modelu MA o określonej liczbie opóźnień, ACF powinna gwałtownie spaść do zera po przekroczeniu liczby opóźnień równych stopniowi MA.

Cząstkowa funkcja autokorelacji (PACF) jest miarą zależności między serią a jej lagami, która eliminuje wpływ pośrednich lagów. Innymi słowy, PACF mierzy korelację między serią a jej lagiem. Nie bierze z kolei pod uwagę korelacji, które zostały już wyjaśnione przez wcześniejsze lags. PACF jest używana do identyfikacji liczby opóźnień, które powinny być użyte w modelu autoregresji (AR). W modelu AR, obecna wartość serii jest funkcją jej poprzednich wartości, a PACF pomaga określić, jak daleko w przeszłość powinno się sięgać przy modelowaniu tej zależności.

Prognoza WIG20

W poniższym filmie prezentuje, w jaki sposób tworzyć model Arima, na danych WIG20. W filmie jest pokazane skąd pobrać dane, gdzie można je analizować. Dodatkowo przedstawiłem, w jaki sposób określić, czy model jest dobry. Całość notebooka, można znaleźć na moim GitHubie.

ARIMA model w praktyce – wartości p,d,q

W omawianym modelu występują 3 wartości, które należy uzupełnić. Są nimi p,d oraz q. Wynika to z tego, że sam model ARIMA, jak to zostało powiedziane na samym początku, składa się z trzech wartości: AR, I oraz MA. To właśnie na ich bazie wyznaczamy te wartości. A te wartości zdobędziemy, dzięki ACF oraz PACF.

Pierwszą wartość p jesteśmy w stanie wyznaczyć, kiedy korzystamy z częściowej autokorelacji (PACF). Z kolei q jest w stanie wyznaczyć nam ACF. Jak zatem powinniśmy się do tego zabrać? Spójrzmy na poniższy wykres.

Zawsze wartość 0 (czyli obecnego laga), będzie równa 1, gdyż wyznacza to korelację punktu x względem punktu x. Dopiero późniejsze wartości np. x-1, względem x, mają już większy sens. Poziom wyznaczany na niebiesko, oznacza istotność statystyczną. Przekroczenie jej przez któryś z lagów, oznacza, że jest to poziom warty wzięcia pod uwagę. Najczęściej bierze się pod uwagę pierwszy poziom przekroczony. W praktyce można brać różne, by następnie przy walidacji określić, który jest najlepszy.

To dwa z trzech już znaleźliśmy. Jak jeszcze określić wartość d? Tutaj pojawia się kwestia stacjonarności danych, która jest kluczowa dla tworzenia modeli. Stacjonarne dane, oznaczają dane, które mają stałą średnią w czasie oraz stałe odchylenie standardowe. Dodatkowo nie występuje u nich sezonowość. Czyli wartości nie spadają oraz nie rosną cyklicznie (w określonych okresach). Ceny akcji, indeksów, to wartości z pewnością niestacjonarne. Także kluczem jest ich transformacja. Jest wiele sposobów na to, a najprostszy to różnicowanie. Polega on na odejmowaniu wartości od siebie. Przez to dostajemy różnicę między cenami, która powinna posiadać średnią w okolicach 0. Jeśli jednak okaże się, że dane ciągle nie są stacjonarne, wówczas powtarzamy proces. W tym wypadku d, to ilość różnicowania. Pamiętaj, że do PACF i ACF wykorzystujemy dane stacjonarne. Z kolei do modelu ARIMA, możesz użyć dane niestacjonarne, ponieważ sam model dokonuje różnicowania.

Określenie jakości modelu oraz wnioski

Bez względu z jakiego modelu korzystamy, zawsze pojawia się pytanie – czy to jest dobry model prognostyczny? Istnieje wiele sposób na ocenę modelu. Wszystko zależy od tego, czy mamy do czynienia z problemem regresji, czy klasyfikacji? Akurat w tym wypadku, nasz problem dotyczy regresji. Na podstawie poprzednich cen, chcemy wyciągnąć nową cenę, która jest nieznana. W związku z tym, najprościej będzie wykorzystać MSE, czyli błąd średnio kwadratowy. Im mniejsza jego wartość, tym lepiej dla modelu.

Warto też wyciągnąć wnioski w tym miejscu. Czy jest to technika, która zapewni Ci niezwykły sukces giełdowy? No cóż… Odpowiedź jest zawsze na to jedna: Może, ale nie musi ;-). ARIMA sprawdza się na krótkich okresach. Dlatego warto pamiętać, że prognozowanie ruchów na kolejne pół roku w przód, ani się nie uda, ani nie ma sensu. Im dalej w las, tym dane stają się bardziej przestarzałe. Dlatego też, najlepiej stosować je do analizy kilku dni w przód. Wszystkich nas kusi, by odgadnąć kolejną cenę. Warto się jednak zastanowić, czy nie wykorzystać ARIMA w inny sposób niż prognoza ceny. Może wykorzystanie modelu do prognozy np. zmienności? Biorąc pod uwagę błąd w prognozie ceny, zawsze ciężko będzie określić, czy już warto zająć pozycję czy jeszcze nie. Z kolei wyjście poza pewną zmienność, może nam pomóc w podjęciu dalszych decyzji spekulacyjnych.

Możesz również polubić…