天天看點

拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

自回歸條件異方差(ARCH)模型涉及具有時變異方差的時間序列,其中方差是以特定時間點的現有資訊為條件的。

ARCH模型

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

拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

方程4和5給出了測試模型和假設,以測試時間序列中的ARCH效應,其中殘差e^t來自于将變量yt回歸一個常數,如1,或回歸一個常數加上其他回歸因子;方程4中的測試可能包括幾個滞後項,在這種情況下,無效假設(方程5)是所有這些項都不顯著。

拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

無效假設是不存在ARCH效應。檢驗統計量為

拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

 下面的例子使用了資料集,它包含了500個股票收益率的生成觀測值。圖顯示了資料的時間序列圖和柱狀圖。

  1. plot.ts(r)
  2. hist(r)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

圖: 變量 的水準和柱狀圖

讓我們首先對資料集中的變量r一步一步地進行公式4和5中描述的ARCH檢驗。

summary(yd)      
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
  1. ehsq <- ts(resid(mean)^2)
  2. summary(ARCH)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
  1. Rsq <- glance(ARCH)[[1]]
  2. LM <- (T-q)*Rsq
  3. Chicr <- qchisq(1-alpha, q)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

結果是LM統計量,等于62.16,與α=0.05和q=1自由度的臨界卡方值進行比較;這個值是χ2(0.95,1)=3.84;這表明拒絕了無效假設,結論是該序列具有ARCH效應。

如果我們不使用一步步的程式,而是使用R的ARCH檢驗功能之一,也可以得出同樣的結論。

ArchTest      
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

函數garch(),當使用order=參數等于c(0,1)時,成為一個ARCH模型。這個函數可以用來估計和繪制方程3中定義的方差ht,如以下代碼和圖所示。 

garch(r,c(0,1))      
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
summary(arch)
      
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
  1. ts(2*fitted.values^2)
  2. plot.ts(hhat)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

圖 對資料集的ARCH(1)方差的估計

GARCH模型

  1. # 使用軟體包`garch`來建立GARCH模型
  2. fit(spec=garch, data=r)
  3. coef(Fit)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
  1. fitted.values
  2. fit$sigma^2)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

圖: 使用資料集的标準GARCH模型(sGARCH)。

  1. # tGARCH
  2. garchfit(spec, data=r, submodel="TGARCH")
  3. coef(garchfit)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

圖: 資料集的tGARCH模型

  1. # GARCH-IN-MEAN模型
  2. fit( data=r,
  3. distribution="std",variance=list(model="fGARCH")
  4. coef(garchFit)
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列
  1. fit$fitted.values
拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

圖:使用資料集的GARCH-in-mean模型的一個版本

圖顯示了GARCH模型的幾個版本。預測結果可以通過ugarchboot()來獲得。

拓端tecdat|R語言時變波動率和ARCH,GARCH,GARCH-in-mean模型分析股市收益率時間序列

繼續閱讀