時間序列
如何在 R 中擬合 ARMA+GARCH 模型?
我目前正在使用 R 研究 ARMA+GARCH 模型。我正在尋找例如逐步解釋在 R 中擬合此模型的解釋。我有固定的時間序列,我正在嘗試預測 n 週期提前值。
我已經研究過這個模型,但我正在尋找例如 auto.arima() 函式用於根據 AIC 值選擇最佳 ARMA(p,q) 的地方。
我不知道在做 ARMA-GARCH 時如何選擇 ARMA 滯後長度。也許有人可以將它編輯成這個答案。
對於您想要
rugarch
打包的單變數案例。如果你正在做你想要的多變數的東西rmgarch
。這些比其他軟體包更好的原因是三倍;(i) 支持我在任何其他軟體包中未見過的外生變數,(ii) 支持動態條件相關,(iii) 支持大量 fGARCH 變體。install.packages("rugarch") require(rugarch)
讓我們構造要用作範例的數據。使用 $ N(0,1) $ 當您嘗試對其使用 GARCH 時會給出奇怪的結果,但這只是一個範例。
data <- rnorm(1000)
然後我們可以計算 ARMA(1,1)-GARCH(1,1) 模型作為範例:
spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), mean.model = list(armaOrder = c(1, 1), external.regressors = NULL, distribution.model = "norm", start.pars = list(), fixed.pars = list())) garch <- ugarchfit(spec = spec, data = data, solver.control = list(trace=0))
檢索 ARMA(1,1) 和 GARCH(1,1) 係數:
garch@fit$coef
檢索隨時間變化的標準差:
garch@fit$sigma
檢索標準化 $ N(0,1) $ ARMA(1,1) 干擾:
garch@fit$z
看看你還能擺脫什麼:
str(garch)
如果你徘徊在擬合參數的理論結果,GARCH Models, Structure, Statistical Inference and Financial Applications of FRANCQ and ZAKOIAN 一書提供了一步一步的解釋。我認為在 R 中實施這些步驟並不是什麼大問題。