czwartek, 4 stycznia 2018

Prognoza PKB na 2018 czterema metodami

Rok 2018 może być bardzo ryzykowny dla inwestora giełdowego. Wskazywałem niedawno na przewartościowanie S&P 500 oraz inne negatywne sygnały ( Bańka na S&P500. Czy Amerykanie dobiją leżącego? ). W poprzednim artykule przykładowo stworzyłem długoterminową prognozę dla kwartalnych zmian PKB, która koresponduje z negatywnym scenariuszem. Dzisiejszy artykuł stanowi pewną kontynuację tej prognozy.

Istnieją setki (a jeśli wziąć pod uwagę detale, to może i tysiące) różnych metod ekonometrycznych, które różnią się czasami podejściem a czasami założeniami. Wybiorę spośród nich trzy: analizę spektralną, metodę parametryczną - ARIMA oraz nieparametryczną - filtr Hodricka-Prescotta. Czwarta metoda to proste połączenie wszystkich tych metod. Stworzę prognozę zmian PKB na podstawie kwartalnych danych GUS z okresu 1.2003-3.2017 (59 danych):



1) Analiza spektralna (por. z artykułem Jakie opóźnienie stosować w KPSS i ADF-GLS?):
Wymaga ona stacjonarności badanej zmiennej. Testujemy więc procentowe zmiany PKB za pomocą KPSS i ADF-GLS. Obydwie metody przyniosły tę samą odpowiedź: zmiany są niestacjonarne. Dlatego analizę spektralną wykonujemy na przyrostach zmian PKB (czyli różnicach z procentowych zmian PKB). Uzyskane z nich spektrum zamieściłem poniżej:



Analiza spektralna wskazuje na długość cyklu = 14,5 (najwyższa wartość periodogramu). Ponieważ są to kwartały, zamieńmy to na lata. Podzielmy to na 4, dostajemy 14,5 / 4 = 3,6. Zatem cykl polskiego PKB wydaje się trwać niecałe 4 lata. Patrząc na wykres od 2013 rozpoczął się nowy cykl, czyli musiał się średnio skończyć w 2016 r. I od 2016 lub 2017 rozpocząć się nowy cykl. Rzeczywiście w 2016 r. rozpoczęła się jakby nowa fala ekspansji. Można by sądzić, że jesteśmy w środku tego cyklu. A jeśli przez cykl rozumiemy najpierw falę ekspansji, a następnie falę depresji, to znaczy, że za chwilę zacznie się fala "depresji" - ponieważ jesteśmy w środku cyklu.

2) ARMA: 
Mimo niestacjonarności zmiennej, nie stosowałem tutaj przyrostów zmian PKB, tylko bezpośrednie zmiany (czyli używam nie ARIMA, tylko ARMA). Gdyby użyć zmian przyrostów, to wyniki nie różniłyby prawie wcale. Do estymacji zastosowałem dwie metody: właściwą metodę największej wiarygodności (MNW) oraz jej warunkowy odpowiednik (CMNW). Do oszacowania rzędów użyłem dodatku armax (zob. ten wpis), który oblicza AIC, BIC  i HQC dla wszystkich modeli ARMA do jakiegoś maksymalnego rzędu, który sami ustalamy. HQC jest kryterium rozsądnym, bo jest czymś pomiędzy AIC a BIC. Przy mniejszej liczbie danych AIC może jednak dawać lepsze rezultaty niż HQC, więc w tym przypadku AIC był dla mnie nieco ważniejszy przy wyborze modelu.

Dodatkowo sprawdziłem czy dodanie sezonowości poprawi wyniki. Okazało się, że tak - użyłem w obydwu metodach sezonowego AR(1), czyli skorelowanie danego kwartału względem kwartału z poprzedniego roku - jest to całkiem naturalne. W sumie więc otrzymałem model
SARMA(p, q)(1, 0), tj sezonowa ARMA.

MNW: wskazała bardzo jednoznacznie rzędy p = 0 i q = 6. W sumie użyłem SARMA(0, 6)(1, 0). Prognoza:



CMNW: użyłem modelu SARMA(9, 0)(1, 0) - wg kryterium AIC. Prognoza:


Obydwie metody dają podobne rezultaty. Mam wrażenie, że MNW  trochę zawyża 4 kwartał, bo przewiduje ponad 6% wzrostu. CMNW - 5,5%. Z drugiej strony później pokazuje też większy spadek. Kolejne kwartały 2018 będą charakteryzować się obniżoną dynamiką aż do 3-4%. Oczywiście na tle UE to ciągle jest pokaźne tempo.


3) Filtr Hodricka-Prescotta (H-P)
Opisywałem go w art. Filtr Hodricka-Prescotta . Zgodnie ze sposobem H-P dla kwartalnych szeregów ustawiamy lambdę = 1600. Dostajemy:


Mimo iż długoterminowy trend gospodarczy zwyżkuje, to ostatnie zmiany PKB są powyżej linii trendu regresji. Negatywny scenariusz z ARMA zostaje potwierdzony przez H-P.

4) Połączenie wszystkich metod
Najlepszym i najprecyzyjniejszym sposobem jest połączenie 3 poprzednich metod.  Składnik cykliczny H-P możemy zbadać analizą spektralną, następnie skontruować prognozę z ARMA.

a) Analiza spektralna:
Sprawdzamy stacjonarność. Zarówno KPSS jak i ADF-GLS wskazały, że składnik cyklu H-P jest stacjonarny. Wobec tego możemy go użyć:


Długość cyklu = 14,75 kwartały, czyli podobnie jak poprzednio. Cykl gospodarczy trwa 3 lata i 3 kwartały, czyli znów ok. 4 lat. Jednakże użycie składnika cyklu H-P pozwala spostrzec dokładniej, kiedy ostatni cykl się zaczął. Jeśli założymy, ze cykl trwa od ostatniego dołka przed kolejnym poziomem 0 do następnego dołka za poprzednim poziomem 0, to dostaniemy pełny cykl. Z tej perspektywy od 3 kwartału 2016 rozpoczął się nowy cykl, czyli do dziś trwa 1,5 roku. Kolejne 1,5-2 lata mogą więc stanowić kontrakcję. 

b) ARMA:
Użyję tutaj już tylko MNW. HQC wskazał ARMA(2, 1), a AIC ARMA(2, 8). Wybieram AIC, także dlatego że q = 8 może wskazywać na długość trendu. Tym razem dodanie sezonowości pogorszyło model, dlatego nie dodałem rzędów sezonowych. Prognoza:

poniedziałek, 1 stycznia 2018

Czy ARMA estymować warunkową metodą największej wiarygodności?

W programach ekonometrycznych powszechnie znajdujemy dwie metody estymacji procesu ARMA: dokładną metodę największej wiarygodności (MNW) oraz warunkową metodę największej wiarygodności (CMNW)*. Którą wybrać? Dowiedziono, że MNW jest efektywniejsza w tym sensie, że parametr oszacowany tą metodą posiada mniejszą wariancję, tj. odchylenie od wartości oczekiwanej (oszacowanego) parametru jest mniejsze [1]. Jednakże istnieją 2 powody, dla których warto używać CMNW. Po pierwsze Andersen [1] wykazał, że różnica pomiędzy błędami standardowymi obydwu metod nie jest duża. Po drugie Neyman i Scott [2] pokazali, że gdy parametr zależy od nieznanych wariancji, które pochodzą z nieskończonej liczby populacji (to znaczy np. wariancja ciągle się zmienia w czasie), to MNW przestaje być estymatorem zgodnym (to znaczy prawdopodobieństwo, że w bardzo dużej próbie oszacowany parametr MNW będzie równy prawdziwemu parametrowi z populacji, nie równa się 1). Natomiast Andersen wykazał, że CMNW pozostaje w takiej sytuacji zgodny.

Ale zostawmy teorię na boku i przyjrzyjmy się prostemu przykładowi. Wrócę do poprzedniego artykułu, w którym przykładowo analizowałem funkcję sinus z nałożonym szumem białym, 1000 obserwacji:



Normalnie zawsze sprawdzamy przed estymacją niestacjonarność, aby usunąć pozorne trendy i korelacje. Stwierdziłem już, że proces cykliczny może być uznany za stacjonarny chociaż intuicyjnie wydaje się to nieprawidłowe. Taka sinusoida zawiera po prostu silne autokorelacje, a same autokorelacje nie są warunkiem wystarczającym do niestacjonarności. Gdybyśmy potraktowali ten proces jako stacjonarny, wtedy moglibyśmy użyć modelu ARMA(p, q) w Gretlu. Aby odnaleźć właściwe rzędy opóźnień p i q,  użyjemy dodatku armax w Gretlu, o którym pisałem tutaj. Dodatek pozwala wybrać MNW lub CMNW. Dla MNW działa wolno przy ustawieniu dużych maksymalnych poziomów p i q. Dla CMNW działa bardzo szybko, co stanowi dodatkowy walor tej metody. Zróbmy więc eksperyment dla MNW i CMNW.

MNW: Ustawmy w armax maksymalne rzędy p = 10 i q = 10. Te wartości wynikają z tego, że gdy potem chcemy użyć modelu ARIMA (już poza dodatkiem), to na obecną chwilę maksymalnymi rzędami AR i MA jest właśnie poziom 10. Upewniamy się, że jest ustawiona MNW (ML - maximum likelihood). Gdy dodatek armax zakończy pracę, musimy wybrać, wg którego kryterium będziemy szacować model. Na podstawie dwóch artykułów: Dla ARIMA najlepszym kryterium jest BIC? oraz  Nieprawda, że dla ARIMA najlepszym kryterium jest BIC. Nowy sprawdzian i prognoza WIG-u  wnioskujemy, że w ARIMA powinniśmy posługiwać się tylko HQC i BIC (kolejność ma znaczenie). Obydwa kryteria wskazały, że optymalnym wyborem jest p = 10 i q = 1. Wracamy więc teraz do ARIMA i używamy tych rzędów, przy czym pamiętamy, żeby ustawić d = 0 oraz MNW. Otrzymujemy wyniki i konstruujemy prognozę:



CMNW: Jeszcze raz wchodzimy do armaxa, upewniamy się, że max p = 10 i max q = 10 i dodatkowo zaznaczamy CMNW (CML - conditional maximum likelihood). Uzyskany mówi, że dla HQC optymalnym wyborem jest p = 4 i q = 3. Wobec tego wracamy do ARIMA i zmieniamy rzędy, tak aby estymować model ARIMA(4, 0, 3), czyli ARMA(4, 3). Następnie zmieniamy ustawienie MNW na CMNW.  Dostajemy wyniki i konstruujemy prognozę:



Gdy pierwszy raz to robiłem, byłem zdziwiony, że CMNW tak dokładnie odwzorowało funkcję sinus tylko na podstawie danych historycznych. CMNW może okazać się znacznie lepsza dla długoterminowych (niestacjonarnych) prognoz.

Należy tu jeszcze zwrócić uwagę, że gdy w armax zwiększymy maksymalne poziomy rzędów, np. do 12, to MNW się zmieni i wskaże p = 12 i q = 1, natomiast przy CMNW optimum zostaje zachowane - ciągle p =4 i q = 3. Wynika to z tego, że MNW wymaga dokładnej liczby parametrów, aby dać najlepsze możliwe wyniki, a CMNW potrafi sobie poradzić bez nich, wykorzystując pewne przybliżenia. Spodziewałbym się, że ze względu na cykliczność 200 rzędów w tym przypadku, MNW do tego poziomu właśnie zmieniałaby się, doprowadzając do globalnego optimum p = 200 i q = 1. Tutaj zaznaczam jednak, że to tylko moje przypuszczenie.

Funkcja sinus jest prosta, więc spróbujmy jeszcze przetestować bardziej skomplikowaną funkcję fraktalną, w której na sinus nakładamy mniejszy sinus i na ten mniejszy sinus nakładamy szum biały:




Powtórzmy eksperyment z poprzednich kroków.

MNW:  Dodatek Armax wskazał (dla wszystkich kryteriów) p = 3 i q = 10. Prognoza:



W długim terminie prognoza jest zbyt wygasająca.

CMNW: Armax pokazał (dla wszystkich kryteriów) p = 7 i q = 7. Prognoza:


Prognoza fantastyczna. CMNW niesamowicie dobrze prognozuje długoterminowe skomplikowane zmiany sinusoidalne tylko na podstawie historii.

CMNW okazuje się nie tylko dużo bardziej dokładna dla długoterminowych prognoz skomplikowanych wzorów ale także jest praktyczniejsza, bo dużo szybsza. Wynika z tego, że warto się tą metodą posługiwać.

 W takim razie spróbujmy wykorzystać CMNW do długoterminowej prognozy kwartalnego PKB od 4 kwartału 2017 do 4 kwartału 2021 r. Dane historyczne pochodzą z bazy GUS - kwartalnych zmian PKB z okresu 1.2003-3.2017. Przedstawię dwie prognozy - wg kryterium HQC oraz BIC. Prognozy wykonane analogicznie jak wyżej. Nie sprawdzamy więc stacjonarności, tylko od razu zakładamy d = 0 (tj. ARMA).

 -HQC (daje nieco lepsze dostosowania dla procesu ARMA): optymalny model = ARMA(8, 0):



 -BIC (lepiej wykrywa błądzenie przypadkowe - tutaj go z pewnością jednak nie ma): optymalny model = ARMA(5, 0):



Obydwa kryteria sygnalizują, że jeszcze 4 kwartał 2017 będzie bardzo dobry, natomiast od 2018 nastąpi deprecjacja i osłabienie gospodarczego wzrostu aż do końca roku.

* Metoda najmniejszych kwadratów (MNK) nie jest stosowana, bo się okazuje tutaj gorsza, opierając się tylko na historycznych danych. Podczas gdy MNW wykorzystuje dodatkowo teoretyczny rozkład prawdopodobieństwa - zob. [3] oraz [4]. Beach [5] także wykazał empirycznie, że MNW jest dla ARMA bardziej efektywna od MNK.  


 Literatura:
[1] Andersen, E. B., Asymptotic Properties of Conditional Maximum-Likelihood Estimators, 1970;
[2] Neyman, J., Scott, E. L., Consistent Estimates Based on Partially Consistent Observations, Jan. 1948;
[3]  Osborn, D. R., Maximum Likelihood Estimation of Moving Average Processes, 1976;
[4] Osborn, D. R.,  On the Criteria Functions used for the Estimation of Moving Average Processes, Jun., 1982;
[5] Beach, C. M., MacKinnon, J. G., A Maximum Likelihood Procedure for Regression with Autocorrelated Errors, Jan. 1978.