analiza finansowych szeregów czasowych w pakiecie r– modele i

95
Analiza finansowych szeregów czasowych w pakiecie R – modele i metody Monika Sikorska, Krzysztof Boczkowski Opracowanie firmy QuantUp 2013-02-23

Upload: doanxuyen

Post on 11-Jan-2017

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Analiza finansowych szeregów czasowychw pakiecie R– modele i metody

Monika Sikorska, Krzysztof Boczkowski

Opracowanie firmy QuantUp

2013-02-23

Page 2: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Spis treści

1 Opis danych 1

2 Cechy charakterystyczne finansowych szeregów czasowych 42.1 Rozkład inny niż normalny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Efekt grubych ogonów (thick tails) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Efekt leptokurtozy (leptokurtosis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Efekty grupowania wariancji (volatility clustering) . . . . . . . . . . . . . . . . . . . 52.5 Efekt dźwigni (leverage eflects) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.6 Efekt skośności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.7 Efekt autokorelacji stóp zwrotu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.8 Efekt długiej pamięci w szeregach zmienności (wariancji) . . . . . . . . . . . . . . . . 82.9 Efekt okresu niehandlowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Podstawowe testy 93.1 Test efektów heteroskedastycznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1.1 Test graficzny ACF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.1.2 Test McLeod-Li (test Ljungi-Boxa dla kwadratów)[10] . . . . . . . . . . . . . 93.1.3 Test mnożników Lagrange’a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2 Test Jarque-Bera (test normalności) . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 Test Andersona-Darlinga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Modele jednowymiarowe 154.1 Model ARCH (Autoregressive Conditional Heteroscedasticity) . . . . . . . . . . . . . 154.2 Model GARCH (Generalized ARCH) . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 Model IGARCH(Integrated GARCH) . . . . . . . . . . . . . . . . . . . . . . . . . . 174.4 Model FIGARCH (Fractionally IGARCH) . . . . . . . . . . . . . . . . . . . . . . . . 174.5 Model ARMA-GARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.6 Model GARCH-M (GARCH-in-mean) . . . . . . . . . . . . . . . . . . . . . . . . . . 184.7 Model EGARCH (Exponential GARCH) . . . . . . . . . . . . . . . . . . . . . . . . . 194.8 Model GJR-GARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.9 Model APARCH (Asymmetric power ARCH) . . . . . . . . . . . . . . . . . . . . . . 204.10 Model fGARCH (family GARCH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.11 Model R-GARCH (Randomized GARCH) . . . . . . . . . . . . . . . . . . . . . . . . 204.12 Model TARCH (Threshold ARCH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.13 Model HARCH (Heterogeneous interval ARCH) . . . . . . . . . . . . . . . . . . . . . 21

5 Dopasowanie modelu w pakiecie R - funkcje i metody 235.1 Biblioteka tseries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1.1 Dopasowanie modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 Biblioteka fGarch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.2.1 Symulowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2.2 Dopasowanie modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.2.3 Prognozowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.3 Biblioteka rugarch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Page 3: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

5.3.1 Symulowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.3.2 Dopasowanie modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3.3 Prognozowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4 Biblioteka bayesGARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.4.1 Dopasowanie modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6 Kryteria doboru modelu 56

7 Analiza danych symulowanych 58

8 Analiza danych rzeczywistych 638.1 Opis danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638.2 Analiza notowań IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

8.2.1 Zwroty w ujęciu dziennym od 2004 do 2008 roku . . . . . . . . . . . . . . . . 648.2.2 Zwroty w ujęciu dziennym od 2008 do 2012 roku . . . . . . . . . . . . . . . . 778.2.3 Porównanie dopasowanego modelu dla zwrotów w ujęciu dziennych i tygo-

dniowym od 2004 do 2012 roku . . . . . . . . . . . . . . . . . . . . . . . . . . 788.3 Analiza notowań Coca-Cola Company . . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.3.1 Zwroty w ujęciu dziennym od 2004 do 2008 roku . . . . . . . . . . . . . . . . 84

9 Zestawienie podstawowych funkcji pakietu R 90

Page 4: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

WprowadzenieW 1982 roku amerykański ekonomista i ekonometryk Robert Franklin Engle podczas wizyty w Lon-don School of Economics napisał pracę pod tytułem ’Autoregressive Conditional HeteroskedasticityWith Estimates of the Variance of UK Inflation’. Zaproponował w niej nową metodę modelowaniazmienności, która obecnie znana jest jako model ARCH, czyli model autoregresyjny z warunkowąheteroskedastycznością. W 2003 za swoje odkrycie został wyróżniony nagrodą Nobla w dziedzinieekonomii.

Niniejsze opracowanie jest swojego rodzaju kompendium podstawowej wiedzy na temat modeluARCH oraz jego uogólnień. W raporcie zaprezentowano nie tylko podstawowe informacje na tematwcześniej wspomnianych modeli, ale przede wszystkim skupiono się na przedstawieniu możliwościwykorzystania tych modeli przy pomocy pakietu statystycznego R.

W celu lepszego zobrazowania działania opisanych funkcji wybrano przykładowe dane, którychopis został przedstawiony w rozdziale pierwszym. Drugi rozdział to przegląd charakterystycznychcech finansowych szeregów czasowych i informacja o dostępnych modelach, które uwzględniają tecechy. Następny rozdział zawiera prezentacje podstawowych testów, wykorzystywanych do spraw-dzania założeń modeli. W rozdziale czwartym opracowano modele jednowymiarowe, pozwalająceanalizować finansowe szeregi czasowe (modele wielowymiarowe będą tematem osobnego opracowa-nia). Następny rozdział opisuje biblioteki dostępne dla pakietu R, które pozwalają dopasowywać dodanych opisane wcześniej modele. W rozdziale piątym przedstawiono kryteria wyboru najodpowied-niejszego z modeli, a w dwóch kolejnych rozdziałach dokonano przykładowej analizy danych (sy-mulowanych i rzeczywistych). Wszystko podsumowane zostało zestawieniem podstawowych funkcjipakietu R dla opisanych wcześniej bibliotek.

1 Opis danychDo przeprowadzenia symulacji obrazujących działanie funkcji z pakietu R wykorzystano szeregzawierający notowania indeksu giełdowego Dow Jones Industrial Average (DJIA) notowanego naNew York Stock Exchange (NYSE). Wybór padł na ten szereg, ponieważ wykazuje on zazwyczajtypowe własności charakterystyczne dla szeregów zwrotu.

Indeks DJIA jest jednym z najważniejszych oraz najstarszym indeksem giełdowym notowanymod 1896 roku. Obecnie składa się z 30 największych amerykańskich przedsiębiorstw.

Analizie poddany został szereg 1006 notowań z końca dnia pochodzących z okresu od 2 stycznia2004 roku do 31 grudnia 2007 roku. Do pobrania danych wykorzystany został pakiet quantmod [1]:

Listing 1: Importowanie danych (R)1 l i b r a r y ( quantmod )23 #Pobie ran ie danych4 getSymbols ( "DJIA" , s r c=" yahoo " , from="2004−01−01 " , to="2008−01−01 " )56 #Pobie ran ie danych z końca dnia7 dane <− DJIA [ , 4 ]89 #Wyl iczenie zwrotów logarytmicznych

1

Page 5: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

10 dane . zwroty <− dai lyReturn ( dane , subset=NULL, type=’ l og ’ )

Poniżej przedstawiony został wykres notowań z zamknięcia (rys. 1) oraz wykres zwrotów loga-rytmicznych (rys. 2):

Rysunek 1: Wykres notowań zamknięcia

Listing 2: Podstawowe charakterystyki zwrotów logarytmicznych (R)1 l i b r a r y ( Per formanceAnalyt ics )2 t ab l e . S ta t s ( dane . zwroty )

Listing 3: Podstawowe charakterystyki zwrotów logarytmicznych (Rlog)1 da i l y . r e tu rn s2 Observat ions 1006.00003 NAs 0.00004 Minimum −0.03355 Quar t i l e 1 −0.00386 Median 0 .00047 Arithmet ic Mean 0.00028 Geometric Mean 0.00029 Quar t i l e 3 0 .004510 Maximum 0.025211 SE Mean 0.000212 LCL Mean ( 0 . 9 5 ) −0.000213 UCL Mean ( 0 . 9 5 ) 0 .0007

2

Page 6: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

14 Variance 0 .000115 Stdev 0 .007316 Skewness −0.329517 Kurtos i s 1 .4803

Dane zawierają wartości z przedziału [−0.0335, 0.0252]. Współczynnik skośności jest ujemny,co sugeruje lewostronną asymetrię rozkładu. Potwierdza to obserwacja, że mediana jest większaod wartości średniej. Jednak różnice te są na tyle małe, że asymetria może nie być istotna iprzyjęto, że rozkład jest symetryczny. Kurtoza jest miarą spłaszczenia rozkładu. Dla analizowanychdanych wynosi 1.4803, czyli jest dodatnia. Wnioskujemy o leptokurtyczności rozkładu. Wartościanalizowanej cechy są bardziej skoncentrowane niż przy rozkładzie normalnym.

Rysunek 2: Wykres zwrotów logarytmicznych

3

Page 7: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

2 Cechy charakterystyczne finansowych szeregów czasowych

2.1 Rozkład inny niż normalnyPrzy wstępnej analizie rozkładu pomocny jest histogram zamieszczony na wykresie 3. Jest onsmuklejszy od funkcji gęstości rozkładu normalnego, występują w nim grube ogony i może byćasymetryczny. Cechy te będą dokładnie omówione w następnych podpunktach.

Rysunek 3: Histogram zwrotów logarytmicznych

2.2 Efekt grubych ogonów (thick tails)Prawdopodobieństwa wystąpienia obserwacji znacznie oddalonych od średniej wartości (nietypowezmiany) są istotnie wyższe niż dla rozkładu normalnego. Można to zaobserwować na wykresiekwantylowym 4. Analiza takiego wykresu jest graficznym testem zgodności z rozkładem normalnym,który można wykorzystać do badania efektu grubych ogonów.

Badanie grubości ogonów rozkładu przy użyciu metod statystycznych jest kłopotliwe, ponieważobserwacje ekstremalne pojawiają się rzadko. Szczegółowe metody badania grubości ogonów przypomocy estymatorów Pickandsa, Hilla oraz Dekkersa-Einmahla-de Haana są dokładnie opisane wpozycji [18].

Do oceny dopasowania rozkładu do ogonów często stosowana jest również statystyka Andersona-Darlinga, która została opisana w kolejnym rozdziale.

Wszystkie modele klasy ARCH umożliwiają opis grubych ogonów.

4

Page 8: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 4: Wykres kwantylowy

2.3 Efekt leptokurtozy (leptokurtosis)Występowanie zjawiska grubych ogonów i jednocześnie wyższego szczytu funkcji gęstości niż dla roz-kładu normalnego (większe prawdopodobieństwo pojawienia się obserwacji bliskich wartości śred-niej).

Do oceny dopasowania rozkładów w okolicy mediany stosowana jest statystyka Kołmogorowa.

2.4 Efekty grupowania wariancji (volatility clustering)Występowanie po sobie okresów nasilonej zmienności i okresów względnie stabilnych, wizualizacjana rysunku 5.

Jeżeli w modelu występuje zjawisko grupowania wariancji, to wariancja składnika losowego dlaróżnych obserwacji jest ze sobą powiązana, a kwadraty reszt modelu dla sąsiednich obserwacjipowinny być ze sobą skorelowane, czyli Cov(e2

t , e2t−k) 6= 0 dla pewnej wartości k > 0.

Dzięki temu występowanie zjawiska grupowania wariancji można testować poprzez analizę funk-cji autokorelacji dla kwadratów reszt.

Bardziej formalnymi metodami są testy portmanteau zaproponowane przez Boxa i Pierce’a orazLjung i Boxa dla kwadratów reszt modelu. Można również zastosować test ARCH-LM.

Wszystkie modele klasy ARCH umożliwiają opis grupowania wariancji.

2.5 Efekt dźwigni (leverage eflects)Efekt ujemnego skorelowania poziomu kursów i poziomu zmienności stóp zwrotu, czyli asymetrycz-nego wpływ informacji pozytywnych i negatywnych na poziom przyszłej wariancji, np. wraz zespadkiem ceny instrumentu występuje tendencja do wzrostu wariancji stóp zwrotu.

5

Page 9: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 5: Grupowanie wariancji

Chcąc zbadać występowanie tego efektu w danych, można dopasować do danych jeden z modeliuwzględniający efekt dźwigni, tzn. EGARCH lub GJR-GARCH i sprawdzić istotność odpowiednichwspółczynników w tych modelach.

Można również skorzystać bezpośrednio z testu znaków Engle’a i Ng dostępnego w paczce ru-garch (funkcja signbias).

2.6 Efekt skośnościRozkład stóp zwrotu nie jest symetryczny względem średniej, co tłumaczy się odmiennym zacho-wanie inwestorów w czasie bessy i hossy. Najczęściej obserwuje się rozkłady prawostronnie skośne,lecz nie jest to reguła. Efekt ten można zaobserwować m.in. na histogramie. Modeluje się go przywykorzystaniu specjalnych rozkładów, np. skośnego rozkładu t-Studenta.

Testowanie skośności rozkładu stóp zwrotu sprowadza się do zbadania, czy dla analizowanegoszeregu parametr modelu odpowiadający za skośność warunkowego rozkładu ma wartość istotnieróżna od zera lub alternatywnie czy model uwzględniający skośność w istotnie lepszy sposób dopa-sowuje się do danych empirycznych. Zwykle stosowane jest to drugie podejście.

2.7 Efekt autokorelacji stóp zwrotuWystępuje szczególnie w okresach o małej zmienności. Można go testować przy pomocy graficznegoprzedstawienia funkcji ACF i PACF dla stóp zwrotu, rysunki 6 oraz 7 . Do opisu obserwowa-nej autokorelacji szeregów stóp zwrotu wykorzystuje się znane procesy z klasy liniowych procesówautoregresji i średniej ruchomej (ARMA), modeli zintegrowanych (ARIMA) oraz ułamkowo zinte-growanych (ARFIMA).

6

Page 10: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Dla analizowanych danych nie występuje autokorelacja.

Rysunek 6: Wykres ACF dla szeregu zwrotów

Rysunek 7: Wykres PACF dla szeregu zwrotów

7

Page 11: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

2.8 Efekt długiej pamięci w szeregach zmienności (wariancji)Istnienie znaczących współczynników wysokich rzędów autokorelacji kwadratów stóp zwrotu (poznacznych wzrostach następują dalsze wzrosty, po których nadchodzą nagłe spadki a po nich ko-lejne). Do testowania tego efektu można wykorzystać wykres funkcji ACF dla kwadratów stópzwrotu, zamieszczony na obrazku 8 .

Najpopularniejszym modelem, pozwalającym opisywać ten efekt, jest model FIGARCH.

2.9 Efekt okresu niehandlowegoInformacja gromadzona w czasie, gdy rynki finansowe są zamknięte, znajduje swoje odzwierciedleniew cenach po ponownym otwarciu rynku, np. wariancja stopy zwrotu od piątku do poniedziałkupowinna być trzykrotnie większa niż wariancja od poniedziałku do wtorku. Odkryto jednak ([4],[5]), że informacja kumuluje się wolniej w czasie zamknięcia rynków niż w czasie ich otwarcia.Wariancje w okresie weekendów i świąt są wyższe niż w dni robocze, jednak różnica ta nie jest ażtak znaczna, jak można by się spodziewać.

8

Page 12: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

3 Podstawowe testy

3.1 Test efektów heteroskedastycznychW celu sprawdzenia występowania efektów heteroskedastycznych, czyli de facto obecności istot-nej autokorelacji dla szeregu kwadratów, stosowane są trzy testy: test graficzny ACF dla szeregukwadratów, test formalny McLeod-Li oraz test LM.

3.1.1 Test graficzny ACF

Test graficzny ACF można wykonać poprzez funkcję acf dostępną w domyślnej bibliotece stats:

Listing 4: Test graficzny ACF (R)1 ac f ( dane . zwroty ^2 , main=" " )

W wyniku analizy uzyskano następujący wykres (rys. 8):

Rysunek 8: Wykres ACF dla szeregu kwadratów

Z otrzymanego wykresu można wywnioskować, że występuje silna autokorelacja kwadratówzwrotów logarytmicznych.

3.1.2 Test McLeod-Li (test Ljungi-Boxa dla kwadratów)[10]

Postać hipotez testowych:

H0 : ρj = 0 dla j = 1, 2, ..., qH1 : ∃1 ≤ j ≤ q ρj 6= 0

Postać statystyki testowej dla testu Ljungi-Boxa:

Qm = n(n+ 2)m∑i=1

1(n− i)ρ

2i

9

Page 13: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

gdzie ρi jest autokorelacją i-tego rzędu. Powyższa statystyka ma rozkład χ2 om stopniach swobody.Test Ljungi-Boxa można przeprowadzić przy wykorzystaniu funkcji ljung.box.test z pakietu

ccgarch:

Listing 5: Test Ljungi-Boxa (R)1 Box . t e s t ( dane . zwroty ^2 , l ag = 5 , type = " Ljung−Box" )

Uzyskany wynik testu:

Listing 6: Test Ljungi-Boxa (Rlog)1 Box−Ljung t e s t23 data : dane . zwroty^24 X−squared = 1.4405 , df = 1 , p−value = 0.230156 Box−Ljung t e s t78 data : dane . zwroty^29 X−squared = 6.1007 , df = 2 , p−value = 0.047341011 Box−Ljung t e s t1213 data : dane . zwroty^214 X−squared = 16 .5046 , df = 3 , p−value = 0.00089351516 Box−Ljung t e s t1718 data : dane . zwroty^219 X−squared = 63 .0054 , df = 4 , p−value = 6.768 e−132021 Box−Ljung t e s t2223 data : dane . zwroty^224 X−squared = 64 .6339 , df = 5 , p−value = 1.335 e−12

Z otrzymanych wartości statystyki oraz p-wartości wynika, że występuje silna autokorelacja dlaopóźnień większych bądź równych 2. Dodatkowo jest to widoczne na wykresie uzyskanym przezwykonanie funkcji McLeod.Li.test z pakietu TSA:

Uwaga 1 Jako argument funkcji McLeod.Li.test bierzemy zwroty, a nie kwadraty zwrotów, po-nieważ funkcja sama podnosi do kwadratu.

Listing 7: Test McLeod-Li (R)1 l i b r a r y (TSA)23 McLeod . Li . t e s t ( y=dane . zwroty , main=" " )

10

Page 14: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 9: Wykres p-wartości dla testu McLeod-Li

Dla analizowanego szeregu zwrotów logarytmicznych uzyskany został wykres (rys. 9):Wartości poziomu krytycznego:

Listing 8: Test McLeod-Li (Rlog)1 $p . va lue s2 [ 1 ] 2 .300627 e−01 4.734186 e−02 8.934589 e−04 6.767920 e−13 1.334821 e−123 [ 6 ] 1 .332268 e−15 1.110223 e−16 0.000000 e+00 0.000000 e+00 0.000000 e+004 [ 1 1 ] 0 .000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+005 [ 1 6 ] 0 .000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+006 [ 2 1 ] 0 .000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+007 [ 2 6 ] 0 .000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+00 0.000000 e+00

Wnioski uzyskane z przeprowadzonych testów (McLeod-Li, Ljungi-Boxa oraz test graficzny)pokrywają się. Silna autokorelacja występuje dla opóźnień większych niż 2.

3.1.3 Test mnożników Lagrange’a

Kolejnym testem do sprawdzenia występowania efektów heteroskedastycznych jest test mnożnikówLagrange’a. W celu sprawdzenia autokorelacji rzędu q przyjmuje się następującą postać modelu:

σ2t = α0 +

q∑i=1

αiε2t−i = α0 + α(L)ε2t ,

Postać hipotez testowych:

H0 : αj = 0 dla j = 1, 2, ..., qH1 : ∃1 ≤ j ≤ q αj 6= 0

Statystyka testowa ma postać: LA = nR2 (R2 oznacza współczynnik dopasowania) i ma rozkładχ2 o q stopniach swobody.

Test ten jest dostępny w pakiecie FinTS:

11

Page 15: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Listing 9: Test mnożników Lagrange’a (R)1 l i b r a r y (FinTS)23 ArchTest ( dane . zwroty , l a g s=1)4 ArchTest ( dane . zwroty , l a g s=2)5 ArchTest ( dane . zwroty , l a g s=3)6 ArchTest ( dane . zwroty , l a g s=4)7 ArchTest ( dane . zwroty , l a g s=5)

Wynik przeprowadzonego testu:

Listing 10: Test mnożników Lagrange’a (Rlog)1 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s23 data : dane . zwroty4 Chi−squared = 1.4352 , df = 1 , p−value = 0.230956 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s78 data : dane . zwroty9 Chi−squared = 5 .934 , df = 2 , p−value = 0.051461011 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s1213 data : dane . zwroty14 Chi−squared = 15 .3552 , df = 3 , p−value = 0.0015371516 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s1718 data : dane . zwroty19 Chi−squared = 57 .5918 , df = 4 , p−value = 9.295 e−122021 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s2223 data : dane . zwroty24 Chi−squared = 57 .8945 , df = 5 , p−value = 3.307 e−11

Otrzymane p-wartości dają takie same wnioski jak w przypadku wcześniejszych testów.

3.2 Test Jarque-Bera (test normalności)Test Jarque-Bera wykorzystywany jest do weryfikacji hipotezy o normalności składnika losowego.Sam test opiera się na porównaniu trzeciego momentu centralnego (skośność) i czwartego momentucentralnego (kurtoza) z ich wartościami teoretycznymi dla rozkładu normalnego.

Weryfikowane hipotezy:

H0 : et ∼ N (0, σ2)

12

Page 16: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

H1 : et 6∼ N (0, σ2)

Statystyka testowa:

JB = n

(S

6 + (K − 3)2

24

)gdzie S = 1

n

∑ni=1

e3t

σ3 jest standaryzowaną skośnością, natomiast K = 1n

∑ni=1

e4t

σ4 jest standary-zowaną kurtozą.

Statystyka JB przy prawdziwości hipotezy zerowej ma rozkład χ2 o 2 stopniach swobody.

Listing 11: Test Jarque-Bera1 l i b r a r y ( t s e r i e s )23 jarque . bera . t e s t ( dane . zwroty )

Wynik przeprowadzonego testu:

Listing 12: Test Jarque-Bera - wyjście1 Jarque Bera Test23 data : dane . zwroty4 X−squared = 111 .2267 , df = 2 , p−value < 2 .2 e−16

Wartość statystyki JB na poziomie 111,2267 przemawia za tym, że zmiany zwrotów logaryt-micznych nie pochodzą z rozkładu normalnego.

3.3 Test Andersona-DarlingaJest to test zgodności rozkładu z zadanym rozkładem wzorcowym. Zwykle stosuje się go do spraw-dzenia zgodności z rozkładem normalnym. Jest modyfikacją testu Craméra-von Misesa, opracowanąw celu poprawy jego czułości w ogonach testowanego rozkładu, [?].

Statystyka Andersona-Darlinga:

A2 = n

∫ ∞−∞

(Fn(x)− F (x))2

F (x)(1− F (x)) dF (x),

gdzie

• F (x) - dystrybuanta rozkładu wzorcowego,

• Fn(x) - dystrybuanta empiryczna,

• n - liczność próby.

Jest to średnia ważona kwadratów odległości pomiędzy empiryczną i modelową dystrybuantą.Warto zauważyć, że jeśli x jest bardzo bliski wartościom krańcowym przedziału całkowania, wagi dlatych wielkości są bardzo duże (ze względu na rozmiar mianownika). Zatem ta statystyka przykładawiększa wagę do tego, by rozkłady pasowały do siebie w ogonach, niż w środku.

13

Page 17: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Test ten został zaimplementowany m.in. w bibliotece nortest jako polecenie ad.test. Jest toszczególna wersja testu przeznaczona do sprawdzania normalności rozkładu. Statystyka testowawyznaczana jest w nim ze wzoru:

A = −n− 1n

n∑i=1

(2i− 1)(ln(pi) + ln(1− pn−i+1)),

gdzie pi = Φ(xi−xs ) jest dystrybuantą standardowego rozkładu normalnego, x jest średnią z

danych, s jest odchyleniem standardowym danych.P-value jest obliczane dla zmodyfikowanej statystyki (poprawka ze względu na wielkość próby)

Z = A(1 + 0.75n + 2.25

n2 ).Dla poziomu istotności α = 0.05 odrzuca się hipotezę zerową o normalności rozkładu, gdy

statystyka Z > 0.752.

14

Page 18: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

4 Modele jednowymiaroweBollerslev ([7], [3]) określił około 150 różnych wariantów modeli ARCH. Poniżej zaprezentowanotylko najpopularniejsze z nich.

4.1 Model ARCH (Autoregressive Conditional Heteroscedasticity)Podstawowy model ARCH(q) pochodzący z publikacji [6]:

εt = ztσt,

σ2t = α0 +

q∑i=1

αiε2t−i = α0 + α(L)ε2t ,

gdzie:rt - szereg czasowy logarytmicznych stóp zwrotu,εt = rt − µt - innowacja w okresie t,zt - i.i.d. o wartości średniej zero i jednostkowej wariancji, najczęściej przyjmuje się rozkład

normalny albo t-Studenta (tzw. szum),σ2t - warunkowa wariancja (warunkowość oznacza uwarunkowanie informacjami dostępnymi w

chwili (t− 1)),α0 > 0, αi ≥ 0∀i ∈ {1, 2, . . . , q},L - operator przesunięcia wstecz Lεt = εt−1.

W praktyce oznacza to, że jeżeli kwadrat realizacji składnika losowego jest relatywnie wysoki wokresie t, prowadzi to do podwyższonych wartości warunkowej wariancji σ2

t+p dla p ∈ {1, 2, . . . , q}.Natomiast od chwili q + 1 wpływ ten staje się zerowy. Funkcja autokorelacji dla ε2t powinna byćistotnie różna od zera jedynie dla q pierwszych opóźnień(niekoniecznie wszystkich). W modelach fi-nansowych silne zaburzenia pozostawiają często długotrwały wpływ na zmienności szeregu, dlategokonieczne jest przyjęcie wysokiej wartości q w modelu ARCH(q). Zazwyczaj im większa wartośćq, tym dopasowanie modelu do danych jest lepsze. Niestety, estymacja większej liczby parametrówjest związana z większymi błędami.

Uwaga 2 Często pojawiającym się w tej tematyce pojęciem jest zmienność (ang. volatility). Odnosisię ono do warunkowego odchylenia standardowego σt.

Zalety modelu ARCH(q)

• Model ten dopuszcza zmienną w czasie warunkową wariancję procesu.

• Poprawienie jakości dopasowania modelu do danych w porównaniu do tradycyjnych modeli.

• Możliwy jest opis efektów grubych ogonów i grupowania wariancji.

15

Page 19: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Wady modelu ARCH(q)

• Dla uzyskania realnych wyników często konieczne jest użycie wysokiego rzędu q (w praktyceczęsto q > 10).

• Dodatnie i ujemne przyrosty obserwowanego szeregu zwrotów mają taki sam wpływ na mo-delowaną zmienność procesu (ponieważ skupiamy się na ich kwadratach).

• Model nie wyjaśnia czynników wpływających na zmienność ciągu, a jedynie opisuje zachowaniewarunkowej wariancji.

• Na współczynniki modelu narzucone są znaczące ograniczenia.

4.2 Model GARCH (Generalized ARCH)Jest to uogólnienie modelu ARCH. Model GARCH dopuszcza aby wartości warunkowej wariancjizależały także od swoich własnych opóźnień.

Podstawowy model GARCH(q,p) [7]:

εt = ztσt,

σ2t = α0 +

q∑i=1

αiε2t−i +

p∑j=1

βjσ2t−j

gdzie:wszystkie założenia, jak dla modelu ARCH, ponadto βi ≥ 0∀i ∈ {1, 2, . . . , p} i

∑max(p,q)i=1 (αi +

βi) < 1. Drugie z założeń nie jest konieczne, ale gwarantuje ono stacjonarność (w szerszym sensie)szeregu εt.

Uwaga 3 Dla p=0 otrzymujemy model ARCH(q)!

Zalety modelu GARCH(q,p)

• Wpływ nietypowych obserwacji na wariancję wygasa w tempie geometrycznym.

• Lepszy niż model ARCH do opisów rozkładów o grubych ogonach.

• Stosowany, gdy liczba opóźnień w modelu ARCH jest zbyt duża.

• Badania empiryczne pokazują, że znacznie lepiej dopasowuje się do danych empirycznych niżmodel ARCH. Nie jest to zaskoczeniem, ponieważ można pokazać, że model GARCH(q,p)można wyrazić jako model ARCH(∞).

Wady modelu GARCH(q,p)

• Nie uwzględnia asymetrycznego wpływ dobrych i złych wiadomości.

• Nie daje możliwości modelowania efektu dźwigni, gdyż warunkowa wariancja zależy jedynieod wartości bezwzględnych wcześniejszych realizacji (nie uwzględnia znaków).

• Nie pozwala na uwzględnienie efektu długiej pamięci.

16

Page 20: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

4.3 Model IGARCH(Integrated GARCH)Model GARCH jest nazywany modelem IGARCH (zaproponowanym przez Engle’a i Bollerslevaw 1986 roku), gdy spełnione jest założenie (jest ono narzucone w trakcie procedury szacowaniawspółczynników):

q∑i=1

αi +p∑j=1

βj = 1.

Procesy z tej rodziny posiadają niestacjonarną warunkową wariancję lub mają nieskończoną wa-riancję. Ma to istotne znaczenie dla interpretacji zmienności takiego szeregu czasowego. Zmiennośćtakiego modelu nie powraca do wartości średniej. Zaburzenia zewnętrzne prowadzące do zmian wwariancji są trwałe.

Bezwarunkowa wariancja dla modelu IGARCH nie istnieje. Poza tym model ten może być ściślestacjonarny, chociaż nie jest słabo stacjonarny.

W pakiecie R dopasowanie modelu IGARCH umożliwiają m.in. narzędzia dostępne w bibliotecerugarch.

4.4 Model FIGARCH (Fractionally IGARCH)Wprowadzony w 1996 roku przez Baillie’go, Bollersleva i Mikkelsena [30]. Jest to model o ’długo-trwałej pamięci’ (w kontekście funkcji autokorelacji kwadratów reszt modelu).

Szerzej na temat modelu FIGARCH i jego związku z modelem GARCH i IGARCH oraz szcze-gółowe informacje na temat własności funkcji autokorelacji kwadratów reszt modelu w kontekściemodelowania własności szeregu stóp zwrotu z indeksu WIG znaleźć można w pracy Piontka [31].

Funkcja autokorelacji kwadratów reszt modelu FIGARCH maleje w sposób hiperboliczny, czylidla niewielkich rzędów funkcja autokorelacji maleje w sposób szybszy niż dla przypadku wykładni-czego, a dla wysokich rzędów maleje bardzo powoli. Takie zachowanie funkcji autokorelacji umoż-liwia nazwanie modelu FIGARCH modelem o długiej pamięci (w kontekście funkcji autokorelacjikwadratów reszt modelu). Intuicyjne traktowanie modelu FIGARCH jako modelu o własnościachpośrednich między modelem GARCH i IGARCH jest zawodne. Zarówno model GARCH, jak iIGARCH są modelami o krótkiej pamięci, a model FIGARCH jest modelem o długiej pamięci.

Zalety modelu FIGARCH

• Umożliwia opis skupiania zmienności.

• Umożliwia opis grubych ogonów.

• Umożliwia opis długiej pamięci w szeregu zmienności.

Wady modelu FIGARCH

• Nie ma możliwości modelowania efektu dźwigni.

Uwaga 4 W praktyce nie wykorzystuje się bardziej skomplikowanych modeli niż FIGARCH(1, d, 1).

17

Page 21: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

4.5 Model ARMA-GARCHJest to połączenie modeli ARMA(R,S)(model autoregresyjny ze średnią ruchomą) i GARCH(q,p),podobne do popularnego modelu AR-GARCH. Każdy element tego szeregu można wyrazić wzorem:

yt =R∑i=1

biyt−i +S∑j=1

ajεt−j + εt,

σ2t = α0 +

q∑i=1

αiε2t−i +

p∑j=1

βjσ2t−j ,

gdzie założenia dla współczynników są identyczne, jak w modelu GARCH.

Zalety modelu ARMA-GARCH

• Umożliwia lepsze dopasowanie modelu warunkowej średniej.

Dopasowanie tego modelu w R umożliwiają biblioteki fGarch oraz rugarch.

4.6 Model GARCH-M (GARCH-in-mean)W finansach zwrot z aktywu może (choć nie musi) zależeć od jego zmienności. Rynek domaga się,aby za wyższe ryzyko przypadała wyższa premia. Tak samo większa warunkowa zmienność możewpływać na większe zwroty. Do modelowania tego zjawiska stworzony został model GARCH-M.Pozwala on w naturalny sposób modelować liniową zależność pomiędzy oczekiwaną stopą zwrotu azmienną w czasie warunkową wariancją. Model GARCH-M(p,q) (wprowadzony w latach 1982-1989)można przedstawić w następującej postaci:

yt = µ+ δσt + εt,

σ2t = α0 +

q∑i=1

αiε2t−i +

p∑j=1

βjσ2t−j ,

Jeśli oszacowanie parametru δ jest istotnie większe od zera, oznacza to występowanie premii zaryzyko.

Założenia, jak dla modelu GARCH, a µ oznacza średnią modelu GARCH.W badaniach empirycznych często wystarczające jest przyjęcie q = 1 i p = 1. Do estymacji

parametrów modelu GARCH-M wykorzystuje się najczęściej metodę największej wiarygodności.W pierwszym równaniu zamiast σ2

t można także przyjąć σt lub ln(σ2t ). Przyjęcie takiej specy-

fikacji oznacza, że zmiany w wariancji mają mniejszy wpływ na oczekiwaną stopę zwrotu.

Uwaga 5 Typ modelu ’in Mean’ użyty może być również do modeli EGARCH, GJR-GARCH orazinnych modeli klasy GARCH.

Dopasowanie modeli GARCH-M w pakiecie R umożliwia m.in. biblioteka rugarch.

18

Page 22: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

4.7 Model EGARCH (Exponential GARCH)Model zaproponowany przez Nelsona[21]. Model ten jest używany do symulowania efektu dźwi-gni. W modelu tym wykorzystano asymetryczną krzywą wpływu informacji, która posiada swojeminimum dla εt−1 = 0 . W podejściu tym narzuca się warunek, że lewe ramię krzywej ma rosnąćszybciej niż prawe. W modelu EGARCH ramiona opisują funkcje wykładnicze.

Zdefiniowany jako:

ln(σ2t ) =

q∑j=1

(αj(zt−j + λ(|zt−j | − E|zt−j |))) +q∑j=1

βj ln(σ2t−j),

gdzie λ jest współczynnikiem do oszacowania.

Zalety modelu EGARCH

• Pozwala modelować efekt dźwigni (asymetryczna reakcja na negatywne i pozytywne informa-cje).

• Nie wymaga nieujemności współczynników.

Dopasowanie tego modelu w R jest możliwe m.in. z wykorzystaniem narzędzi dostępnych wbibliotece rugarch.

4.8 Model GJR-GARCHModel zaproponowany przez Glosten’a, Jagannathana’a i Runkle’a (1993) [22] modeluje asyme-tryczny wpływ pozytywnych i negatywnych wiadomości na zmienność poprzez wykorzystanie indy-katora I.

Podejście do problemu jest analogiczne jak w przypadku modelu EGARCH, z tą różnicą, żew modelu GJR-GARCH każde z ramion krzywej wpływu informacji jest opisane przez połówkęparaboli o różnym nachyleniu.

σ2t =

p∑j=1

(αjεt−j + γjIt−jε2t−j) +

q∑j=1

βjσ2t−j ,

gdzie γj reprezentuje parametr dźwigni. Ilość tych parametrów odpowiada ilości parametrówmodelu ARCH. Jeżeli wartości parametrów γj są istotnie większe od zera, to w modelu występujeefekt dźwigni. Indykator It−j przyporządkowuje wartość 1 dla εt−j ≤ 0 i wartość 0 w przeciwnymwypadku.

Zalety modelu GJR-GARCH

• Możliwość modelowania efektu dźwigni.

Do dopasowania modelu GJR-GARCH w pakiecie R można wykorzystać funkcje dostępne w biblio-tece rugarch.

Uwaga 6 W modelach EGARCH i GJR-GARCH praktycznie nie wykorzystuje się innych postacimodeli niż dla p = q = 1.

19

Page 23: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

4.9 Model APARCH (Asymmetric power ARCH)Model ten w swojej pracy [23] zaproponował Ding. Umożliwia on modelowanie efektu dźwigni orazefektu Taylora opisanego w pracy [24].

σδt =q∑j=1

αj(|εt−j | − γjεt−j)δ +p∑j=1

βjσδt−j ,

gdzie δ ∈ R+ jest transformacją Box’a-Cox’a szeregu σt, a γj jest współczynnikiem efektu dźwigni.Do tej rodziny modeli należą między innymi:

• GARCH dla δ = 2 i γj = 0,

• AVGARCH dla δ = 1 i γj = 0,

• GJR-GARCH dla δ = 2,

• TGARCH dla δ = 1.

Dopasowanie tego modelu w środowisku R jest możliwe dzięki narzędziom dostępnym w biblio-tekach fGarch i rugarch.

Uwaga 7 Nie ma jednoznacznej konkluzji, który z modeli w sposób najlepszy opisuje efekt dźwigniw szeregach stóp zwrotu. Wydaje się jednak, że modele GJR-GARCH jest modelem najczęściejwykorzystywanym, ze względu na jego większą intuicyjność oraz znacznie łatwiejszą aplikację wzagadnieniach finansowych od modelu pozostałych modeli.

4.10 Model fGARCH (family GARCH)Jest to rodzina najpopularniejszych modeli GARCH zaproponowana przez Hentschel’a w pracy [25].Model ten jest podobny do modelu APARCH, ale bardziej ogólny. Zawiera w sobie wiele modelisymetrycznych oraz asymetrycznych, m.in. :

• APARCH

• GJR

• NGARCH

Dopasowanie modeli fGARCH w R jest możliwe m.in. z wykorzystaniem biblioteki rugarch.

4.11 Model R-GARCH (Randomized GARCH)Model R-GARCH(r,q,p) jest opisany następującymi wzorami[16]:

εt = ztσt,

σ2t =

r∑k=1

γiηt−k +q∑i=1

αiε2t−i +

p∑j=1

βiσ2t−j ,

gdzie r ≥ 1, αq, βp, γr > 0, a pozostałe współczynniki są nieujemne.

20

Page 24: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

W modelu pojawił się dodatkowy szum ηt. Jest to ciąg dodatnich niezależnych zmiennychlosowych. Zakłada się, że jest on niezależny względem szumu zt. Szczególnymi przypadkami nale-żącymi do tej klasy są modele GARCH (gdy szum ηt tworzą stałe dodatnie η) i ARCH (założeniejak dla GARCH i dodatkowo p = 0). Nie należą do niej natomiast opisane poniżej modele TARCHi HARCH.

Zalety modelu R-GARCH

• W modelach ARCH i GARCH nie są znane rozkłady opisujące zwroty εt. Wiadomo jedynie,że mają one grube ogony. Dla modelu R-GARCH można znaleźć rozkład εt. Okazuje się, żejest to symetryczny rozkład α-stabilny.

4.12 Model TARCH (Threshold ARCH)W modelach ARCH i GARCH warunkowa wariancja zależy tylko od kwadratów poprzednich warto-ści szeregu. Uniemożliwia to zastosowanie tych modeli do symulacji niesymetrycznego zachowaniasię inwestorów na giełdzie (efekt dźwigni). To zachowanie można próbować opisać za pomocą mo-delu progowego (threshold model). Połączenie modelu progowego z modelem ARCH zaowocowałopowstaniem modelu TARCH(p,p’,r) [15]:

εt ={α0 +

∑pi=1 αiεt−i + zt dla εt−d ≥ T ;

α′0 +∑p′

i=1 α′iεt−i + zt dla εt−d < T.

gdzie zt jest zmienną losową o rozkładzie normalnym ze średnią zero i warunkową wariancją σ2 =γ0 +

∑ri=1 γiz

2t−i, współczynniki αi, α′i, γj są rzeczywiste, d jest parametrem odroczenia, a T jest

parametrem progowym.Jest to model niesymetryczny i nieliniowy, w którym warunkowa wartość oczekiwana i warun-

kowa wariancja procesu εt zależą od jego poprzednich wartości. Możliwa jest modyfikacja modeluTARCH tak, aby również jego warunkowa wariancja przyjmowała inne wartości dla obu warunkówprogowych.

Zalety modelu TARCH

• Model uwzględnia niesymetryczne zachowanie inwestorów.

Do dopasowania modeli TARCH w R można wykorzystać bibliotekę tsDyn.

4.13 Model HARCH (Heterogeneous interval ARCH)Model HARCH(k) wprowadzony w pracy [17] jest następującą modyfikacją szeregu ARCH:

εt = ztσt,

σ2t = α0 +

k∑j=1

αj(j∑i=1

εt−i)2,

gdzie α0, αk > 0, a pozostałe współczynniki są nieujemne. HARCH(k) jest szeregiem stacjonar-nym w szerszym sensie, wtedy i tylko wtedy gdy

∑kj=1 jαj < 1.

Uwaga 8 Dla k = 1 HARCH(1)=ARCH(1).

21

Page 25: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Zalety modelu HARCH

• Dla k > 1 w postaci modelu HARCH(k) występują iloczyny mieszane różnych współczynnikówεt. Oznacza to, że na zmiany wariancji wpływa nie tylko bezwzględna wartość zwrotów, alerównież ich znaki.

• Dobrze modeluje zależność między zmiennością krótkoterminową i długoterminową.

Wady modelu HARCH

• Podobnie jak dla modelu ARCH, aby modelować efekt długiej pamięci, wymagane jest przy-jęcie wysokiego rzędu k.

22

Page 26: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

5 Dopasowanie modelu w pakiecie R - funkcje i metodyW tym rozdziale przedstawimy przegląd najważniejszych bibliotek (paczek) dla środowiska R, któreumożliwiają przeprowadzenie analizy finansowych szeregów czasowych. Opisane biblioteki to:

• tseries,

• fGarch,

• rugarch,

• bayesGARCH,

• ccgarch.

Dwie pierwsze to standardowe paczki używane do modelowania i prognozowania finansowychszeregów czasowych. Jednak to paczka rugarch została uznana przez nas za najbogatszą.

Nie są to oczywiście wszystkie biblioteki, które można by opisać w tym miejscu. Pominiętezostały:

• tsDyn – biblioteka pozwalająca modelować nieliniowe szeregi czasowe, m.in. model TARCH,

• rmgarch – odpowiednik paczki rugarch dla wielowymiarowych modeli GARCH.

5.1 Biblioteka tseriesOpis biblioteki został utworzony bazując na [13].

5.1.1 Dopasowanie modelu

Funkcja garch dopasowuje do danych model ARCH(q) lub GARCH(q,p) przy użyciu warunko-wej metody największej wiarygodności (dla logarytmu funkcji wiarygodności). Domyślnie jest toGARCH(1,1), który często jest wystarczająco dobrym modelem. Można również wskazać innymodel, korzystając z parametru order=c(q,p). Dla p=0 uzyskamy model ARCH(q). Ponadto za-kłada się, że jest to najbardziej elementarna wersja modelu GARCH, tzn. o rozkładzie normalnymzmiennej zt, czyli szumu (patrz opis modelu).

Listing 13: Dopasowanie modelu GARCH1 l i b r a r y ( t s e r i e s )2 dane . garch<−garch ( dane . zwroty )

Listing 14: Dopasowanie modelu GARCH - wyjście1 ∗∗∗∗∗ ESTIMATION WITH ANALYTICAL GRADIENT ∗∗∗∗∗234 I INITIAL X( I ) D( I )56 1 4.748696 e−05 1 .000 e+00

23

Page 27: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

7 2 5.000000 e−02 1 .000 e+008 3 5.000000 e−02 1 .000 e+00910 IT NF F RELDF PRELDF RELDX11 0 1 −4.448 e+0312 1 10 −4.448 e+03 8 .86 e−09 1 .09 e−08 1 .6 e−0713 2 20 −4.448 e+03 −3.48e−15 5 .99 e−17 7 .4 e−151415 IT STPPAR D∗STEP NPRELDF16 017 1 1 .8 e+11 1 .6 e−08 9 .83 e+0218 2 1 .6 e+00 7 .4 e−16 −2.78e−03192021 ∗∗∗∗∗ FALSE CONVERGENCE ∗∗∗∗∗2223 FUNCTION −4.448320 e+03 RELDX 7.444 e−1524 FUNC. EVALS 20 GRAD. EVALS 225 PRELDF 5.987 e−17 NPRELDF −2.779e−032627 I FINAL X( I ) D( I ) G( I )2829 1 4.747063 e−05 1 .000 e+00 −3.573 e+0230 2 5.000000 e−02 1 .000 e+00 −1.126 e+0131 3 5.000000 e−02 1 .000 e+00 −6.264 e+00

Możliwe jest zablokowanie drukowania powyższego rezultatu (parametr trace=FALSE).Na dole znajduje się ostateczne oszacowanie współczynników modelu. Można je również uzyskać

korzystając z jednej z metod dla modelu GARCH, metody coef.Przedziały ufności dla wyznaczonych parametrów wyglądają następująco:

Listing 15: Przedziały ufności1 c on f i n t ( dane . garch )

Listing 16: Przedziały ufności - wynik1 2 .5 % 97 .5 %2 a0 1.115955 e−05 8.378171 e−053 a1 −1.877157e−04 1.001877 e−014 b1 −6.357383e−01 7.357383 e−01

Kolejne metody dostępne dla tego modelu, to m.in.:

• predictZwraca prognozowaną zmienność dla dopasowanego modelu GARCH.

• vcovZwraca oszacowaną macierz kowariancji estymowanych parametrów modelu.

24

Page 28: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• residualsZwraca wektor reszt GARCH, tzn. szereg czasowy używany do dopasowania modelu po-dzielony przez warunkowe odchylenie standardowe tego modelu. Przy założeniu warunkowejnormalności reszty powinny być ciągiem i.i.d. ze standardowego rozkładu normalnego.

• fittedZwraca przybliżone warunkowe odchylenie standardowe dla szeregu, który został wykorzy-stany od dopasowanego modelu.

• plotGraficzne sprawdzenie normalności i pozostałych efektów ARCH dla reszt. Dzięki niej uzy-skamy wykresy zmienności w czasie, histogramy, wykresy kwantyl-kwantyl oraz wykresy funk-cji ACF dla wyjściowego szeregu czasowego i reszt.

Do tworzenia i wyświetlania opisu(podsumowania) dopasowanego modelu GARCH służy metodasummary. Oblicza ona asymptotyczne błędy standardowe oszacowań współczynników. Ponadtotestuje normalność reszt i pozostałe efekty ARCH (jarque.bera.test i Box.test).

Listing 17: Podsumowanie modelu.1 summary( dane . garch )

Listing 18: Podsumowanie modelu - wyjście.1 Ca l l :2 garch (x = dane . zwroty )34 Model :5 GARCH(1 ,1 )67 Res idua l s :8 Min 1Q Median 3Q Max9 −4.7327 −0.5288 0 .0604 0 .6157 3 .48691011 Co e f f i c i e n t ( s ) :12 Estimate Std . Error t va lue Pr(>| t | )13 a0 4 .747 e−05 1 .853 e−05 2 .562 0 .0104 ∗14 a1 5 .000 e−02 2 .561 e−02 1 .953 0 .0509 .15 b1 5 .000 e−02 3 .499 e−01 0 .143 0 .886416 −−−17 S i g n i f . codes : 0 ‘ ∗∗∗ ’ 0 .001 ‘ ∗∗ ’ 0 .01 ‘ ∗ ’ 0 .05 ‘ . ’ 0 . 1 ‘ ’ 11819 Diagnos t i c Tests :20 Jarque Bera Test2122 data : Res idua l s23 X−squared = 107 .303 , df = 2 , p−value < 2 .2 e−1624

25

Page 29: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

2526 Box−Ljung t e s t2728 data : Squared . Res idua l s29 X−squared = 0.0239 , df = 1 , p−value = 0.8771

Jeśli w pobranych danych występują braki wartości, niektóre z funkcji mogą nie działać pra-widłowo. Pomocna okazuje się wtedy funkcja na.remove, która usuwa obserwacje z brakującymidanymi z analizowanego szeregu. Może to niestety prowadzić do zachwiania porządku w danych.

W pakiecie tym zostały również zaimplementowane funkcje przeznaczone do testowania hipotezstatystycznych. Są to m. in. omówiony wcześniej test normalności Jarque-Bera. Ponadto testy:

• adf.test rozszerzony test Dickeya-Fullera (ADF, Augmented Dickey-Fuller test)

• bds.test test liniowości BDS (Brock, Dechert, Scheinkman)

• kpss.test test stacjonarności KPSS (Kwiatkowski–Phillips–Schmidt–Shin)

5.2 Biblioteka fGarchPakiet funkcji ekonometrycznych do modelowania procesów GARCH. Opis biblioteki został utwo-rzony bazując na [14].

5.2.1 Symulowanie danych

Biblioteka ta zawiera dwie funkcje służące do symulowania i określenia specyfikacji modeli GAR-CH/APARCH, są to: garchSpec i garchSim.

Listing 19: Tworzenie specyfikacji modelu domyślnego.1 l i b r a r y ( fGarch )2 spec<−garchSpec ( )3 spec

Listing 20: Otrzymany model.1 Formula :2 ~ garch (1 , 1)3 Model :4 omega : 1e−065 alpha : 0 . 16 beta : 0 . 87 D i s t r i bu t i on :8 norm9 Presample :10 time z h y11 1 0 1.043357 1e−05 0

Możliwe argumenty to m.in.:

26

Page 30: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• cond.dist - zakładany warunkowy rozkład, do wyboru: norm, ged, std, snorm, sged, sstd,

• model - lista parametrów modelu GARCH, domyślnie GARCH(1,1)

Funkcja garchSim symuluje jednowymiarowy model GARCH/APARCH.

Listing 21: Symulacja modelu GARCH.1 sim<−garchSim ( spec = garchSpec ( ) , n = 100 , n . s t a r t = 100 , extended =

TRUE)2 head ( sim )3 #utworzenie wykresu garch , sigma , eps4 p l o t ( sim )

Listing 22: Otrzymany model.1 garch sigma eps2 2012−05−19 −0.0006835246 0.003806470 −0.17956923 2012−05−20 0.0009674246 0.003555009 0.27213004 2012−05−21 −0.0007417759 0.003347247 −0.22160785 2012−05−22 −0.0030939111 0.003165166 −0.97748796 2012−05−23 −0.0028224178 0.003157823 −0.89378597 2012−05−24 0.0023721106 0.003126353 0.7587469

Otrzymane wykresy znajdują się na rysunku 10 . Wykres pierwszy od góry to szereg czasowy zmodelu GARCH(1,1), drugi to wykres zmienności, a na dole obserwujemy wykres reszt.

Rysunek 10: Symulowanie modelu GARCH(1,1).

27

Page 31: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

5.2.2 Dopasowanie modelu

Podstawową funkcją do estymacji parametrów jest garchFit. Służy ona do estymacji parametrówjednowymiarowego procesu ARMA-GARCH/APARCH.

Listing 23: Estymacja parametrów procesu ARMA-GARCH/APARCH.1 l i b r a r y ( fGarch )2 args ( garchFit )

Listing 24: Otrzymane wyjście.1 func t i on ( formula=~garch (1 , 1 ) , data=dem2gbp , i n i t . r e c=c ( "mci " , " uev " ) ,

d e l t a =2, skew=1, shape=4, cond . d i s t=c ( "norm" , " snorm " , " ged " , " sged ", " std " , " s s td " , " sn i g " , "QMLE" ) , i n c lude .mean = TRUE, inc lude . d e l t a=NULL, inc lude . skew=NULL, inc lude . shape=NULL, l e v e r ag e=NULL, t r a c e=TRUE, a lgor i thm=c ( " nlminb " , " l b f g sb " , " nlminb+nm" , " l b f g sb+nm" ) ,he s s i an=c ( " ropt " , " rcd " ) , c on t r o l = l i s t ( ) , t i t l e = NULL,d e s c r i p t i o n = NULL, . . . )

2 NULL

Jeśli nie zostaną określone parametry modelu ARMA(jak w poniższym przykładzie), to estymacjaprzeprowadzona będzie dla czystego modelu GARCH.

Funkcja ta, podobnie jak garch z biblioteki tseries, wykorzystuje metodę największej wiary-godności (dla logarytmicznej funkcji wiarygodności), ale daje więcej możliwości niż jej wspomnianyodpowiednik. Nie narzuca ona normalności rozkładu szumu. Parametry modelu można estymowaćrównież przy założeniu, że pochodzi on z rozkładu t-Studenta lub rozkładu GED oraz ich zdefor-mowanych wersji,np. skośnych. Służy do tego argument cond.dist. Jest to bardzo przydatnamodyfikacja, ponieważ większość rzeczywistych reszt modeli posiada grubsze ogony niż rozkładnormalny.

Dodatkowo umożliwione jest ustalenie liczby stopni swobody dla rozkładu t-Studenta poprzezparametr shape oraz include.shape=FALSE. W przeciwnym wypadku wartość shape jest es-tymowana. Funkcja ta umożliwia również estymację bardziej ogólnej klasy modeli, tzn. modeliAPARCH(Asymmetric Power ARCH), opisanych we wcześniejszej części raportu.

Listing 25: Estymacja parametrów modelu.1 garchFit (~garch (1 , 1 ) , data=dane . zwroty )

Metody funkcji garchFit to:

• fittedZwraca dopasowane wartości szeregu ’fGARCH’.

Listing 26: Dopasowane wartości modelu1 f i t<−garchFit (~garch (1 , 1 ) , data=dane . zwroty , t r a c e=FALSE)2 f i t t e d ( f i t )

28

Page 32: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• coefZwraca współczynniki oszacowanego modelu GARCH.

• formulaZwraca podaną przez użytkownika specyfikację modelowanego obiektu ’fGARCH’.

Listing 27: Formuła dopasowanego modelu.1 formula ( f i t )

Listing 28: Formuła dopasowanego modelu - wyjście.1 data ~ garch (1 , 1)2 a t t r ( , " data " )3 [ 1 ] " data␣=␣dane . zwroty "4 <environment : 0 x00000000074fe8b8>

• plotFunkcja ta pozwala na wyświetlenie 13 wykresów.

Listing 29: Generowanie wykresów.1 p l o t ( f i t )

Listing 30: Generowanie wykresów - wybór typu wykresu.1 Make a p l o t s e l e c t i o n ( or 0 to e x i t ) :2 1 : Time S e r i e s3 2 : Cond i t iona l SD4 3 : S e r i e s with 2 Condi t iona l SD Superimposed5 4 : ACF of Observat ions6 5 : ACF of Squared Observat ions7 6 : Cross Cor r e l a t i on8 7 : Res idua l s9 8 : Cond i t iona l SDs

10 9 : Standardized Res idua l s11 10 : ACF of Standardized Res idua l s12 11 : ACF of Squared Standardized Res idua l s13 12 : Cross Cor r e l a t i on between r ^2 and r14 13 : QQ−Plot o f Standardized Res idua l s

Jeżeli jest potrzebne wykonanie tylko jednego, konkretnego wykresu, można określić jegotyp już przy pierwszym wywołaniu funkcji, np. dla wykresu funkcji ACF dla kwadratówobserwacji:

Listing 31: Wykres funkcji ACF dla kwadratów obserwacji.1 p l o t ( f i t , which = 5)

29

Page 33: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• residualsZwraca reszty z dopasowanego obiektu ’fGARCH’.

• volatilityZwraca wartości warunkowych odchyleń standardowych (zmienności) z dopasowanego obiektu’fGARCH’.

• summaryWyświetla podsumowanie dla obiektu klasy ’fGarch’.

Listing 32: Podsumowanie dla obiektu klasy ’fGarch’.1 summary( f i t )

Wyjście tej funkcji zawiera kolejno tytuł, wywołanie funkcji garchFit, formuły dla średniej iwariancji, typ rozkładu warunkowego oraz wyestymowane współczynniki modelu.

1 T i t l e :2 GARCH Model l ing34 Cal l :5 garchFit ( formula = ~garch (1 , 1) , data = dane . zwroty , t r a c e = FALSE

)67 Mean and Variance Equation :8 data ~ garch (1 , 1)9 <environment : 0 x00000000074fe8b8>

10 [ data = dane . zwroty ]1112 Condi t iona l D i s t r i bu t i on :13 norm1415 Co e f f i c i e n t ( s ) :16 mu omega alpha1 beta117 3 .5724 e−04 1 .6362 e−06 4 .9687 e−02 9 .1892 e−01

Kolejną częścią podsumowania są błędy standardowe estymatorów oraz analiza istotnościstatystycznej współczynników.

1 Std . Errors :2 based on Hess ian34 Error Ana lys i s :5 Estimate Std . Error t va lue Pr(>| t | )6 mu 3.572 e−04 2 .115 e−04 1 .689 0 .0911 .7 omega 1 .636 e−06 6 .576 e−07 2 .488 0 .0128 ∗8 alpha1 4 .969 e−02 1 .272 e−02 3 .907 9 .33 e−05 ∗∗∗9 beta1 9 .189 e−01 2 .215 e−02 41 .483 < 2e−16 ∗∗∗

30

Page 34: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

10 −−−11 S i g n i f . codes : 0 ‘ ∗∗∗ ’ 0 .001 ‘ ∗∗ ’ 0 .01 ‘ ∗ ’ 0 .05 ‘ . ’ 0 . 1 ‘ ’ 1

Na samym końcu znajdują się testy dla reszt z dopasowanego modelu.

1 Standard ised Res idua l s Tests :2 S t a t i s t i c p−Value3 Jarque−Bera Test R Chi^2 165.9979 04 Shapiro−Wilk Test R W 0.983242 2.397285 e−095 Ljung−Box Test R Q(10) 8 .299257 0.59963126 Ljung−Box Test R Q(15) 11.94097 0.68349147 Ljung−Box Test R Q(20) 13.68678 0.84601528 Ljung−Box Test R^2 Q(10) 12.67968 0.24213659 Ljung−Box Test R^2 Q(15) 17.72584 0.2773531

10 Ljung−Box Test R^2 Q(20) 18.52522 0.552851311 LM Arch Test R TR^2 12.68255 0.39252991213 In format ion Cr i t e r i on S t a t i s t i c s :14 AIC BIC SIC HQIC15 −7.080638 −7.061100 −7.080669 −7.073215

5.2.3 Prognozowanie

Metoda predict działająca na bazie modelu garchFit zwraca tabelę danych z następującymi ko-lumnami: ’meanForecast’, ’meanError’ i ’standardDeviation’. Liczba wyników jest równa liczbiekroków prognozowania n.ahead.

1 p r ed i c t ( f i t , n . ahead=100)

1 meanForecast meanError standardDeviat ion2 1 0.0003572424 0.009253850 0.0092538503 2 0.0003572424 0.009196835 0.0091968354 3 0.0003572424 0.009141271 0.0091412715 4 0.0003572424 0.009087127 0.0090871276 5 0.0003572424 0.009034373 0.0090343737 6 0.0003572424 0.008982980 0.0089829808 7 0.0003572424 0.008932918 0.0089329189 8 0.0003572424 0.008884159 0.00888415910 9 0.0003572424 0.008836673 0.00883667311 10 0.0003572424 0.008790434 0.008790434

Dodając polecenie plot=TRUE uzyskamy wykres z prognozą, jak na rysunku 11, który wyko-nano dla n.ahead=100.

Możliwe jest również stworzenie prognozy dla zmienności.

1 daty<−1 :10062 T <− l ength ( dane . zwroty )

31

Page 35: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 11: Prognoza garchFit GARCH(1,1)

34 s i g <− f i t@s igma . t5 h <− 1006 f c s t <− p r ed i c t ( f i t , h )7 daty . f c s t <− 1007:11078 s i g . f c s t <− c ( s i g [T] , f c s t [ , 3 ] )910 p l o t ( daty , s i g , type=" l " , xl im=c ( daty [ 8 0 0 ] , daty . f c s t [ h+1]) )11 l i n e s ( daty . f c s t , s i g . f c s t , l t y =2, c o l=’ red ’ )

Otrzymany w ten sposób wykres 12: Uzyskane wyniki wskazują na spadek warunkowego odchyleniastandardowego w okresie prognozy. W efekcie następuje również zwężenie przedziałów ufności dlaprognozy przedziałowej dla zwrotów logarytmicznych.

Wybór modelu może mieć wpływ na postać prognozy i szerokość przedziałów ufności. Narysunku 13 przedstawiamy porównanie prognozowanego szeregu, natomiast na wykresie 14 znajdujesię zestawienie wykresów warunkowego odchylenia standardowego dla modeli:

• ARCH(1)

• ARCH(4)

• GARCH(1,2)

• GARCH(2,2)

Na wykresach prognoz zauważalna jest wyraźna różnica dla modeli ARCH i GARCH. Przedziałyufności dla modeli ARCH praktycznie utrzymują się na stałym poziomie. W modelach GARCH

32

Page 36: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 12: Prognoza garchFit GARCH(1,1) dla odchylenia standardowego

Rysunek 13: Prognoza garchFit

przedziały maleją do ustalonego stałego poziomu (wyznaczonego prawdopodobnie dla bezwarunko-wej wariancji). Porównując między sobą model ARCH(1) i ARCH(4) oraz następnie GARCH(1,2)

33

Page 37: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

i GARCH(2,2), zauważalna jest różnica jedynie na samym początku prognozy. Bardziej skompli-kowany z każdej pary modeli, daje bardziej dokładną prognozę w tym okresie. Dla późniejszychprognoz są one już identyczne.

Rysunek 14: Prognoza garchFit dla warunkowego odchylenia standardowego

Wnioski dla wykresów prognozowanego odchylenia standardowego są praktycznie identyczne,jak dla wykresów zwrotów logarytmicznych, ponieważ to właśnie odchylenie standardowe decydujeo kształcie przedziałów ufności w tym modelu.

Ostatnią częścią biblioteki fGarch są funkcje do modelowania standardowych rozkładów:

• [dpqr]norm rozkład normalny,

• [dpqr]snorm skośny rozkład normalny,

• [s]normFit estymuje parametry (skośnego) rozkładu normalnego,

• [dpqr]ged Generalized Error distribution function,

• [dpqr]sged skośny rozkład GED,

• [s]gedFit estymuje parametry (skośnego) rozkładu GED,

• [dpqr]std rozkład t-Studenta,

• [dpqr]sstd skośny rozkład t-Studenta,

• [s]stdFit estymuje parametry (skośnego) rozkładu t-Studenta,

• absMoments oblicza bezwzględne momenty tych rozkładów.

34

Page 38: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

5.3 Biblioteka rugarchPakiet rugarch ma na celu zapewnienie kompleksowego zestawu metod modelowania procesówGARCH, w tym narzędzi pozwalających na: dopasowywanie modelu, prognozowanie, symulacje,jak i narzędzi diagnostycznych zawierających wykresy i różnorodne testy statystyczne. Dodatkowemetody takie jak ’rolling estimation’, prognozowanie bootstrap i estymacja gęstości zapewniająbogate środowisko do modelowania procesów. Opis paczki powstał na podstawie publikacji [20],[19] oraz [26].

5.3.1 Symulowanie danych

Biblioteka rugarch zawiera także użyteczne funkcje, które można wykorzystać do symulacji modeli.Symulacja może być przeprowadzana bazując bezpośrednio na dopasowanym obiekcie (ugarchsim)lub na bazie specyfikacji GARCH z dopasowanymi parametrami (ugarchpath).

• ugarchsim

Listing 33: Argumenty funkcji ugarchsim.1 func t i on ( f i t , n . sim = 1000 , n . s t a r t = 0 , m. sim = 1 , startMethod =

c ( " uncond i t i ona l " , " sample " ) , presigma = NA, pre r e tu rn s = NA,p r e r e s i d u a l s = NA, r seed = NA, custom . d i s t = l i s t (name = NA,d i s t f i t = NA) , mexsimdata = NULL, vexsimdata = NULL, . . . )

2 NULL

n.sim wskazuje długość symulacji, natomiast m.sim liczbę niezależnych symulacji.

Listing 34: Symulacja szeregu czasowego w oparciu o dane rzeczywiste1 spec <− ugarchspec ( var i ance . model=l i s t (model="sGARCH" , garchOrder=

c (1 , 1 ) ) , mean . model=l i s t ( armaOrder=c (0 , 0 ) ) )2 f i t <− uga r ch f i t ( spec=spec , data=dane . zwroty , )3 sim <− ugarchsim ( f i t , n . sim=1000 , n . s t a r t =1, m. sim=1, startMethod="

sample " )4 sim5 p lo t ( sim , which=" a l l " )

Listing 35: Symulacja szeregu czasowego w oparciu o dane rzeczywiste.1 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗2 ∗ GARCH Model S imulat ion ∗3 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗4 Model : sGARCH5 Horizon : 10006 S imulat ions : 17 Seed Sigma2 .Mean Sigma2 .Min Sigma2 .Max8 sim1 2 .29 e+08 5 .27 e−05 3 .03 e−05 0.0001199 Mean( Al l ) 0 .00 e+00 5 .27 e−05 3 .03 e−05 0.000119

10 Actual 0 .00 e+00 5 .20 e−05 2 .70 e−05 0.000181

35

Page 39: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

11 Uncondit . 0 .00 e+00 5 .19 e−05 NA NA12 S e r i e s .Mean S e r i e s .Min S e r i e s .Max13 sim1 0.000298 −0.0213 0 .020014 Mean( Al l ) 0 .000298 −0.0213 0 .020015 Actual 0 .000241 −0.0335 0 .025216 Uncondit iona l 0 .000373 NA NA

Możliwe jest również stworzenie czterech wykresów widocznych na rysunku 15.

Listing 36: Wykonanie wykresów.1 1 : Cond i t iona l SD Simulat ion Path2 2 : Return S e r i e s S imulat ion Path3 3 : Cond i t iona l SD Simulat ion Density4 4 : Return S e r i e s S imulat ion Path Density

Rysunek 15: Symulacja modelu GARCH(1,1) dla danych rzeczywistych

Możliwe argumenty zadane funkcji ugarchsim to m.in.:

– n.sim - horyzont symulacji,– m.sim - liczba symulacji,– startMethod - ’unconditional’ dla symulacji opartych na zadanym rozkładzie, ’sample’

dla symulacji opartej na danych,– presigma - początkowa wartość σ,– prereturns - początkowe wartości zwrotów,

36

Page 40: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

– preresiduals - początkowe wartości reszt,– custom.dist - rozkład symulowanych danych.

• ugarchpathW celu użycia funkcji ugarchpath należy najpierw stworzyć specyfikację (szczegóły w opisiefunkcji przeznaczonych do dopasowywania modelu).

Listing 37: Specyfikacja ARCH.1 l i b r a r y ( rugarch )2 arch1 . spec<−ugarchspec ( var i ance . model=l i s t ( garchOrder=c (1 , 0 ) ) , mean

. model = l i s t ( armaOrder=c (0 , 0 ) ) , f i x e d . pars=l i s t (mu = 0 , omega=0.1 , alpha1 =0.8) )

Listing 38: Symulacja szeregu czasowego o 1000 obserwacjach.1 arch1 . sim <− ugarchpath ( arch1 . spec , n . sim=1000)2 p l o t ( arch1 . sim , which=" a l l " )

Listing 39: Otrzymana symulacja.1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗2 ∗ GARCH Model Path Simulat ion ∗3 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗4 Model : sGARCH5 Horizon : 10006 S imulat ions : 17 Seed Sigma2 .Mean Sigma2 .Min Sigma2 .Max8 sim1 86820091 0 .383 0 .1 6 .779 Mean( Al l ) 0 0 .383 0 .1 6 .77

10 Cncondi t iona l NA 0.500 NA NA11 S e r i e s .Mean S e r i e s .Min S e r i e s .Max12 sim1 −0.012 −2.77 2 .8913 Mean( Al l ) −0.012 −2.77 2 .8914 Uncondit iona l 0 .000 NA NA

Możliwe jest również utworzenie czterech wykresów (widocznych na rysunku 16:

Listing 40: Możliwe wykresy.1 1 : Cond i t iona l SD Simulat ion Path2 2 : Return S e r i e s S imulat ion Path3 3 : Cond i t iona l SD Simulat ion Density4 4 : Return S e r i e s S imulat ion Path Density

Funkcja ugarchpath może przyjmować większą liczbę argumentów niż pokazane w przykła-dzie, w tym m.in.:

– m.sim - liczba symulacji,

37

Page 41: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 16: Symulacja modelu ARCH(1)

– presigma - początkowa wartość σ,– prereturns - początkowe wartości zwrotów,– preresiduals - początkowe wartości reszt,– custom.dist - rozkład symulowanych danych.

5.3.2 Dopasowanie modelu

Podstawową funkcją dopasowującą model jest ugarchfit. Warto skorzystać również z funkcjiugarchspec pozwalającej doprecyzować specyfikację modelu.

Listing 41: Dostępne argumenty dla ugarchspec.1 l i b r a r y ( rugarch )2 args ( ugarchspec )

Listing 42: Dostępne argumenty dla ugarchspec.1 func t i on ( var i ance . model = l i s t (model = "sGARCH" , garchOrder = c (1 , 1 ) ,

submodel = NULL, ex t e rna l . r e g r e s s o r s = NULL, var iance . t a r g e t i n g =FALSE) ,

2 mean . model = l i s t ( armaOrder = c (1 , 1) , i n c lude .mean = TRUE, archm =FALSE, archpow = 1 , ar f ima = FALSE, ex t e rna l . r e g r e s s o r s = NULL,archex = FALSE) ,

3 d i s t r i b u t i o n . model = "norm" , s t a r t . pars = l i s t ( ) ,4 f i x ed . pars = l i s t ( ) , . . . )

38

Page 42: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

5 NULL

Możliwe jest wybranie jednego z następujących modeli dla warunkowej wariancji (przy pomocyargumentu model):

• sGARCH - standardowy GARCH, model domyślny,

• iGARCH,

• eGARCH,

• gjrGARCH,

• apARCH,

• fGARCH.

Argument garchOrder określa parametry (rzędy) modelu, domyślnie jest to wektor c(1,1). Ko-rzystając z rodziny modeli fGARCH ważne jest określenie argumentu submodel. Jego domyślneustawienie to NULL, ale dostępne są również wybory:

• GARCH,

• TGARCH,

• GJRGARCH,

• AVGARCH,

• NGARCH,

• NAGARCH,

• APARCH,

• ALLGARCH.

Możliwe jest również włączenie opcji variance.targeting oraz external.regressors, które do-myślnie nie są aktywne.

Kolejnym argumentem jest lista opcji dla modelu średniej. Możliwe jest wskazanie parametrów(rzędów) modelu ARMA (domyślnie c(1,1)), określenie czy ma być uwzględniona wartość średnia(domyślnie tak), archm określenie czy ma być uwzględniona zmienność ARCH w regresji średniej(domyślnie nie), archpow wybór odchylenia standardowego (domyślnie = 1) albo wariancji do re-gresji ARCH in mean. Argumenty start.pars i fixed.pars pozwalają określić część z początkowychlub stałych parametrów. Przyjmuje się tu konwencję w nazewnictwie:

• ’alpha1’, ’alpha2’, ... parametry modelu ARCH(q),

• ’beta1’, ’beta2’,... parametry modelu GARCH(p),

• ’omega’ parametr stałej wariancji.

Ponadto dla bardziej skomplikowanych modeli pojawiają się dodatkowe parametry:

39

Page 43: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• ’gamma1’ parametr asymetryczności (GJR, EGARCH, APARCH)

• ’delta’ parametr mocy (APARCH)

• ’eta11’ pierwszy parametr asymetryczności (rotacja) (FGARCH)

• ’eta21’ drugi parametr asymetryczności (przesunięcie) (FGARCH)

• ’delta’ pierwszy parametr mocy(shock) (FGARCH)

• ’lambda’ drugi parametr mocy(variance) (FGARCH)

Bardzo przydatnym argumentem jest distribution.model początkowo wskazujący na rozkład nor-malny(’norm’). Pozostałe możliwości:

• ’snorm’ - skośny rozkład normalny,

• ’std’ - rozkład t-Studenta,

• ’sstd’ - skośny rozkład t-Studenta,

• ’ged’ - rozkład GED,

• ’sged’ - skośny rozkład GED.

Możliwe jest również ustalenie parametrów rozkładu poprzez argument fixed.pars=list(...).Liczbę stopni swobody dla rozkładu t-Studenta ustala się poprzez przypisanie wartości do zmiennejshape.

Biblioteka ta umożliwia również modelowanie GARCH-M.

Listing 43: Przykładowe specyfikacje [3] .1 spec .eGARCH = ugarchspec ( var i ance . model=l i s t (model="eGARCH" , garchOrder

=c (1 , 1 ) ) ,2 mean . model=l i s t ( armaOrder=c (1 , 1 ) , i n c lude .mean=TRUE,

garchInMean = FALSE,3 inMeanType = 1) , d i s t r i b u t i o n . model=" std " )4 spec .eGARCHm. std = ugarchspec ( var i ance . model=l i s t (model="eGARCH" ,

garchOrder=c (1 , 1 ) ) ,5 mean . model=l i s t ( armaOrder=c (1 , 1 ) , i n c lude .mean=TRUE,

garchInMean = TRUE,6 inMeanType = 1) , d i s t r i b u t i o n . model=" std " )7 spec .eGARCHm. var = ugarchspec ( var i ance . model=l i s t (model="eGARCH" ,

garchOrder=c (1 , 1 ) ) ,8 mean . model=l i s t ( armaOrder=c (1 , 1 ) , i n c lude .mean=TRUE,

garchInMean = TRUE,9 inMeanType = 2) , d i s t r i b u t i o n . model=" std " )

Po wyborze odpowiednich argumentów warto zapisać je w wektorze spec:

1 spec<−ugarchspec ( )2 spec

40

Page 44: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Listing 44: Specyfikacja tworzonego modelu(domyślnego).1 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗2 ∗ GARCH Model Spec ∗3 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗45 Condi t iona l Variance Dynamics6 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−7 GARCH Model : sGARCH(1 ,1 )8 Variance Target ing : FALSE910 Condi t iona l Mean Dynamics11 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−12 Mean Model : ARFIMA(1 , 0 , 1 )13 Inc lude Mean : TRUE14 GARCH−in−Mean : FALSE1516 Condi t iona l D i s t r i bu t i on17 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−18 D i s t r i bu t i on : norm19 Inc lude s Skew : FALSE20 Inc lude s Shape : FALSE21 Inc lude s Lambda : FALSE

Chcąc uzyskać czysty model GARCH(1,1) należy użyć specyfikacji:

1 garch11 . spec<−ugarchspec ( var i ance . model=l i s t ( garchOrder=c (1 , 1 ) ) , mean .model=l i s t ( armaOrder=c (0 , 0 ) ) )

Teraz możliwe jest dopasowanie modelu do danych (powracamy do modelu domyślnego).

Listing 45: Dopasowanie domyślnego modelu do danych.1 uga r ch f i t ( spec , dane . zwroty )

Nie dla każdych danych wykonywanie się funkcji zostanie zakończone poprawnie. Najczęstszymbłędem jest:

1 I t e r : 1 fn : −7659.3402 Pars : −0.0004496 0.0002867 0.47116222 solnp−−> So lu t i on not r e l i a b l e . . . . Problem Inve r t i ng Hess ian .

Jest to problem zbieżności. Może być on wywołany przez obserwacje odstające. Użyteczna okazujesię funkcja Return.clean z biblioteki PerformanceAnalytics, jednak zastosowanie jej może byćze szkodą dla dokładności dopasowanego modelu.

Jeśli proces przebiegł pomyślnie otrzymuje się wyjście:

1 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗2 ∗ GARCH Model F i t ∗3 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗4

41

Page 45: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

5 Condi t iona l Variance Dynamics6 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−7 GARCH Model : sGARCH(1 ,1 )8 Mean Model : ARFIMA(1 , 0 , 1 )9 D i s t r i bu t i on : norm1011 Optimal Parameters12 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−13 Estimate Std . Error t va lue Pr(>| t | )14 mu 0.000354 0.000123 2 .8843 0.00392315 ar1 0.952395 0.036383 26.1766 0.00000016 ma1 −0.973508 0.026619 −36.5717 0.00000017 omega 0.000002 0.000001 2 .4890 0.01281018 alpha1 0.047355 0.012370 3 .8283 0.00012919 beta1 0.922903 0.021314 43.3008 0.0000002021 Robust Standard Errors :22 Estimate Std . Error t va lue Pr(>| t | )23 mu 0.000354 0.000134 2 .6418 0.00824724 ar1 0.952395 0.035550 26.7906 0.00000025 ma1 −0.973508 0.026039 −37.3865 0.00000026 omega 0.000002 0.000001 1 .7872 0.07390527 alpha1 0.047355 0.015330 3 .0890 0.00200928 beta1 0.922903 0.024976 36.9513 0.0000002930 LogLike l ihood : 3567.7863132 In format ion C r i t e r i a33 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3435 Akaike −7.081136 Bayes −7.051837 Shibata −7.081238 Hannan−Quinn −7.06993940 Q−S t a t i s t i c s on Standardized Res idua l s41 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−42 s t a t i s t i c p−value43 Lag10 5 .787 0 .671144 Lag15 9 .871 0 .704445 Lag20 11 .354 0 .87874647 H0 : No s e r i a l c o r r e l a t i o n4849 Q−S t a t i s t i c s on Standardized Squared Res idua l s50 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

42

Page 46: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

51 s t a t i s t i c p−value52 Lag10 13 .20 0 .105053 Lag15 18 .03 0 .156554 Lag20 18 .89 0 .3987

W podsumowaniu, oprócz współczynników modelu i wyliczonych dla nich wartości błędów, znajdująsię także kryteria doboru modelu oraz testy dla reszt. Są to m. in. testy zatytułowane "Q-Statisticson Standardized (Squared) Residuals". Sprawdzają on występowanie efektów ARCH/GARCH wresztach. Odczytano, że p-wartości dla szeregu reszt, jak i ich kwadratów, są istotnie większe odpoziomu α = 0, 05, czyli nie stwierdzono występowania korelacji w tych szeregach.

1 ARCH LM Tests2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 S t a t i s t i c DoF P−Value4 ARCH Lag [ 2 ] 1 .459 2 0 .48215 ARCH Lag [ 5 ] 3 .917 5 0 .56156 ARCH Lag [ 1 0 ] 13 .208 10 0 .212378 Nyblom s t a b i l i t y t e s t9 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−10 Jo int S t a t i s t i c : 34 .214711 Ind i v i dua l S t a t i s t i c s :12 mu 0.4501713 ar1 0 .0519514 ma1 0.0456615 omega 3.1089216 alpha1 0.4177217 beta1 0 .234091819 Asymptotic C r i t i c a l Values (10% 5% 1%)20 Jo int S t a t i s t i c : 1 .49 1 .68 2 .1221 Ind i v i dua l S t a t i s t i c : 0 .35 0 .47 0 .75

W tej części podsumowania warto zwrócić uwagę na test ARCH-LM (opisany we wcześniejszej częściraportu) oraz test stabilności współczynników (Nyblom stability test).

1 Sign Bias Test2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 t−value prob s i g4 Sign Bias 1 .4796 0 .13935 Negative Sign Bias 0 .7854 0 .43246 Po s i t i v e Sign Bias 0 .6568 0 .51147 Jo int E f f e c t 5 .7343 0 .12538910 Adjusted Pearson Goodness−of−Fit Test :11 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−12 group s t a t i s t i c p−value ( g−1)

43

Page 47: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

13 1 20 51 .73 7 .252 e−0514 2 30 69 .53 3 .519 e−0515 3 40 71 .53 1 .142 e−0316 4 50 86 .15 8 .274 e−04171819 Elapsed time : 0 .434025

Ostatnia część podsumowania zawiera Sign Bias Test, który można uznać za test efektu dźwigni.W przypadku analizowanych danych nie stwierdzono jego występowania. Znajduje się tutaj też testpoprawności dopasowania rozkładu, tzw. Adjusted Pearson Goodness-of-Fit Test. Otrzymane p-wartości są wyraźnie mniejsze od poziomu istotności, co oznacza zdecydowanie odrzucenie hipotezyo normalności rozkładu!

Chcąc uzyskać tylko niektóre z powyższych wyników można zastosować konkretne metody dzia-łające na obiekcie ugarchfit:

• as.data.frameZestawia razem pozycje (daty), dane, wartości dopasowane, reszty i warunkowe wartości σ.

Listing 46: Zestawienie dla modelu.1 f i t<−uga r ch f i t ( spec , data=dane . zwroty )2 as . data . frame ( f i t )

• coefWyświetla wyestymowane współczynniki modelu.

Listing 47: Współczynniki dopasowanego modelu.1 co e f ( f i t )

Listing 48: Coef - wynik działania funkcji.1 mu ar1 ma12 3.538342 e−04 9.523951 e−01 −9.735079e−0134 omega alpha1 beta15 1.536401 e−06 4.735490 e−02 9.229029 e−01

• vcovZwraca kowariancję parametrów.

• infocriteriaZwraca wartości kryteriów oceniających dopasowanie modelu (Akaike, Bayes, Shibata, Hannan-Quinn).

44

Page 48: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• signbiasWylicza test znaków Engle’a i Ng. Sprawdza on obecność efektu dźwigni w resztach (pozwalato wychwycić złą specyfikację modelu).

• gofOblicza test chi-kwadrat poprawności dopasowania, który porównuje empiryczny rozkład stan-dardowych reszt z rozkładem teoretycznym. Realizacja jest oparta na teście Palm’a.

• sigmaWyodrębnia warunkową wartość σ.

Listing 49: Wykres warunkowej wariancji.1 p l o t . t s ( sigma ( f i t ) ^2 , ylab=" sigma ( t ) ^2 " , c o l=" blue " )

Wykres będący wyjściem tej funkcji znajduje się na rysunku 17.

Rysunek 17: Wykres warunkowej wariancji modelu

• fittedWyodrębnia dopasowane wartości modelu.

• residualsZwraca reszty z dopasowanego modelu.

• getspecZwraca specyfikację danego modelu.

45

Page 49: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• newsimpactWyznacza krzywą wpływu wiadomości(news impact curve), która obrazuje wpływ pozytyw-nych i negatywnych wieści na odchylenie standardowe.

• uncvarianceZwraca bezwarunkową wariancję dla obiektu typu ugarchfit.

Listing 50: Wyznaczenie bezwarunkowej wariancji.1 uncvar iance ( f i t )

Listing 51: Bezwarunkowa wariancja dla obiektu.1 uncond i t i ona l2 5 .165727 e−05

Dla modelu GARCH(1,1) wyliczana jest ze wzoru ωα1+β1

.

• persistenceOblicza i zwraca wskaźnik trwałości utrzymania się efektów heteroskedastycznych dla dopa-sowanego modelu GARCH. Dla standardowego modelu GARCH jest wyznaczany ze wzoru:P =

∑qi=1 αi +

∑pi=1 βi.

• plotGeneruje wybrane wykresy dla modelu.

1 p l o t ( f i t )

Listing 52: Wykresy możliwe do wygenerowania.1 Make a p l o t s e l e c t i o n ( or 0 to e x i t ) :23 1 : S e r i e s with 2 Condi t iona l SD Superimposed4 2 : S e r i e s with 2.5% VaR Limits ( with uncond i t i ona l mean)5 3 : Cond i t iona l SD6 4 : ACF of Observat ions7 5 : ACF of Squared Observat ions8 6 : ACF of Absolute Observat ions9 7 : Cross Cor r e l a t i on

10 8 : Empir ica l Density o f Standardized Res idua l s11 9 : QQ−Plot o f Standardized Res idua l s12 10 : ACF of Standardized Res idua l s13 11 : ACF of Squared Standardized Res idua l s14 12 : News−Impact Curve

W celu przedstawienia wszystkich wykresów na jednym obrazku można wykorzystać polecenie:

46

Page 50: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Listing 53: Wykonanie wszystkich możliwych wykresów.1 p l o t ( f i t , which=" a l l " )

Wyjście przedstawiono na wykresie 18.

Rysunek 18: Wykresy modelu ugarchfit

Bardzo przydatny jest wykres kwantylowy dla reszt (numer 9). Pozwala on wizualnie ocenićdopasowanie rozkładu. W naszym przypadku 19 widać, że wybór rozkładu normalnego niebył prawidłowy.

• showWyświetla podsumowanie modelu ugarchfit.

5.3.3 Prognozowanie

Po dopasowaniu modelu i sprawdzeniu jego poprawności pozostaje do wykonania najciekawszaczęść, czyli prognozowanie. Służy do tego funkcja ugarchforecast. Dla lepszego zobrazowaniamożliwości funkcji przyjmiemy bardziej rozbudowany model:

Listing 54: Prognozowanie.1 f i t<−uga r ch f i t ( spec , dane . zwroty , out . sample = 50 , s o l v e r = " so lnp " )2 f o r e c a s t<−uga r ch f o r e ca s t ( f i t , data = NULL, n . ahead = 100 , n . r o l l = 50 ,

out . sample = 50 , ex t e rna l . f o r e c a s t s = l i s t ( mregfor = NULL, v r e g f o r =NULL) )

3 p l o t ( f o r e c a s t )

Możliwe jest wykonanie następujących wykresów:

47

Page 51: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 19: Wykres kwantyl-kwantyl dla reszt

Listing 55: Dostępne typy wykresów.1 1 : Time S e r i e s Pred i c t i on ( uncond i t i ona l )2 2 : Time S e r i e s Pred i c t i on ( r o l l i n g )3 3 : Cond i t iona l SD Pred i c t i on

Przedstawiono je kolejno na wykresach: 20,21 oraz 22.

Rysunek 20: Prognoza dla średniej szeregu.

48

Page 52: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 21: Prognoza dla szeregu(rolling)

Rysunek 22: Prognoza dla warunkowego odchylenia standardowego

Niektóre metody dostępne dla obiektu ugarchforecast:

• as.list zwraca prognozę w postaci listy,

• plot opisana powyżej,

• fpm miara wydajności prognozy,

49

Page 53: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

• show podsumowanie dla prognozy,

Listing 56: Podsumowanie prognozy.1 show ( f o r e c a s t . f i t )

Listing 57: Uzyskane podsumowanie(początkowe wartości).1 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗2 ∗ GARCH Model Forecast ∗3 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗4 Model : sGARCH5 Horizon : 1006 Rol l Steps : 07 Out o f Sample : 089 0− r o l l f o r e c a s t :

10 sigma s e r i e s11 2008−01−01 0.009271 0.000887612 2008−01−02 0.009216 0.000862113 2008−01−03 0.009163 0.000837814 2008−01−04 0.009111 0.000814715 2008−01−07 0.009061 0.000792716 2008−01−08 0.009011 0.000771817 2008−01−09 0.008963 0.000751918 . . .

Ponadto w bibliotece rugarch istnieją jeszcze dwie metody prognozowania (są one opisane wpozycji [19]):

• ugarchboot methodMetoda prognozowania oparta na procedurach bootstrap.

1 bootpred = ugarchboot ( f i t , method = " Pa r t i a l " , n . ahead = 120 , n .bootpred = 2000)

2 show ( bootpred )

Listing 58: Uzyskana prognoza.1 ∗ GARCH Bootstrap Forecast ∗2 ∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗3 Model : sGARCH4 n . ahead : 1205 Bootstrap method : p a r t i a l67 S e r i e s ( summary) :8 min q .25 mean q .75 max f o r e c a s t9 t+1 −.057077 −.004221 .000776 .006250 .029179 .000887

50

Page 54: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

10 t+2 −.056388 −.004459 .000672 .006238 .029683 .00086211 t+3 −.063545 −.004911 .000412 .006064 .028640 .00083812 t+4 −.056475 −.004952 .000288 .006067 .027339 .00081513 t+5 −.067507 −.004514 .000187 .005572 .028920 .00079314 t+6 −.053707 −.005076 .000217 .005963 .043195 .00077215 t+7 −.060612 −.004717 .000282 .005840 .028517 .00075216 t+8 −.050638 −.004213 .000582 .005963 .028332 .00073317 t+9 −.056458 −.004422 .000571 .006428 .030830 .00071518 t+10−.054991 −.004496 .000385 .005991 .027115 .00069819 . . . . . . . . . . . . . . . . . . . . .2021 Sigma (summary) :22 min q0 .25 mean q0 .75 max f o r e c a s t23 t+1 .009256 .009256 .009256 .009256 .009256 .00925624 t+2 .008978 .008991 .009189 .009244 .015483 .00920225 t+3 .008714 .008803 .009133 .009265 .017643 .00914826 t+4 .008464 .008672 .009074 .009272 .017332 .00909627 t+5 .008228 .008554 .009007 .009238 .016699 .00904528 t+6 .008006 .008437 .008950 .009218 .018291 .00899529 t+7 .007817 .008354 .008893 .009211 .018826 .00894730 t+8 .007613 .008264 .008857 .009187 .018883 .00889931 t+9 .007462 .008189 .008796 .009162 .018657 .00885332 t+10 .007275 .008102 .008766 .009147 .018161 .00880833 . . . . . . . . . . . . . . . . . . . . .

Wyniki można przedstawić na wykresach korzystając z funkcji plot.

1 p l o t ( bootpred )

Listing 59: Wykresy możliwe do wykonania.1 Make a p l o t s e l e c t i o n ( or 0 to e x i t ) :23 1 : S e r i e s Standard Error P lot s4 2 : Sigma Standard Error P lot s

Wyniki przedstawiono na wykresach 23.Dla obiektu ugarchboot możliwe jest także użycie metody as.data.frame.

• metoda krocząca (rolling method)Metoda ’ugarchroll’ umożliwia wykonywanie estymacji i prognozowania.

Listing 60: Argumenty funkcji ugarchroll.1 func t i on ( spec , data , n . ahead = 1 , f o r e c a s t . l ength = 500 , r e f i t .

every = 25 , r e f i t . window = c ( " r e c u r s i v e " , "moving " ) , p a r a l l e l =FALSE, p a r a l l e l . c on t r o l = l i s t ( pkg = c ( " mul t i co re " , " s now fa l l " ) ,

51

Page 55: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 23: Wykresy prognoz uzyskanych metodą ugarchboot.

c o r e s = 2) , s o l v e r = " so lnp " , f i t . c on t r o l = l i s t ( ) , s o l v e r .c on t r o l = l i s t ( ) , c a l c u l a t e .VaR = TRUE, VaR. alpha = c (0 . 0 1 ,0 . 05 ) , . . . )

2 NULL

5.4 Biblioteka bayesGARCH5.4.1 Dopasowanie modelu

Funkcja bayesGARCH z biblioteki bayesGARCH umożliwia dopasowanie do danych modelu GARCH(1,1)przy wykorzystaniu rozkładu t-Studenta zamiast standardowo stosowanego rozkładu normalnego.W tym przypadku model przyjmuje postać:

εt = zt(ν − 2ν

ω)1/2σt,

σ2t = α0 + α1ε

2t−1 + βσ2

t−1

εt ∼ N (0, 1)

ω ∼ IG(ν2 ,ν

2 )

• dopasowywanie modelu do danych - funkcja bayesGARCH:

Listing 61: Dopasowywanie modelu1 #Dopasowanie do danych modelu GARCH(1 ,1 ) z rozkładem t−Studenta2 l i b r a r y (bayesGARCH)

52

Page 56: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

3 MCMC <− bayesGARCH(10 ∗y , c on t r o l = l i s t ( l . chain = 5000 , n . chain =2) )

Listing 62: Dopasowywanie modelu - wyjście1 chain : 1 i t e r a t i o n : 10 parameters : 0 .01 0 .1 0 .7 74 .35312 chain : 1 i t e r a t i o n : 20 parameters : 0 .01 0 .1 0 .7 59 .24853 chain : 1 i t e r a t i o n : 30 parameters : 0 .01 0 .1 0 .7 64 .85944 . . .5 chain : 2 i t e r a t i o n : 4980 parameters : 3e−04 0 .0684 0 .8692

8 .31376 chain : 2 i t e r a t i o n : 4990 parameters : 4e−04 0 .0719 0 .8627

7 .81827 chain : 2 i t e r a t i o n : 5000 parameters : 3e−04 0 .0797 0 .8717

7 .6573

• sprawdzanie zbieżności - funkcja gelman.diag:

Listing 63: Obliczanie zbieżności1 gelman . diag (MCMC)

Listing 64: Obliczanie zbieżności - wyjście1 Po t en t i a l s c a l e r educt ion f a c t o r s :23 Point e s t . Upper C. I .4 alpha0 1 .01 1 .055 alpha1 1 .02 1 .106 beta 1 .02 1 .087 nu 1 .04 1 .1589 Mul t i va r i a t e p s r f

1011 1 .05

• obliczanie współczynnika odrzucenia - funkcja rejectionRate (w analizie obliczono współczyn-nik akceptacji, czyli 1 - rejectionRate):

Listing 65: Współczynnik odrzucenia1 #Obl i c z en i e współczynnika ak c ep t a c j i :2 1 − r e j e c t i onRa t e (MCMC)

Listing 66: Współczynnik odrzucenia - wyjście1 alpha0 alpha1 beta nu2 0.8912783 0.8912783 0.9592919 1.0000000

53

Page 57: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

W przypadku analizowanych danych uzyskano bardzo wysokie współczynniki akceptacji.

• obliczanie autokorelacji - funkcja autocorr.diag:

Listing 67: Obliczanie autokorelacji1 #Obl i c zan i e a u t o k o r e l a c j i2 autocor r . d iag (MCMC)

Listing 68: Obliczanie autokorelacji - wyjście1 alpha0 alpha1 beta nu2 Lag 0 1.0000000 1.0000000 1.0000000 1.00000003 Lag 1 0.9954521 0.8717948 0.9874428 0.98467044 Lag 5 0.9808467 0.7246859 0.9397578 0.92628885 Lag 10 0.9643653 0.6768208 0.8848683 0.87744966 Lag 50 0.8197684 0.4898070 0.6425131 0.4813554

• usuwanie mocno skorelowanych 2500 przypadków z danych - funkcja formSmpl:

Listing 69: Usuwanie mocno skorelowanych przypadków1 #Odrzucenie s i l n i e skorelowanych 2500 pierwszych przypadków2 smpl <− formSmpl (MCMC, l . b i = 2500 , batch . s i z e = 2)

Listing 70: Usuwanie mocno skorelowanych przypadków - wyjście1 n . chain : 22 l . chain : 50003 l . b i : 25004 batch . s i z e : 25 smpl s i z e : 2500

• uzyskanie podstawowych statystyk dla estymowanych parametrów - funkcja summar:

Listing 71: Podsumowanie1 #Podstawowe s t a t y s t y k i2 summary( smpl )

Listing 72: Podsumowanie - wyjście1 I t e r a t i o n s = 1:25002 Thinning i n t e r v a l = 13 Number o f cha ins = 14 Sample s i z e per chain = 250056 1 . Empir ica l mean and standard dev i a t i on f o r each var i ab l e ,7 p lus standard e r r o r o f the mean :

54

Page 58: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

89 Mean SD Naive SE Time−s e r i e s SE

10 alpha0 0.00032 0.0001092 2 .184 e−06 1 .037 e−0511 alpha1 0.07932 0.0174719 3 .494 e−04 1 .228 e−0312 beta 0 .86473 0.0291923 5 .838 e−04 3 .165 e−0313 nu 7.89461 1.7011562 3 .402 e−02 2 .140 e−011415 2 . Quant i l e s f o r each va r i ab l e :1617 2.5% 25% 50% 75% 97.5%18 alpha0 0.0001517 0.0002417 0.0003067 0.000381 5 .811 e−0419 alpha1 0.0484151 0.0667802 0.0782618 0.090478 1 .173 e−0120 beta 0.7950447 0.8476707 0.8685113 0.885192 9 .130 e−0121 nu 5.4114997 6.6596351 7.6175424 8.924524 1 .156 e+01

55

Page 59: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

6 Kryteria doboru modeluZwiększenie rozmiaru modelu powoduje automatycznie zwiększenie wartości funkcji wiarogodności,a tym samym dopasowanie modelu do danych jest dokładniejsze. Niestety estymacja dużej liczbyparametrów pociąga za sobą większe błędy. Zadaniem analityka jest znalezienie kompromisu po-między wartością funkcji wiarogodności (L), a złożonością modelu. W tym celu stosuje się różnekryteria doboru modelu, w tym m.in.:

• kryterium Akaike:AIC(q) = −2 ln(L) + 2q

• kryterium Schwarza:SC(q) = −2 ln(L) + q ln(N)

Im mniejsza wartość SC(q) lub AIC(q) tym lepiej dopasowany model.Dla biblioteki tseries kryterium AIC można policzyć następująco:

Listing 73: Kryterium AIC1 #Obl i c zan i e kryter ium Akaikego − b i b l i o t e k a t s e r i e s :2 l i b r a r y ( t s e r i e s )3 wynik <− garch ( dane . zwroty , order = c (1 , 1 ) )4 AIC(wynik )

Uzyskany wynik dla notowań DJIA:

Listing 74: Kryterium AIC - wyjście1 [ 1 ] −7043.574

W przypadku biblioteki fGarch:

Listing 75: Kryteria1 #Dopasowanie modelu do danych2 l i b r a r y ( fGarch )3 arch <− garchFit (~garch (1 , 0 ) , data=IBM. zwroty . dz ien )45 #Obl i c z en i e kryter iów dopasowania modelu6 arch@f i t $ i c s

Na wyjściu podane są różne kryteria: AIC, SIC, BIC, HQIC:

Listing 76: Kryteria - wyjście1 AIC BIC SIC HQIC2 −6.261467 −6.246814 −6.261485 −6.255899

Aby ułatwić wybór odpowiedniego modelu, warto zbudować zestawienia wartości kryteriów dlakolejnych modeli. Kod dla funkcji z biblioteki rugarch wygląda następująco ([26]):

56

Page 60: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

1 #Wyczyszczenie danych z obse rwac j i odsta jących2 l i b r a r y ( Per formanceAnalyt ics )3 dane . zwroty . wyczyszczone <− Return . c l ean ( dane . zwroty , method=" boudt " )45 #Tworzenie z e s t aw i en i a6 arch . order <− 1 :27 arch . names <− paste ( " arch " , arch . order , sep=" " )89 #Dopasowanie modelu ARCH(1) i ARCH(2) .10 arch . l i s t<− l i s t ( )11 f o r (p in arch . order ) {12 arch . spec <− ugarchspec ( var i ance . model = l i s t ( garchOrder=c (p , 0 ) ) ,

mean . model = l i s t ( armaOrder=c (0 , 0 ) ) )13 arch . f i t <− uga r ch f i t ( spec=arch . spec , data=dane . zwroty . wyczyszczone ,

s o l v e r . c on t r o l=l i s t ( t r a c e = 0) )14 arch . l i s t [ [ p ] ] <− arch . f i t15 }16 names ( arch . l i s t )<− arch . names1718 #Wyl iczenie kryter iów ko r zy s t a j ą c z f u nk c j i i n f o c r i t e r i a ( )19 i n f o . mat <− sapply ( arch . l i s t , i n f o c r i t e r i a )20 rownames ( i n f o . mat) <− rownames ( i n f o c r i t e r i a ( arch . l i s t [ [ 1 ] ] ) )21 i n f o . mat

Otrzymane wyjście:

1 arch1 arch22 Akaike −7.042304 −7.0555923 Bayes −7.027650 −7.0360554 Shibata −7.042321 −7.0556245 Hannan−Quinn −7.036736 −7.048169

W przypadku analizowanych danych możliwe było wykonanie obliczeń tylko dla dwóch początko-wych modeli. Oczywiście możliwe jest zwiększenie ilości iteracji.

57

Page 61: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

7 Analiza danych symulowanychAnaliza danych symulowanych pozwoli nam zilustrować działanie opisanych powyżej funkcji i metodoraz sprawdzić ich skuteczność. Skupiono się na bibliotece rugarch.

Na początek wykonamy symulację modelu GARCH(1,1). Wyniki znajdują się one na obrazku24:

Rysunek 24: Symulacja modelu GARCH(1,1)

Przeprowadzono następnie serię testów na normalność rozkładu (ponieważ taki był wykorzystanydo symulacji danych) oraz na występowanie efektów GARCH/ARCH.

Listing 77: Test normalności.1 Jarque Bera Test2 data : as . data . frame ( garch11 . sim )3 X−squared = 0.3749 , df = 2 , p−value = 0.8291

P-wartość jest zdecydowanie większa od przyjętego poziomu istotności α, co daje podstawy doprzyjęcia hipotezy zerowej o normalności rozkładu symulowanych danych. Zgadza się to z przyjętymprzez nas założeniem dotyczącym rozkładu.

W dalszej analizie, wykonano wykresy ACF dla szeregu czasowego oraz dla jego kwadratów(Rys.25), Otrzymane wykresy nie wskazują na występowanie autokorelacji dla analizowanego sze-regu. Dla szeregu kwadratów można przyjąć, że jest ona istotna. Potwierdza to formalny testLjungi-Box’a.

Listing 78: Test Ljungi-Box’a.1 t e s t s t a t p−value

58

Page 62: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 25: ACF dla szeregu i dla kwadratów

2 Lag 5 10.92712 5.284437 e−023 Lag 10 43.23126 4.521176 e−064 Lag 15 58.03949 5.462484 e−075 Lag 20 64.73584 1.285743 e−066 Lag 25 71.69250 2.150545 e−067 Lag 30 72.75354 2.057427 e−058 Lag 35 85.27007 4.421473 e−069 Lag 40 90.07850 1.000175 e−0510 Lag 45 91.07792 5.812373 e−0511 Lag 50 101.75724 2.149542 e−05

Uzyskane wartości są zdecydowanie mniejsze od przyjętego poziomu ufności, dlatego można przyjąćhipotezę o występowaniu autokorelacji dla szeregu kwadratów. Kolejnym przeprowadzonym testemjest test Engle’a LM, który sprawdza występowanie efektów ARCH.

Listing 79: Test Engle’a LM.1 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s23 data : as . data . frame ( garch11 . sim , which = " s e r i e s " )4 Chi−squared = 38 .9839 , df = 12 , p−value = 0.0001059

Odrzucono hipotezę zerową na rzecz hipotezy alternatywnej zakładającej występowanie efektówARCH. Testy te potwierdziły wygenerowanie poprawnego modelu GARCH.

59

Page 63: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Sprawdzono kolejno, czy model GARCH(1,1) jest najlepszym z możliwych modeli.

Listing 80: Wyznaczenie wartości kryteriów dopasowania modelu.1 arch1 arch2 arch3 arch4 arch52 Akaike −5.632603−5.636220−5.637202−5.635647−5.6351343 Bayes −5.617880−5.616589−5.612663−5.606201−5.6007804 Shibata −5.632621−5.636252−5.637252−5.635719−5.6352315 Hannan−Quinn−5.627008−5.628759−5.627876−5.624456−5.62207767 garch11 garch12 garch13 garch14 garch158 Akaike −5.678255−5.676613−5.675488−5.673609−5.6739329 Bayes −5.658624−5.652074−5.646041−5.639255−5.63467010 Shibata −5.678287−5.676663−5.675559−5.673706−5.67405811 Hannan−Quinn−5.670794−5.667286−5.664296−5.660552−5.6590091213 garch21 garch22 garch23 garch24 garch2514 Akaike −5.649364−5.648658−5.648074−5.651989−5.65093415 Bayes −5.624825−5.619211−5.613720−5.612727−5.60676416 Shibata −5.649414−5.648729−5.648171−5.652116−5.65109417 Hannan−Quinn−5.640037−5.637466−5.635017−5.637067−5.6341471819 garch31 garch32 garch33 garch34 garch3520 Akaike −5.649308−5.648603−5.646074−5.650184−5.64952221 Bayes −5.619861−5.614249−5.606812−5.606014−5.60044522 Shibata −5.649379−5.648701−5.646201−5.650344−5.64972023 Hannan−Quinn−5.638116−5.635546−5.631152−5.633397−5.630869

Wszystkie kryteria doboru modelu wskazały, że model GARCH(1,1) jest najlepszy. Jest to oczeki-wany wniosek. Dopasowanie modelu jest widoczne na rysunku 26:

Kolejnym etapem analizy jest sprawdzenie reszt. W tym celu wykonano test normalności:

Listing 81: Test normalności reszt.1 Jarque Bera Test23 data : r e s z t y4 X−squared = 1.8176 , df = 2 , p−value = 0.403

Uzyskany wynik świadczy o resztach pochodzących z rozkładu normalnego.Ostatnim elementem analizy jest prognozowanie. Na rysunku 27 znajduje się wykres z prognozą

warunkowego odchylenia standardowego (zmienności). Natomiast rysunek 28 przedstawia pełnąsymulację.

60

Page 64: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 26: Dopasowanie modelu GARCH(1,1) do danych symulowanych.

Rysunek 27: Prognoza zmienności dla otrzymanego modelu GARCH(1,1)

61

Page 65: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 28: Symulowanie dalszych obserwacji na bazie modelu GARCH(1,1)

62

Page 66: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

8 Analiza danych rzeczywistych

8.1 Opis danychDo dalszej analizy wykorzystano dane rzeczywiste pochodzące z New York Stock Exchange (NYSE).Zdecydowano się na notowania dwóch dużych korporacji: International Business Machines Corpo-ration Inc. (IBM) oraz The Coca-Cola Company (KO).

Analizie zostaną poddane dane pochodzące z różnych okresów oraz z różną częstotliwością:

• dane z lat 2004 - 2008 (częstotliwość: dzień) – jako stabilne, zarejestrowane przed rozpoczę-ciem się kryzysu finansowego,

• dane z lat 2008 – 2012 (częstotliwość: dzień) – dane zarejestrowane po rozpoczęciu się kryzysufinansowego,

• dane z lat 2004 – 2012 (częstotliwość: dzień) – dane zarejestrowane przed i po kryzysie,

• dane z lat 2004 – 2008 (częstotliwość: tydzień) – uśrednione dane z każdego tygodnia.

Wybór danych z różnych okresów ma za zadanie sprawdzenie odporności badanych modeli nawystępowanie zjawiska kryzysu finansowego. Analizowane notowania spółek pochodzą z końcakażdego dnia (kursy zamknięcia).

Poniżej przedstawione zostały wykresy notowań oraz zwrotów logarytmicznych dla analizowa-nych korporacji:

Rysunek 29: Wykres notowań zamknięcia - IBM

63

Page 67: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 30: Wykres zwrotów logarytmicznych - IBM

Rysunek 31: Wykres notowań zamknięcia - Coca-Cola

8.2 Analiza notowań IBM8.2.1 Zwroty w ujęciu dziennym od 2004 do 2008 roku

Najpierw analizie poddane zostaną zwroty logarytmiczne notowań firmy IBM z okresu od 1 stycznia2004 roku do 31 grudnia 2008 roku. Poniżej przedstawiony został wykres zwrotów:

64

Page 68: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 32: Wykres zwrotów logarytmicznych - Coca-Cola

Rysunek 33: Wykres zwrotów logarytmicznych - IBM (2004 - 2008)

Listing 82: Charakterystyka danych.1 da i l y . r e tu rn s

65

Page 69: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

2 Observat ions 1006.00003 NAs 0.00004 Minimum −0.08665 Quar t i l e 1 −0.00576 Median 0 .00017 Arithmet ic Mean 0.00028 Geometric Mean 0.00019 Quar t i l e 3 0 .006610 Maximum 0.042111 SE Mean 0.000312 LCL Mean ( 0 . 9 5 ) −0.000513 UCL Mean ( 0 . 9 5 ) 0 .000814 Variance 0 .000115 Stdev 0 .010716 Skewness −0.660017 Kurtos i s 5 .9985

Współczynnik skośności wskazuje na niewielką lewostronną skośność, jednak w dalszej analizie niebędziemy brać pod uwagę tego czynnika.

Wartość średnia zwrotów logarytmicznych wynosi 0.0001651804 W celu dostosowania danychdo założeń modeli zwroty logarytmiczne zostały skorygowane o oszacowaną średnią.

Listing 83: Test normalności.1 Jarque Bera Test23 data : IBM. zwroty . dz ien4 X−squared = 1590 .526 , df = 2 , p−value < 2 .2 e−16

Po przeprowadzeniu testu normalności Jarque-Bera otrzymano wartość poziomu krytycznegoznacznie mniejszą od przyjętego poziomu istotności α = 0.05, zatem należy odrzucić hipotezęzerową o normalności rozkładu. Potwierdza to wykres kwantylowy (Rys. 34), z którego dodatkowomożna wnioskować o występowaniu efektu grubych ogonów.

Przy pomocy wykresów tego samego typu sprawdzono następnie dopasowanie danych do roz-kładu t-Studenta dla różnej liczby stopni swobody (2-7),35.

W dalszej analizie przyjmować będziemy rozkład t-Studenta z pięcioma stopniami swobody.Kolejnym etapem analizy jest sprawdzenie autokorelacji danych. Z wykresu 36 można odczytaćbrak znaczącej autokorelacji dla danych.

W przypadku szeregu kwadratów można jednak zauważyć znaczącą autokorelacje (Rys.37).Dodatkowo przeprowadzono dwa formalne testy na występowanie efektów ARCH/GARCH: test

Ljungi-Boxa (dla kwadratów zwrotów) i test Engle’a LM (dla zwrotów).

Listing 84: Test Ljungi-Boxa dla kwadratów.1 t e s t s t a t p−value2 Lag 5 52.18791 4.936624 e−103 Lag 10 56.94686 1.363913 e−084 Lag 15 59.60798 2.945091 e−075 Lag 20 63.52714 1.999053 e−06

66

Page 70: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 34: Wykres kwantyl-kwantyl dla rozkładu normalnego, IBM (2004-2008)

6 Lag 25 65.00780 2.063159 e−057 Lag 30 66.76072 1.299941 e−048 Lag 35 68.50193 6.041568 e−049 Lag 40 69.49454 2.626363 e−0310 Lag 45 70.38199 9.142020 e−0311 Lag 50 72.69859 1.967924 e−02

W przypadku testu Ljungi-Boxa poziomy wartości krytycznych są również w sposób znaczącymniejsze od przyjętego poziomu istotności. Zatem należy odrzucić hipotezę zerową o braku auto-korelacji. Test ten wskazuje również na występowanie efektu grupowania wariancji.

Listing 85: Test Engle’a LM1 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s23 data : IBM. zwroty . dz ien4 Chi−squared = 46 .1765 , df = 12 , p−value = 6.469 e−06

Wynik testu Engle’a LM wskazuje, że istnieją podstawy do odrzucenia hipotezy zerowej o brakuwystępowania efektu ARCH.

Ostatnią zbadaną własnością było istnienie efektów leptokurtozy. Pomocny może być histogram(Rys. 38).

Nie można jednoznacznie ocenić, czy szczyt wykresu funkcji gęstości jest wyższy niż dla rozkładunormalnego.

Po przeprowadzeniu wszystkich testów oraz zbadaniu podstawowych właściwości szeregu czaso-wego, przystąpiono do dopasowania modelu. Wybór najlepszego modelu ułatwi zestawienie wartości

67

Page 71: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 35: Wykresy kwantylowy dla rozkładu t-Studenta, IBM (2004-2008)

kryteriów:

Listing 86: Wyznaczone kryteria doboru modeli.1 arch1 arch2 arch3 arch4 arch52 Akaike 1.355022−0.251149−0.905749−1.293091−1.5009183 Bayes 1.369675−0.231612−0.881327−1.263785−1.4667274 Shibata 1.355004−0.251181−0.905798−1.293162−1.501014

68

Page 72: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 36: Wykres ACF dla szeregu IBM (2004 - 2008).

Rysunek 37: Wykres ACF dla kwadratów szeregu IBM (2004 - 2008).

5 Hannan−Quinn1 .360590−0.243726−0.896470−1.281956−1.487927

69

Page 73: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 38: Histogram dla szeregu IBM (2004 - 2008)

1 garch11 garch12 garch13 garch14 garch152 Akaike −5.727551−5.771046−5.802809−5.811719−5.8167563 Bayes −5.708013−5.746624−5.773502−5.777528−5.7776804 Shibata −5.727583−5.771095−5.802879−5.811815−5.8168815 Hannan−Quinn−5.720128−5.761767−5.791674−5.798728−5.801909

1 garch21 garch22 garch23 garch24 garch252 Akaike −6.113649−6.145671−6.311881−6.273996−6.3337903 Bayes −6.089227−6.116364−6.277690−6.234920−6.2898304 Shibata −6.113698−6.145741−6.311977−6.274121−6.3339485 Hannan−Quinn−6.104370−6.134536−6.298890−6.259149−6.317087

1 garch31 garch32 garch33 garch34 garch352 Akaike −6.108937−6.138251−6.156237−6.300813−6.2377883 Bayes −6.079630−6.104060−6.117161−6.256853−6.1889444 Shibata −6.109008−6.138347−6.156362−6.300971−6.2379845 Hannan−Quinn−6.097802−6.125260−6.141390−6.284110−6.219230

Ze wszystkich policzonych kryteriów wynika, że najlepiej dopasowanymi modelem jest GARCH(2,5).Poza tym można zauważyć, że według wszystkich wyznaczonych kryteriów, każdy z przeanalizowa-nych modeli ARCH jest zdecydowanie gorszy od najsłabszego z modeli GARCH.

Dla wizualizacji różnicy w dopasowaniu modeli przedstawiono wykresy zwrotów oraz warunkoweodchylenia standardowego dla modelu ARCH(5) i GARCH(2,5).

70

Page 74: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 39: Zwroty ARCH(5) i GARCH(2,5) dla szeregu IBM (2004 - 2008)

Porównując wykresy (Rys. 39) widać wyraźną różnicę w szerokości wyznaczonych przedziałów.Przedziały na bazie modelu GARCH(2,5) obejmują większą ilość obserwacji odległych od śred-niej szeregu. Na wykresach zmienności 40 można również zaobserwować istotną przewagę modeluGARCH(2,5). Dla tego modelu zmienność jest dużo lepiej dopasowana do danych rzeczywistych.

Poniżej znajduje się fragment podsumowania dla modelu GARCH(2,5), który został wykorzy-stany do przeprowadzenia dalszej analizy. Podsumowanie zawiera wyliczone współczynniki oraz ichbłędy standardowe.

71

Page 75: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 40: Warunkowe odchylenie standardowe ARCH(5) i GARCH(2,5) - IBM (2004 - 2008)

Listing 87: Fragment podsumowania dla dopasowanego modelu.1 Optimal Parameters2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 Estimate Std . Error t va lue Pr(>| t | )4 mu 0.000000 0.000286 0.00000 1.0000005 omega 0.000000 0.000001 0.20940 0.8341386 alpha1 0.031795 0.008800 3.61292 0.000303

72

Page 76: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

7 alpha2 0.031660 0.004363 7.25617 0.0000008 beta1 0.181617 0.267684 0.67848 0.4974709 beta2 0.183248 0.441378 0.41517 0.67801510 beta3 0.183713 0.861846 0.21316 0.83120111 beta4 0.184432 0.711417 0.25925 0.79544612 beta5 0.186059 0.383523 0.48513 0.62758313 shape 5.000000 NA NA NA1415 Robust Standard Errors :16 Estimate Std . Error t va lue Pr(>| t | )17 mu 0.000000 0.000363 0.00000 1.0000018 omega 0.000000 0.000000 0.29131 0.7708219 alpha1 0.031795 0.031636 1.00501 0.3148920 alpha2 0.031660 0.031468 1.00611 0.3143621 beta1 0.181617 0.269016 0.67512 0.4996022 beta2 0.183248 0.707596 0.25897 0.7956623 beta3 0.183713 1.378204 0.13330 0.8939624 beta4 0.184432 0.994796 0.18540 0.8529225 beta5 0.186059 0.516441 0.36027 0.7186426 shape 5.000000 NA NA NA2728 LogLike l ihood : 3194.896

Po wstępnym wyborze modelu należy skupić się na analizie reszt. Sprawdzamy normalnośćreszt przy pomocy testu Jarque Bera. Otrzymana p-wartość jest znacznie mniejsza od przyjętegopoziomu ufności α = 0, 05, co daje podstawy do odrzucenia hipotezy zerowej o normalności rozkładureszt.

Listing 88: Test normalności reszt.1 Jarque Bera Test23 data : r e s z t y4 X−squared = 1590 .526 , df = 2 , p−value < 2 .2 e−16

Potwierdza to wykres kwantylowy dla reszt (Rys. 41). Sprawdzono również efekt autokorelacjireszt:

1 Q−S t a t i s t i c s on Standardized Res idua l s2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 s t a t i s t i c p−value4 Lag10 12 .44 0 .25675 Lag15 15 .53 0 .41406 Lag20 16 .76 0 .668878 H0 : No s e r i a l c o r r e l a t i o n910 Q−S t a t i s t i c s on Standardized Squared Res idua l s

73

Page 77: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 41: Reszty modelu GARCH(2,5) - IBM (2004 - 2008)

11 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−12 s t a t i s t i c p−value13 Lag10 7 .773 0 .651014 Lag15 8 .937 0 .880815 Lag20 9 .240 0 .9800

Na podstawie zaprezentowanych powyżej wyników można przyjąć, że nie występuje istotna auto-korelacja reszt, ani ich kwadratów.

Możliwe jest teraz wykonanie prognozy dla ustalonego modelu. Prognozy warunkowego odchy-lenia standardowego znajdują się na wykresie (Rys. 42).

Uzyskane wyniki wskazują na stopniowy spadek wariancji warunkowej w okresie prognozy.Ostatnim etapem jest wykonanie symulacji (Rys.43) na podstawie posiadanych danych i przyję-tego modelu.

Na zakończenie zestawimy wykres zwrotów dla dopasowanego modelu GARCH(2,5) wraz z sy-mulowanymi danymi oraz wykres rzeczywistych zwrotów, dla poprzednich i nowych okresów (Rys.44).

Jak widzimy symulacja jest daleka od wykresu rzeczywistego. Model nie poradził sobie z sy-mulacją okresu kryzysu, który zaczął się w 2008 roku, mimo że użyto zaawansowanego modeluGARCH(2,5).

74

Page 78: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 42: Prognoza warunkowego odchylenia standardowego dla modelu GARCH(2,5) - IBM(2004 - 2008).

Rysunek 43: Symulacje dla modelu GARCH(2,5) - IBM (2004 - 2008)

75

Page 79: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 44: Symulacje dla modelu GARCH(2,5) zestawione z wykresem danych rzeczywistych

76

Page 80: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

8.2.2 Zwroty w ujęciu dziennym od 2008 do 2012 roku

Poniżej przedstawiamy tylko najważniejsze wnioski z przeprowadzonej analizy. W wyniku ana-lizy nie stwierdzono normalności rozkładu zwrotów logarytmicznych. Lepsze dopasowanie wykazałrozkład t-Studenta o 4 stopniach swobody. Autokorelacja kwadratów jest wyraźna, dlatego od-powiedniego modelu szukano wśród modeli z klasy GARCH. Kryteria doboru modelu jako najod-powiedniejszy wskazały model GARCH(3,1). Analiza reszt nie wykazała autokorelacji. Wynikówtestów statystycznych nie pozwoliły przyjąć hipotezy o rozkładzie normalnym dla reszt.

Interesująco przedstawia się prognoza wyznaczona na bazie dopasowanego modelu (Rys. 45 ).Przewidywany jest silny wzrost zmienności.

Rysunek 45: Prognoza warunkowego odchylenia standardowego (zmienności) dla modeluGARCH(2,5)

77

Page 81: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

8.2.3 Porównanie dopasowanego modelu dla zwrotów w ujęciu dziennych i tygodniowym od2004 do 2012 roku

Listing 89: Charakterystyka dla zwrotów dziennych.1 da i l y . r e tu rn s2 Observat ions 2015.00003 NAs 0.00004 Minimum −0.08665 Quar t i l e 1 −0.00656 Median 0 .00037 Arithmet ic Mean 0.00038 Geometric Mean 0.00029 Quar t i l e 3 0 .007510 Maximum 0.109011 SE Mean 0.000312 LCL Mean ( 0 . 9 5 ) −0.000313 UCL Mean ( 0 . 9 5 ) 0 .001014 Variance 0 .000215 Stdev 0 .014216 Skewness 0 .012117 Kurtos i s 5 .5242

Listing 90: Charakterystyka dla zwrotów tygodniowych.1 weekly . r e tu rn s2 Observat ions 418.00003 NAs 0.00004 Minimum −0.14955 Quar t i l e 1 −0.01546 Median 0 .00167 Arithmet ic Mean 0.00178 Geometric Mean 0.00129 Quar t i l e 3 0 .017510 Maximum 0.151411 SE Mean 0.001612 LCL Mean ( 0 . 9 5 ) −0.001413 UCL Mean ( 0 . 9 5 ) 0 .004714 Variance 0 .001015 Stdev 0 .031916 Skewness −0.277417 Kurtos i s 4 .0039

Widoczne są istotne rozbieżności w obydwu charakterystykach. Na tej podstawie można przewidy-wać również duże rozbieżności w dalszej analizie danych.

Dla obydwu częstotliwości wyznaczania notowań nie stwierdzono rozkładu normalnego analizo-wanych danych. Występuje w nich natomiast efekt ARCH/GARCH. Do obydwu zbiorów danych

78

Page 82: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

dopasowano rozkład t-Studenta. Dla zwrotów dziennych o 7 stopniach swobody, natomiast dlazwrotów tygodniowych o 3 stopniach swobody.

Modele GARCH(2,1)-GARCH(2,5) dla zwrotów dziennych:

1 garch21 garch22 garch23 garch24 garch252 Akaike −6.025213−6.026385−6.025196−6.024326−6.0230583 Bayes −6.011296−6.009686−6.005713−6.002059−5.9980094 Shibata −6.025225−6.026403−6.025220−6.024357−6.0230985 Hannan−Quinn−6.020105−6.020256−6.018045−6.016153−6.013864

Modele GARCH(2,1)-GARCH(2,5) dla zwrotów tygodniowych:

1 garch21 garch22 garch23 garch24 garch252 Akaike −4.313834−4.312880−4.318031−4.322921−4.3210613 Bayes −4.265562−4.254955−4.250451−4.245687−4.2341734 Shibata −4.314115−4.313285−4.318579−4.323636−4.3219635 Hannan−Quinn−4.294751−4.289981−4.291315−4.292389−4.286712

Dla danych dziennych wybieramy model GARCH(2,2), natomiast dla danych tygodniowych mo-del GARCH(2,4). Przedstawiono dalej wykresy zwrotów logarytmicznych dla notowań dziennych(Rys.46 ) oraz dla notowań tygodniowych (Rys.47). Wykresy zwrotów obrazują dużą przewagęmodelu dopasowanego do danych dziennych. Wyznaczone dla niego przedziały ufności są znaczniewęższe, mimo to zawiera się w nich spora część obserwacji odstających.

Rysunek 46: Zwroty GARCH(2,2) - IBM dzienne (2004 - 2012)

Wyznaczono również wykresy zmienności (warunkowego odchylenia standardowego) dla zwro-tów dziennych (Rys.48 ) i zwrotów tygodniowych (Rys. 49 ). Odchylenia dla zwrotów dziennych

79

Page 83: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 47: Zwroty GARCH(2,4) - IBM tygodniowe (2004 - 2012)

są średnio o połowę mniejsze niż odchylenia dla zwrotów tygodniowych. Przekłada się to na węż-sze przedziały ufności dla notowań dziennych, co zostało już opisane przy analizie poprzednichwykresów.

Dopasowane modele dla GARCH(2,2) i danych dziennych wyglądają następująco:

1 Optimal Parameters2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 Estimate Std . Error t va lue Pr(>| t | )4 mu 0.000485 0.000229 2.122654 0.0337835 omega 0.000007 0.000003 2.798616 0.0051326 alpha1 0.060329 0.017165 3.514550 0.0004407 alpha2 0.103931 0.026365 3.941990 0.0000818 beta1 0.000002 0.013756 0.000111 0.9999119 beta2 0.791634 0.042053 18.824477 0.00000010 shape 7.000000 NA NA NA1112 Robust Standard Errors :13 Estimate Std . Error t va lue Pr(>| t | )14 mu 0.000485 0.000227 2.142984 0.03211415 omega 0.000007 0.000004 2.069297 0.03851816 alpha1 0.060329 0.021513 2.804337 0.00504217 alpha2 0.103931 0.038038 2.732324 0.00628918 beta1 0.000002 0.005036 0.000303 0.99975819 beta2 0.791634 0.065397 12.104960 0.000000

80

Page 84: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 48: Warunkowe odchylenie standardowe GARCH(2,2) - IBM dzienne (2004 - 2012)

Rysunek 49: Odchylenie standardowe GARCH(2,4) - IBM tygodniowe (2004 - 2012)

20 shape 7.000000 NA NA NA21

81

Page 85: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

22 LogLike l ihood : 6077.583

Otrzymano bardzo ciekawe wartości dla parametrów β1 i β2. Pierwszy ze współczynników nie różnisię istotnie od zera przy przyjętym poziomie istotności α = 0, 05, drugi natomiast ma bardzo wysokąwartość, w przybliżeniu β2 = 0, 79.

Dla modelu GARCH(2,4) i danych tygodniowych:

1 Optimal Parameters2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 Estimate Std . Error t va lue Pr(>| t | )4 mu 0.001939 0.001234 1.570537 0.1162905 omega 0.000115 0.000171 0.673401 0.5006926 alpha1 0.242693 0.322279 0.753053 0.4514187 alpha2 0.000000 0.607959 0.000000 1.0000008 beta1 0.000000 0.448518 0.000001 0.9999999 beta2 0.552382 0.235302 2.347544 0.01889810 beta3 0.203924 0.166035 1.228204 0.21937011 beta4 0.000000 0.220226 0.000002 0.99999912 shape 3.000000 NA NA NA1314 Robust Standard Errors :15 Estimate Std . Error t va lue Pr(>| t | )16 mu 0.001939 0.003412 0.56824 0.5698717 omega 0.000115 0.001066 0.10793 0.9140518 alpha1 0.242693 2.101415 0.11549 0.9080619 alpha2 0.000000 4.095937 0.00000 1.0000020 beta1 0.000000 3.012500 0.00000 1.0000021 beta2 0.552382 1.025230 0.53879 0.5900322 beta3 0.203924 0.486438 0.41922 0.6750623 beta4 0.000000 1.391443 0.00000 1.0000024 shape 3.000000 NA NA NA2526 LogLike l ihood : 911.4905

Wyniki pokazują, że przy poziomie istotności α = 0, 05 część współczynników nie różni się istot-nie od zera (α2,β1,β4), co jest dość zaskakujące. Statystyczna nieistotność współczynników α2 iβ4 oznaczałaby, że model ten jest praktycznie równoważny modelowi GARCH(1,3), który uzyskałsłabszą ocenę dopasowania według wszystkich czterech kryteriów doboru modelu. Można rów-nież wysnuć wniosek, że wielkość współczynników dopasowanego modelu GARCH(2,4) świadczy osłabości dopasowania.

Na koniec wykonano prognozę szeregu oraz warunkowego odchylenia standardowego. Bardzociekawe jest zestawienie wykresów dla odchylenia standardowego (Rys. 50) i (Rys. 51). Zmien-ność w prognozie dziennej utrzymuje się na stałym poziomie, natomiast w prognozie tygodniowejgwałtownie rośnie w prognozowanym okresie. Świadczy to o bardzo niskiej wiarygodności modelutygodniowego.

82

Page 86: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 50: Warunkowe odchylenie standardowe GARCH(2,2) prognoza - IBM dzienne (2004 -2012)

Rysunek 51: Warunkowe odchylenie standardowe GARCH(2,4) prognoza - IBM tygodniowe (2004- 2012)

83

Page 87: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

8.3 Analiza notowań Coca-Cola Company8.3.1 Zwroty w ujęciu dziennym od 2004 do 2008 roku

Analizie poddane zostały zwroty logarytmiczne notowań firmy Coca-Cola Company z okresu od1 stycznia 2004 roku do 31 grudnia 2008 roku. Początkowo sprawdzono, czy szereg ten spełniazałożenia modelu ARCH, a później rozważono, które z uogólnień tego modelu najlepiej opisujedane rzeczywiste.

Poniżej przedstawiony został wykres zwrotów (Rys.52).

Rysunek 52: Wykres zwrotów logarytmicznych dla danych Coca-Cola Company (2004 - 2008).

Na wykresie tym zauważalny jest efekt grubych ogonów i nieznaczny efekt grupowania (klastro-wania) wariancji.

Listing 91: Charakterystyka dla danych.1 da i l y . r e tu rn s2 Observat ions 1006.00003 NAs 0.00004 Minimum −0.08085 Quar t i l e 1 −0.00486 Median 0 .00027 Arithmet ic Mean 0.00028 Geometric Mean 0.00029 Quar t i l e 3 0 .004910 Maximum 0.040211 SE Mean 0.000312 LCL Mean ( 0 . 9 5 ) −0.0003

84

Page 88: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

13 UCL Mean ( 0 . 9 5 ) 0 .000714 Variance 0 .000115 Stdev 0 .008716 Skewness −0.817317 Kurtos i s 9 .6861

Współczynnik skośności wskazuje na niewielką lewostronną skośność, jednak w dalszej analizie niebędziemy brać pod uwagę tego czynnika. Znaczący jest natomiast współczynnik kurtozy.

Listing 92: Test normlności.1 Jarque Bera Test23 data : KO. zwroty . dz ien4 X−squared = 4065 .526 , df = 2 , p−value < 2 .2 e−16

W wyniku testu normalności Jarque-Bera otrzymano wartość poziomu krytycznego znaczniemniejszą od przyjętego poziomu istotności α = 0.05, zatem należy odrzucić hipotezę zerową onormalności rozkładu zmiennych. Potwierdza to wykres kwantylowy (Rys. 53 ) z którego dodatkowomożna wnioskować o występowaniu efektu grubych ogonów.

Rysunek 53: Wykres kwantylowy dla rozkładu normalnego, Coca-Cola Company (2004-2008).

Przy pomocy wykresów tego samego typu sprawdzono następnie dopasowanie danych do roz-kładu t-Studenta dla różnej liczby stopni swobody(2-7) (Rys.54).

W dalszej analizie przyjmować będziemy rozkład t-Studenta. Nie narzucamy jednak liczbystopni swobody. Pozwolimy, aby pakiet sam wybrał optymalną wartość.

Kolejnym etapem analizy jest sprawdzenie autokorelacji danych (Rys.55). Z poniższego wykresu(Rys.55) można odczytać występowanie autokorelacji zarówno dla wyjściowych danych, jak i dla

85

Page 89: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 54: Wykresy kwantylowe dla rozkładu t-Studenta, Coca-Cola Company (2004-2008).

szeregu kwadratów. Na tej podstawie do podstawowego modelu GARCH dołączamy także częśćARMA.

Dodatkowo przeprowadzono dwa testy formalne na występowanie efektu ARCH/GARCH: testLjungi-Boxa i test Engle’a LM.

Listing 93: Test Ljungi-Boxa dla kwadratów.1 t e s t s t a t p−value

86

Page 90: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rysunek 55: Wykres ACF dla szeregu Coca-Cola Company (2004 - 2008).

2 Lag 5 12.57855 2.766517 e−023 Lag 10 12.94203 2.269313 e−014 Lag 15 14.91896 4.572703 e−015 Lag 20 18.22657 5.724856 e−016 Lag 25 18.45525 8.224654 e−017 Lag 30 20.07833 9.144860 e−018 Lag 35 85.63678 3.941253 e−069 Lag 40 120.35855 5.611820 e−1010 Lag 45 120.83554 7.314252 e−0911 Lag 50 121.17788 7.642160 e−08

W przypadku tego testu poziomy wartości krytycznych są również w sposób znaczący mniejszeod przyjętego poziomu istotności. Zatem należy odrzucić hipotezę zerową o braku autokorelacji.Test ten wykazuje również efekt grupowania wariancji.

Na koniec przeprowadzono test Engle’a LM:

Listing 94: Test Engle’a LM.1 ARCH LM−t e s t ; Nul l hypothes i s : no ARCH e f f e c t s23 data : KO. zwroty . dz ien4 Chi−squared = 12 .4436 , df = 12 , p−value = 0.4107

Wynik tego testu wskazuje, że nie istnieją podstawy do odrzucenia hipotezy zerowej o brakuwystępowania efektu ARCH. Mimo to, zdecydowano się na kontynuowanie analizy. Za taką decyzjąprzemawiają wyniki wykonanych wcześniej testów.

87

Page 91: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Rozważamy teraz, która z modyfikacji modelu GARCH jest najodpowiedniejsza dla anali-zowanych danych. Jeżeli występuje efekt dźwigni, to należy zastosować model EGARCH lubGJR-GARCH. Po dopasowaniu modeli ARMA(1,1)-EGARCH(1,1) i ARMA(1,1)-GJRGARCH(1,1)otrzymano następujące rezultaty:

Listing 95: Modele ARMA-EGARCH i ARMA-GJRGARCH.1 Condi t iona l Variance Dynamics2 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−3 GARCH Model : eGARCH(1 ,1 )4 Mean Model : ARFIMA(1 , 0 , 1 )5 D i s t r i bu t i on : std67 Optimal Parameters8 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−9 Estimate Std . Error t va lue Pr(>| t | )10 mu 0.000015 0.000233 0.063522 0.94935011 ar1 0.349911 1.072172 0.326357 0.74415412 ma1 −0.342835 1.075041 −0.318905 0.74979913 omega −0.256189 0.173454 −1.476984 0.13968014 alpha1 −0.051702 0.023608 −2.190007 0.02852415 beta1 0.973266 0.018080 53.832418 0.00000016 gamma1 0.099130 0.034860 2.843639 0.00446017 shape 5.302272 0.803027 6.602855 0.00000018 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−19 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−20 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−21 Condi t iona l Variance Dynamics22 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−23 GARCH Model : gjrGARCH(1 ,1 )24 Mean Model : ARFIMA(1 , 0 , 1 )25 D i s t r i bu t i on : std2627 Optimal Parameters28 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−29 Estimate Std . Error t va lue Pr(>| t | )30 mu 0.000078 0.000232 0.33660 0.73641831 ar1 0.369267 1.319830 0.27978 0.77964332 ma1 −0.363928 1.321765 −0.27533 0.78305933 omega 0.000004 0.000002 1.57399 0.11549034 alpha1 0.003552 0.020345 0.17459 0.86140335 beta1 0.912371 0.044094 20.69157 0.00000036 gamma1 0.069829 0.039471 1.76913 0.07687237 shape 5.081332 0.759622 6.68929 0.000000

Analizując wyniki dla modelu EGARCH otrzymano γ = 0.09913 i α < 0. Świadczy to o występo-waniu efektu dźwigni. W przypadku modelu GJR-GARCH również zauważalny jest efekt dźwigni,

88

Page 92: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

ale parametr γ nie jest istotnie większy od zera. Biorąc pod uwagę, że stwierdzono występowanieefektu dźwigni, przy pomocy kryteriów informacyjnych zbadano, który z modeli jest najlepszy.

Listing 96: Modele ARMA-EGARCH i ARMA-GJRGARCH.1 garch eGARCH gjrGARCH2 Akaike −6.824248 −6.834866 −6.8264283 Bayes −6.790057 −6.795791 −6.7873534 Shibata −6.824344 −6.834991 −6.8265545 Hannan−Quinn −6.811257 −6.820019 −6.811581

Najlepszy okazał się model EGARCH.Test Jarque Bera odrzuca hipotezę o normalności rozkładu reszt:

Listing 97: Test normalności reszt modelu EGARCH.1 Jarque Bera Test23 data : r e s z t y4 X−squared = 4042 .009 , df = 2 , p−value < 2 .2 e−16

Na koniec wykonano prognozę zmienności (warunkowego odchylenia standardowego) (Rys.56).

Rysunek 56: Prognoza warunkowego odchylenia standardowego, Coca-Cola Company (2004-2008).

89

Page 93: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

9 Zestawienie podstawowych funkcji pakietu RPoniższe zestawienie zawiera syntetyczne zestawienie metod (funkcji) działających dla modeli GARCH(i jego uogólnień), dostępnych w poszczególnych bibliotekach. Wyniki działania tej samej funkcji wróżnych paczkach mogą znacząco różnić się od siebie. Dokładny opis metod znajduje się w rozdziale’Dopasowanie modelu w pakiecie R - funkcje i metody’ lub w dokumentacji dostępnej dla danychbibliotek.

Funkcja Opis tseries fGarch rugarchformula formuła dopasowanego modelu Xcoef współczynniki modelu X X X

summary podsumowanie X X Xplot wykresy X X Xfitted dopasowane wartości modelu X X X

residuals wektor reszt X X Xvcov macierz kowariancji współczynników X X

predict prognozy X Xvolatility wartości warunkowego odchylenia standardowego Xinfocriteria wartości kryteriów doboru modelu X

sigma warunkowa wariancja Xnewsimpact krzywa wpływu wiadomości X

show podsumowanie X X Xas.data.frame zestawienie najważniejszych wartości X

nyblom test Hansen-Nyblom Xsignbias test znaku Engle’a i Ng Xgetspec specyfikacja modelu X

uncvariance bezwarunkowa wariancja Xuncmean bezwarunkowa średnia X

90

Page 94: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

Literatura[1] Quantitative Financial Modelling & Trading Framework for R, http://www.quantmod.com/

examples/.

[2] Krzysztof Piontek, Zastosowanie modeli klasy ARCH do opisu własności szeregu stóp zwrotuindeksu WIG, http://www.kpiontek.ae.wroc.pl/kp-fiapgarch.pdf.

[3] Tim Bollerslev, Ray Y. Chou, Kenneth F. Kroner (1992), ARCH modeling in finance. A reviewof the theory and empirical evidence. Journal of Econometrics 52, 5-59.

[4] Eugene F. Fama (1965), The Behavior of Stock-Market Prices, The Journal of Business, Vol.38, No.1, pp. 34-105.

[5] French, K.R. and Roll, R. (1986), Stock Return Variances: The Arrival of Information and theReaction of Traders, Journal of Financial Economics, 17, 5-26.

[6] Engle, R. F. (1982), Autoregressive Conditional Heteroscedasticity with Estimates of the Va-riance of United Kingdom Inflation, Econometrica, 50, 987-1007.

[7] T. Bollerslev (1986), Generalized autoregressive conditional heteroskedasticity, Journal of Eco-nometrics, 31.

[8] Krzysztof Piontek, Modelowanie finansowych szeregów czasowych z warunkową warian-cją,http://www.kpiontek.ae.wroc.pl/warunk.pdf.

[9] Krzysztof Piontek, Wyzwania praktyczne w modelowaniu wielowymiarowych procesówGARCH, http://www.kpiontek.ue.wroc.pl/KPiontek_SKAD2005.pdf.

[10] http://cran.r-project.org/web/packages/portes/vignettes/portesFunctions.pdf

[11] Cowpertwait, P.S.P., Metcalfe, A.V. (2009), Introductory Time Series with R, Springer.

[12] A practical introduction to garch modeling, http://www.r-bloggers.com/a-practical-introduction-to-garch-modeling/

[13] http://cran.r-project.org/web/packages/tseries/tseries.pdf

[14] http://cran.r-project.org/web/packages/fGarch/fGarch.pdf

[15] Tong, H. (1990), Non-linear Time Series; A Dynamical Approach, Oxford University Press,Oxford.

[16] Nowicka, J. (1998), Analiza miar zależności dla szeregów czasowych z innowacjami α-stabilnymi’, rozprawa doktorska, PWr.

[17] Müller, U.A., Dacorogna, M.M., Dave, R.D., Olsen, R.B., Pictet, O.V.,von Weizsäcker, J.E.(1995), ’Volatilities of different time resolutions. Analyzing the dynamics of market compo-nents’, Preprint O&A, Zürich.

[18] Weron, A., Weron R. (2005), Inżynieria finansowa. Wycena instrumentów pochodnych. Symula-cje komputerowe. Statystyka rynku., Wydawnictwo Naukowo-Techniczne Sp. z o.o., Warszawa.

91

Page 95: Analiza finansowych szeregów czasowych w pakiecie R– modele i

Materiały firmy QuantUpmodelowanie statystyczne i analiza danych, oprogramowanie, szkolenia

quantup.pl c©2015 QuantUp

[19] http://cran.r-project.org/web/packages/rugarch/vignettes/Introduction_to_the_rugarch_package.pdf.

[20] http://cran.r-project.org/web/packages/rugarch/rugarch.pdf.

[21] Nelson, D.B. (1991), Conditional heteroskedasticity in asset returns: A new approach, Econo-metrica, 59(2), 347-70.

[22] Glosten, L.R. ,Jagannathan, R., Runkle, D.E. (1993), On the relation between the expectedvalue and the volatility of the nominal excess return on stocks, Journal of finance, 48(5):1779-1801.

[23] Ding, Z., Granger, C.W.J., Engle, R.F. (1993), A long memory property of stock marketreturns and a new model, Journal of empirical finance, 1(1):83-106.

[24] Taylor, S.J. (1986), Modelling Financial Time Series, Wiley.

[25] Hentschel, L. (1995), All in the family nesting symmetric and asymmetric garch models, Journalof Financial Economics, 39(1):71-104.

[26] http://faculty.washington.edu/ezivot/econ589/univariateGarch2012powerpoint.pdf

[27] Bauwens L., Laurent S., Rombouts J.V.K. (2006), Multivariate Garch models: a survey, Jour-nal of Applied Econometrics, 21: 79-109.

[28] Annastiina Silvennoinen, Timo Teräsvirta (2008), Multivariate GARCH models, http://swopec.hhs.se/hastef/papers/hastef0669.pdf.

[29] http://cran.r-project.org/web/packages/ccgarch/ccgarch.pdf

[30] R. Baillie, T. Bollerslev, H. Mikkelsen (1996), Fractionally Integrated Generalized Autoregres-sive Conditional Heteroskedasticity, Journal of Econometrics, 74, pp.3-30.

[31] Piontek K. (2003). Modelowanie długiej pamięci w szeregach zmienności stóp zwrotu. Konfe-rencja Modelowanie Preferencji a Ryzyko. Ustroń.

[32] E.Zivot, J.Wang (2006), Modeling Financial Time Series with S-PLUS, Springer.

92