## Tarvitset paketin fGarch (Packages->install package(s) -> "paikka" --> fGarch) ## sekä tämän tarvitsevat paketetit timeDate, timeSeries ja fBasics; ks. ?fGarch ## Luetaan mainittuun hakemistoon tallennettu aikasarja - tässä tapauksessa OMX25 data=read.table(file.choose(), header=TRUE) ## Tämän komennon pitäisi antaa sinun valita kansioistasi haluamasi tiedosto ## Vaihtoehtoinen tapa. Muuta tiedoston polku oikeaksi ja poista kommentointi jos haluat käyttää tätä menetelmää. ## ## data=read.table("C:/Opiskelu/Tilastotiede/Stationaariset 2014/Laskuharjoitukset/OMX25.txt",header=TRUE) y = ts(data$Y) ## muodostetaan aikasarja ## Aikasarjan piirtäminen (ks. R-koodi_1) ## Aikasarjan muunnokset (myös differenssointi) ja keskistys tarvittaessa (ks. R-koodi_1) ## GARCH -mallin estimointi; ?garchFit ## 'include.mean = FALSE', jos käytetään keskistettyjä havaintoja tai odotusarvo oletetaan nollaksi; 'include.mean = TRUE', jos mallissa estimoitava vakiotermi ## Mahdollisten jakaumien joukossa mm. "norm" (normaalijakauma), "std" (t-jakauma) ja "QMLE" (normaalijakauma robustein keskivirhein) ## sekä vinot versiot kahdesta ensin mainitusta, "snorm" ja "sstd"; ks. ?fGarch. ## Huomaa, että garch( , ):in 1. argumentti on ARCH-aste eli toisin päin kuin kurssilla. ## Tavanomaisen GARCH-mallin estimointi (tässä virheen jakaumaksi valittu normaalijakauma robustein keskivirhein) fit <- garchFit(~garch(s,r),y,include.mean = TRUE, include.shape = NULL, cond.dist = c("QMLE")) fit summary(fit) ## hieman yksityiskohtaisempi tulostus, jossa myös Ljung-Box- ja McLeod-Li -testi ( Jarque-Bera -testi on testi ## testaa virheiden normaalisuutta käyttäen standardoitujen residuaalien kolmansia ja neljänsiä momentteja) plot(fit) ## diagnostiikkaa graafisesti; sisältää mm. standardoitujen residuaalien ja niiden neliöiden otosautokorrelaatiofunktiot ja qq-plotit ## ARMA-GARCH -mallin estimointi (GARCH'in 1. argumentti tässäkin ARCH-aste eli toisin päin kuin kurssilla); ?garchFit ## Vakion käsittely ja jakaumat kuten GARCH-tapauksessa (tässä virheen jakaumaksi valittu t-jakauma) ## ARMA-GARCH -mallin estimointi (tavanomainen GARCH) fit <- garchFit(~arma(p,q)+garch(s,r),y,include.mean = TRUE, include.shape = NULL, cond.dist = c("std")) fit summary(fit) ## kuten edellä GARCH-tapauksessa plot(fit) ## kuten edellä GARCH-tapauksessa