R

GARCH(1,1) 找到了很好的擬合,如何預測未來一天的波動?

  • September 6, 2017

我使用 SPY 數據在我的模型中擬合 GARCH(1,1)。我的數據從 2000 年 1 月到 2013 年 12 月開始。我使用 21 滾動視窗上的 runSD 和 GARCH(1,1) 比較了波動率。到目前為止,它看起來很合身。

我的問題是如何預測 2013 年 12 月以後的未來波動?我應該只使用係數來計算第二天的波動率嗎?但是如果我想提前 10 天模擬呢?有沒有一種簡單的方法可以在 R 中做到這一點?我查看了 ugarchroll ,但我並不真正了解該功能。希望各位大神能多多指教!

謝謝!

以下是使用 tseries 包的 GARCH 的係數和摘要:

Call:
garch(x = dailyreturn[, 1], order = c(1, 1))

Coefficient(s):
      a0         a1         b1  
1.637e-06  8.857e-02  9.001e-01  


Call:
garch(x = dailyreturn[, 1], order = c(1, 1))

Model:
GARCH(1,1)

Residuals:
   Min      1Q  Median      3Q     Max 
-7.1755 -0.5418  0.0716  0.6266  4.0432 

Coefficient(s):
   Estimate  Std. Error  t value Pr(>|t|)    
a0 1.637e-06   2.266e-07    7.223  5.1e-13 ***
a1 8.857e-02   7.074e-03   12.520  < 2e-16 ***
b1 9.001e-01   7.916e-03  113.703  < 2e-16 ***
---
Signif. codes:  0 ?**?0.001 ?*?0.01 ??0.05 ??0.1 ??1

Diagnostic Tests:
   Jarque Bera Test

data:  Residuals
X-squared = 358.7767, df = 2, p-value < 2.2e-16


   Box-Ljung test

data:  Squared.Residuals
X-squared = 7.8313, df = 1, p-value = 0.005135

啊,這正在成為一個常見的問題,現在就在 R 中。請看這個

$$ question $$(GARCH 模型和預測),它有 R 程式碼來做預測。 簡而言之,你一直在預測未來的一天。 $ \sigma_{t+k}^2 =w+\alpha u_{t+k-1}^2+\beta \sigma_{t+k-1}^2 $ . 你已經知道了 $ w,\space \alpha \space and \space \beta $ 起始值是當時返回時間序列和 Garch 變異數中的最後一個值。因此,第一個預測將變為 $ \sigma_{t+1}^2 =w+\alpha u_{t}^2+\beta \sigma_{t}^2 $ 第二天的預測將是 $ \sigma_{t+2}^2 =w+\alpha u_{t+1}^2+\beta \sigma_{t+1}^2 $ 等等…

你為什麼不使用rugarch包?您可以通過A short Introduction to the rugarch package參考作者的範例網頁。

## example forc1 = ugarchforecast(fit, n.ahead = 500) forc2 = ugarchforecast(spec, n.ahead = 500, data = sp500ret[1:1000, , drop = FALSE]) forc3 = ugarchforecast(spec, n.ahead = 1, n.roll = 499, data = sp500ret[1:1500, , drop = FALSE], out.sample = 500) f1 = as.data.frame(attributes(forc1)[[1]]$seriesFor[1]) f2 = as.data.frame(attributes(forc2)[[1]]$seriesFor[1]) f3 = t(as.data.frame(attributes(forc3)[[1]]$seriesFor[1], which = 'sigma', rollframe = 'all', aligned = FALSE)) U = uncvariance(fit)^0.5

n.ahead是提前幾天預測的參數。請參閱使用 rugarch 包進行預測

引用自:https://quant.stackexchange.com/questions/11000