wtorek, 23 grudnia 2014

Ułamkowa stacjonarność? Co to za twór?

Ostatnim razem użyłem terminu "ułamkowa stacjonarność" przy testowaniu pamięci długoterminowej różnych procesów. Specjalista mógłby się przyczepić, bo w literaturze przedmiotu pojęcie to nie jest znane, wydaje się nawet dziwaczne. Stacjonarność procesu rozumie się po prostu jako stałość własności (tj. rozkładu prawdopodobieństwa) wraz z przesunięciem w czasie. Wszystko co nie jest stacjonarne, jest niestacjonarne - i ta definicja przez przeciwieństwo zdaje się zaprzeczać istnieniu czegoś takiego jak ułamkowa stacjonarność.

Tyle że praktyczna rzeczywistość sygnalizuje, że kwestia ta nie jest oczywista. Dla przykładu wygenerowałem najpierw proces ruchu Browna z wykładnikiem Hursta = 0.5, czyli zwykły ruch przypadkowy (2048 danych):



Przekształciłem go w stopy zwrotu, czyli uzyskałem Gaussowski biały szum:



Pierwszy surowy test to spojrzenie na korelogram czyli autokorelacje stóp zwrotu:




Brak istotnych dodatnich autokorelacji dla początkowych danych sugeruje już stacjonarność.

Sprawdziłem wszystkimi metodami w Gretlu stacjonarność stóp zwrotu: Zmienna->Testy pierwiastka jednostkowego. ADF wskazuje p=0, a więc na stacjonarność. KPSS daje statystykę 0,071 < 0,46 dla 5% istotności, co oznacza stacjonarność. Testy na ułamkowy rząd integracji mówią, że nie ma pamięci długoterminowej:

Estymator lokalny Whittle'a (m = 96)
  Estymowany ułamkowy rząd integracji = 0,0654853 (0,051031)
  Statystyka testu: z = 1,28324, z wartością p = 0,1994

Test GPH (Geweke'a, Portera-Hudaka) (m = 96)
  Estymowany ułamkowy rząd integracji = 0,095589 (0,0583993)
  Statystyka testu: t(94) = 1,63682, z wartością p = 0,1050

 m jest to rząd opóźnienia, estymowany rząd integracji to rząd pochodnej ułamkowej - jeżeli jest istotnie większy od 0, to występuje długoterminowa pamięć. Ponieważ p > 0,05 dla obu testów, widać, że brak tej pamięci.

Wnioski: to czego należało się spodziewać.

Następnie wygenerowałem proces Browna z wykładnikiem Hursta = 0.86 (2048 danych):



Jest to w zasadzie ten sam wykres co poprzednio, ale znacznie wygładzony, przypomina to filtrację za pomocą średniej ruchomej (w istocie jest w tym sporo prawdy). Można się więc domyślić, że będzie to miało wpływ na wygląd wykresu stóp zwrotu z tego procesu. Ich wykres jest następujący:



Dopóki wykładnik Hursta jest pomiędzy 0 a 1, stopy zwrotu tego procesu są teoretycznie stacjonarne [1]. Jednakże w rzeczywistości stopy te wykazują się silną autokorelacją i to wielu rzędów:



Powolny spadek ACF wskazuje - o dziwo - na niestacjonarność procesu. Należałoby jednak sprawdzić to rzetelniej za pomocą testów. Okazało się, że ADF odrzucił hipotezę niestacjonarności, gdyż  p = 0, ale już KPSS wskazał, że przy istotności=0.05 mamy do czynienia z procesem niestacjonarnym (Statystyka testu = 0,51 > 0,46). Testy na ułamkowy rząd integracji tym razem mówią, że pamięć długoterminowa występuje:

Estymator lokalny Whittle'a (m = 96)
  Estymowany ułamkowy rząd integracji = 0,426418 (0,051031)
  Statystyka testu: z = 8,35606, z wartością p = 0,0000

Test GPH (Geweke'a, Portera-Hudaka) (m = 96)
  Estymowany ułamkowy rząd integracji = 0,458116 (0,0581905)
  Statystyka testu: t(94) = 7,8727, z wartością p = 0,0000

[*]

Wnioski: Dla badanego procesu z H = 0.86 ADF odrzuca niestacjonarność (hipoteza zerowa to niestacjonarność), natomiast KPSS odrzuca stacjonarność (hipoteza zerowa to stacjonarność). Wyniki są sprzeczne.

Powyższa analiza unaocznia, że długozasięgowe korelacje mają pewien wpływ na ocenę stacjonarności procesu, zbliżając nas do pojęcia 'ułamkowej stacjonarności'.

Ciekawostka: Ding i Pei [2] oraz Wang [3] konstruują właśnie pojęcie ułamkowej stacjonarności, dowodząc, że:
1. każdy proces niestacjonarny można przedstawić jako sumę wielu ułamkowo stacjonarnych procesów;
2. biały szum staje się ułamkowym stacjonarnym procesem losowym po dokonaniu filtrowania fraktalnego (w Gretlu nazywa się to Filtr różnicowy ułamkowy).

Kurs papierów wartościowych jest więc sumą wielu ułamkowo stacjonarnych procesów, coś na zasadzie sumowania wielu fal o różnych skalach czasowych lub o różnych częstościach.


Literatura:

[1] BB Mandelbrot, JW Van Ness - , Fractional Brownian motions, fractional noises and applications, SIAM review, 1968
[2] J. J. Ding and S. C. Pei, Fractional Fourier Transforms and Wigner Distribution Functions for Stationary and Non-stationary Random Process, ICASSP, vol. 3, pp. 21-24, 2006
[3] Yen-Chieh Wang, Fractional Fourier Transform for Random Process Signal Analysis

[*] Dodatek:
Przypomnę, że wykładnik Hursta jest dany wzorem: H = d + 1/a. gdzie d - ułamkowy rząd integracji, a - parametr alpha rozkładu Levy'ego jako miara rozciągliwości rozkładu. Teoretycznie w tym wypadku a = 2, ponieważ wygenerowałem proces Browna, a ten zawsze jest gaussowski niezależnie od H. Ale na wszelki wypadek sprawdziłem metodą Mccullocha parametry rozkładu badanego procesu. Mcculloch pokazał, że a = 2, a więc to czego należało się spodziewać.
Jeśli chodzi o poziom H to oczywiście wynosi on 0.86. Zatem możemy obliczyć ile wynosi teoretyczny poziom d:
d = H - 1/a
d = 0.86 - 0.5 = 0.36

Porównując to z wynikami testu Whittle'a i GPH, widać, że testy zawyżyły poziom d, przy czym Whittle wskazał najbliższą prawdziwą wartość 0,426.
To zawyżenie wynika z faktu, że mamy tu do czynienia nie tylko z autokorelacją długoterminową (nieliniową), ale też autokorelacją krótkoterminową (liniową). Pewności tej nabrałem po przetestowaniu danych w programie Matrixer, który pozwala zbudować model ARFIMA. Najpierw w programie tym usunąłem wszystkie parametry do obliczenia z wyjątkiem d. Matrixer wyliczył d = 0.464, czyli bardzo zbliżoną do GPH w Gretlu. Następnie dodałem do obliczenia parametr AR(1). Matrixer wskazał, że parametr AR(1) = 0.148 oraz d = 0.366. A więc po usunięciu efektu autoregresji niemal idealnie dopasował wartość d do teoretycznej (0.36). Świadczy to oczywiście o tym, że w Gretlu metoda szukania długoterminowych zależności jest obciążona korelacjami krótkoterminowymi.

W związku z powyższym do wyliczeń d dla mWIG40 w ostatnim artykule należy podejść krytycznie. Przypominam, że uzyskana wartość d była naprawdę spora i wyniosła ponad 0.17. Teraz jednak widać, że mogła być to wartość zawyżona. I faktycznie, gdy przeprowadziłem jeszcze raz test na tych samych danych w Matrixerze, to bez AR(1) dostałem d = 0.14, a po wprowadzeniu AR(1) już d równa się ok. 0.08. Obydwa parametry (AR(1) i d) były istotne, ale wartość d jest dużo słabsza.

Teoretycznie ułamkowy ruch Browna (w sensie stóp zwrotu) jest stacjonarny dopóki -0,5 < d < 0,5 (a więc dla 0 < H < 1). Stąd badanie stacjonarności przez pryzmat ułamkowgo rzędu integracji polega po prostu na sprawdzeniu czy d < 0,5. Gretl jednak jak to wykazałem słabo sobie radzi w tej metodzie, a niestety obecnie nie ma możliwości budowania modelu ARFIMA i trzeba korzystać z innych oprogramowań.

Brak komentarzy:

Prześlij komentarz