Szeregi czasowe, analiza zależności krótkoi długozasięgowych Rafał Weron rweron@im.pwr.wroc.pl Definicje Mając dany proces {X t } autokowariancję definiujemy jako : γ(t, t ) = cov(x t, X t ) = = E[(X t -EX t )(X t -EX t )] Proces {X t } nazywamy stacjonarnym (w szerszym sensie), jeśli: E(X t ) = µ oraz cov (X t, X t+τ ) = γ(τ), dla każdego t, τ. (c) 5 Rafał Weron Definicje cd. Niech {X t } będzie procesem stacjonarnym, wówczas autokorelacją nazywamy funkcję ρ(τ) = γ(τ) / γ() Funkcja (opóźnionej) korelacji (AutoCorrelation Function) Dla szeregu czasowego Zt wykreślamy funkcję autokorelacji acf(z,k) jako funkcję opóźnienia k Białym szumem nazywamy proces {Z t } taki, że Z t są niezależnymi zmiennymi losowymi oraz E(Z t ) =, Var(Z t ) = σ < (c) 5 Rafał Weron 3 (c) 5 Rafał Weron 4 Funkcja acf dla 66 wartości (gaussowskiego) białego szumu. -. - Gęstość rozkładu gaussowskiego (normalnego),5% 95%,5% masy -,96,96 Dwustronny 95% przedział ufności dla białego szumu (ruchu Browna): ±,96/ L, gdzie L = 66-7 4 8 35 4 49 56 63 7 77 84 9 98 (c) 5 Rafał Weron Opóźnienie 5 Funkcja acf 66 dziennych zwrotów (% zmian cen) r t indeksu DJIA (93/7/3-99//3). -. - - 7 4 8 35 4 49 56 63 7 77 84 9 98 Opóźnienie (w dniach) (c) 5 Rafał Weron 6
Funkcja acf 66 dziennych zwrotów r t indeksu DJ Palo Verde (96/5/6-//5). -. - - 7 4 8 35 4 49 56 63 7 77 84 9 98 Opóźnienie (w dniach) (c) 5 Rafał Weron 7 Szeregi autoregresji AR (AutoRegression) Niech {Z t } będzie białym szumem, wówczas {X t } jest szeregiem AR rzędu p AR(p), jeśli: X t = α X t- + α X t- +...+ α p X t-p + Z t, gdzie α,...,α p stałe Z t traktuje się jako błąd losowy (c) 5 Rafał Weron 8 Funkcja acf dla procesu AR Funkcja częściowej korelacji (Partial AutoCorrelation Function) X t =,3 X t-,5x t- + Z t X t =,3 X t- +,5 X t- + Z t Dla opóźnienia k funkcja częściowej autokorelacji pacf(x,k) mierzy liniową zależność między X t i X t-k poprawioną o wpływ X t-,..., X t-k+.. Tzn. pacf(x,k) to współczynnik φ kk regresji liniowej w modelu: X t = φ + φ k X t- +... + φ kk X t-k + e t -. -. pacf(x,) = acf(x,) - - - 5 5 5 3 35 4 45 5-5 5 5 3 35 4 45 5 Dla procesu AR pacf wskazuje na rząd p modelu (c) 5 Rafał Weron 9 (c) 5 Rafał Weron Funkcja pacf dla procesu AR Szeregi ARMA (AutoRegressive Moving Average) X t =,3 X t-,5x t- + Z t X t =,3 X t- +,5 X t- + Z t Bazując na szeregu AR, ale uwzględniając autokorelację błędów losowych otrzymujemy szereg ARMA(p,q):.. X t = α X t- +...+ α p X t-p + Z t + β Z t- +...+ β q Z t-q -. - - -. - 5 5 5 3 35 4 45 5-5 5 5 3 35 4 45 5 AR(p) MA(q) tzw. średnia ruchoma moving average (c) 5 Rafał Weron (c) 5 Rafał Weron
Funkcja acf dla procesu MA Funkcja pacf dla procesu MA X t = Z t +,4 Z t-,5 Z t- X t =Z t +,4 Z t- +,5 Z t- X t = Z t +,4 Z t-,5 Z t- X t =Z t +,4 Z t- +,5 Z t-.... -. -. -. -. - - - - - - 5 5 5 3 35 4 45 5 5 5 5 3 35 4 45 5 - - 5 5 5 3 35 4 45 5 5 5 5 3 35 4 45 5 (c) 5 Rafał Weron 3 (c) 5 Rafał Weron 4 Własności szeregów ARMA Szeregi ARIMA Modele ARMA charakteryzują się wykładniczo (szybko) zanikającą funkcją autokorelacji Modele ARMA dobrze opisują mikrostrukturę rynku. -. - ARMA(,) - 5 5 5 3 35 4 45 5-3 5 5 5 3 35 4 45 5 (c) 5 Rafał Weron 5 - - W praktyce mamy zazwyczaj do czynienia z niestacjonarnymi szeregami czasowymi. Eliminacja niestacjonarności poprzez różnicowanie zmiennych. (c) 5 Rafał Weron 6 Różnicowanie zmiennych Polega ono na zastąpieniu zmiennej X t przez zmienną Y t = X t+ -X t oznaczenie : Y t = X t+ Zabieg ten pozwala pozbyć się niestacjonarności. Różnicowanie - przykład Niech: X t = β + β t + Z t ; t - czas, Z t -biały szum E(X t ) = E(β + β t + Z t ) = β + β t zależność od czasu Weźmy teraz Y t = X t+, wówczas: Y t = X t+ -X t = β + Z t+ -Z t E(Y t ) = β stacjonarność (c) 5 Rafał Weron 7 (c) 5 Rafał Weron 8 3
Różnicowanie wielokrotne Definicja operatora B : B k (X t ) = X t-k Różnicowanie n-krotne : Y t = n X t+ = ( - B ) n X t+ Przykład dla n = 3: Y t = ( - B ) 3 (X t+ ) = = ( - 3B + 3B -B 3 ) X t+ = = X t+ -3X t + 3X t- -X t- Szeregi ARIMA Szereg ARIMA (p, d, q): ( - α B -...- α p B p )( - B) d X t = = ( + β B +...+ β q B q )Z t gdzie α i, β j -stałe; i p, j q ; {Z t }- szum. Zauważmy, że wprowadzając Y t = d X t+ z szeregu ARIMA(p, d, q) otrzymujemy szereg ARMA(p,q): ( - α B -...- α p B p )Y t = ( + β B +...+ β q B q )Z t (c) 5 Rafał Weron 9 (c) 5 Rafał Weron Szeregi ARCH W modelu ARIMA uwzględnia się zmienność wartości oczekiwanej w czasie. Co robić, gdy zmienia się wariancja? Taki przypadek opisuje model ARCH - pierwszy szereg czasowy uwzględniający zależność wariancji procesu od jego poprzednich wartości. Szeregi ARCH Szereg {X t } jest szeregiem ARCH(p), jeśli: X t = (h t ) / Z t, gdzie : h t = α + α X t- +...+ α p X t-p - wariancja ; α, α p >, α,..., α p- ; {Z t } - biały szum Zauważmy, że szumy w modelu ARCH są mnożone, a nie dodawane. (c) 5 Rafał Weron (c) 5 Rafał Weron Szeregi GARCH Uogólnieniem modelu ARCH jest model GARCH ( generalized ARCH ) W przypadku szeregów GARCH wariancja h t zależy nie tylko od poprzednich wartości szeregu, ale także od poprzednich wariancji. Szeregi GARCH - definicja Szereg {X t } jest szeregiem GARCH(p, q), jeśli: X t = (h t ) / Z t, gdzie: h t = α + α X t- +...+ α p X t-p + β h t- +...+ β q h t-q α, α p, β q >, a pozostałe współczynniki są nieujemne (c) 5 Rafał Weron 3 (c) 5 Rafał Weron 4 4
Estymacja parametrów We wszystkich przedstawionych modelach występowały stałe, których często nie znamy. Estymacja stałych na przykładzie szeregu ARCH: niech α = (α,..., α p ), wtedy dysponując próbą X = ( X,..., X n ) możemy estymować wektor α jeśli X t N(, h t ), to stosując metodę NW wystarczy znaleźć maksimum funkcji: ln L = - (n/) ln π -(/) n t=[ln h t (α) + (Z t / h t (α))] Estymacja parametrów cd. Im większa wartość parametru p dla szeregu ARCH(p), tym lepsze dopasowanie modelu do danych. Z drugiej strony estymacja większej liczby parametrów wiąże się z większymi błędami. Kompromis - kryterium Akaikego. (c) 5 Rafał Weron 5 (c) 5 Rafał Weron 6 Kryterium Akaikego Do wyznaczania optymalnego modelu można stosować kryterium Akaikego: AIC(p) = - ln L + p Najmniejsza wartość AIC(p) wskazuje na optymalną wielkość modelu. Najczęściej dobre dopasowanie uzyskujemy dopiero dla bardzo dużych wartości p. Analiza zależności długoterminowych Analizy R/S (Hursta) oraz DFA, dają odpowiedź na pytanie czy dzisiejszy wzrost ceny spowoduje kolejny wzrost, spadek czy też nie ma wpływu na przyszłe ruchy cen (c) 5 Rafał Weron 7 (c) 5 Rafał Weron 8 Analiza R/S (Hursta) Podziel szereg danych o długości N na d podprzedziałów o długości n Dla każdego podprzedziału: - oblicz średnią i odchylenie std. (S) zwrotów - odejmij średnią od zwrotów - zbuduj szereg skumulowanych zwrotów Yi - oblicz zasięg (range) R=max{Yi}-min{Yi} - przeskaluj (rescale) zasięg: R/S (c) 5 Rafał Weron 9 Log(R/S) Analiza R/S (Hursta) dziennych zwrotów indeksu DJIA: 9-999.4..8.6.4. Teoretyczne (R/S) Empiryczne (R/S) H=.56 H=.536 Istotność =.6.5.5 3 3.5 4 (c) 5 Rafał Weron Log(n) 3 5
Analiza R/S (Hursta) 6 dziennych zwrotów indeksu DJIA.8.6 Teoretyczne (R/S) Empiryczne (R/S) 948-54 Empiryczne (R/S) 993-99 Analiza R/S (Hursta) 6 dziennych zwrotów indeksu DJ Palo Verde.8.6.4 Teoretyczne (R/S) Empiryczne (R/S) Log(R/S).4. H=.598 H=.563 Log(R/S). H=.563 H=.545 Istotność =.5..4.6.8..4.6.8 3 (c) 5 Rafał Weron Log(n) 3 H=.386 Istotność =.5..4.6.8..4.6.8 3 (c) 5 Rafał Weron Log(n) 3 Analiza DFA (Detrended Fluctuation Analysis) Podziel szereg danych (zwrotów) o długości N na d podprzedziałów o długości n Dla każdego podprzedziału: - wyznacz trend liniowy z(t)=at+b - odejmij trend liniowy i policz odchylenie std.: F ( n) = n n t = ( y( t) z( t)) Policz średnią wartość F śr funkcji F(n) Wykreśl F śr jako funkcję n (c) 5 Rafał Weron 33 log DFA. -. -. -.3 - -.5 - -.7 Analiza DFA 6 dziennych zwrotów indeksu DJ Palo Verde Teoretyczne Empiryczne H=.5 H=.49-95% przedział ufności (3.9,5.96) -.9.5.5 3 log (c) 5 Rafał Weron n 34 6