自迴歸條件異方差(ARCH)模型涉及具備時變異方差的時間序列,其中方差是以特定時間點的現有信息爲條件的。ide
ARCH模型假設時間序列模型中偏差項的條件均值是常數(零),與咱們迄今爲止討論的非平穩序列不一樣),但其條件方差不是。這樣一個模型能夠用公式一、2和3來描述。函數
方程4和5給出了測試模型和假設,以測試時間序列中的ARCH效應,其中殘差e^t來自於將變量yt迴歸一個常數,如1,或迴歸一個常數加上其餘迴歸因子;方程4中的測試可能包括幾個滯後項,在這種狀況下,無效假設(方程5)是全部這些項都不顯著。測試
無效假設是不存在ARCH效應。檢驗統計量爲3d
下面的例子使用了數據集,它包含了500個股票收益率的生成觀測值。圖顯示了數據的時間序列圖和柱狀圖。code
plot.ts(r) hist(r)
圖: 變量 的水平和柱狀圖blog
讓咱們首先對數據集中的變量r一步一步地進行公式4和5中描述的ARCH檢驗。it
summary(yd)
ehsq <- ts(resid(mean)^2) summary(ARCH)
Rsq <- glance(ARCH)[[1]] LM <- (T-q)*Rsq Chicr <- qchisq(1-alpha, q)
結果是LM統計量,等於62.16,與α=0.05和q=1自由度的臨界卡方值進行比較;這個值是χ2(0.95,1)=3.84;這代表拒絕了無效假設,結論是該序列具備ARCH效應。io
若是咱們不使用一步步的程序,而是使用R的ARCH檢驗功能之一,也能夠得出一樣的結論。class
ArchTest
函數garch(),當使用order=參數等於c(0,1)時,成爲一個ARCH模型。這個函數能夠用來估計和繪製方程3中定義的方差ht,如如下代碼和圖所示。 變量
garch(r,c(0,1))
summary(arch)
ts(2*fitted.values^2) plot.ts(hhat)
圖 對數據集的ARCH(1)方差的估計
# 使用軟件包`garch`來創建GARCH模型 fit(spec=garch, data=r) coef(Fit)
fitted.values fit$sigma^2) plot.ts(hhat)
圖: 使用數據集的標準GARCH模型(sGARCH)。
# tGARCH garchfit(spec, data=r, submodel="TGARCH") coef(garchfit)
fitted.values fit$sigma^2) plot.ts(hhat)
圖: 數據集的tGARCH模型
# GARCH-IN-MEAN模型 fit( data=r, distribution="std",variance=list(model="fGARCH") coef(garchFit)
fit$fitted.values fit$sigma^2) plot.ts(hhat)
圖:使用數據集的GARCH-in-mean模型的一個版本
圖顯示了GARCH模型的幾個版本。預測結果能夠經過ugarchboot()來得到。