自回歸條件異方差(ARCH)模型涉及具有時變異方差的時間序列,其中方差是以特定時間點的現有資訊為條件的。
ARCH模型
ARCH模型假設時間序列模型中誤差項的條件均值是常數(零),與我們迄今為止讨論的非平穩序列不同),但其條件方差不是。這樣一個模型可以用公式1、2和3來描述。

方程4和5給出了測試模型和假設,以測試時間序列中的ARCH效應,其中殘差e^t來自于将變量yt回歸一個常數,如1,或回歸一個常數加上其他回歸因子;方程4中的測試可能包括幾個滞後項,在這種情況下,無效假設(方程5)是所有這些項都不顯著。
無效假設是不存在ARCH效應。檢驗統計量為
下面的例子使用了資料集,它包含了500個股票收益率的生成觀測值。圖顯示了資料的時間序列圖和柱狀圖。
- plot.ts(r)
- hist(r)
圖: 變量 的水準和柱狀圖
讓我們首先對資料集中的變量r一步一步地進行公式4和5中描述的ARCH檢驗。
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效應。
如果我們不使用一步步的程式,而是使用R的ARCH檢驗功能之一,也可以得出同樣的結論。
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`來建立GARCH模型
- fit(spec=garch, data=r)
- coef(Fit)
- fitted.values
- fit$sigma^2)
圖: 使用資料集的标準GARCH模型(sGARCH)。
- # tGARCH
- garchfit(spec, data=r, submodel="TGARCH")
- coef(garchfit)
圖: 資料集的tGARCH模型
- # GARCH-IN-MEAN模型
- fit( data=r,
- distribution="std",variance=list(model="fGARCH")
- coef(garchFit)
- fit$fitted.values
圖:使用資料集的GARCH-in-mean模型的一個版本
圖顯示了GARCH模型的幾個版本。預測結果可以通過ugarchboot()來獲得。