R
給定 ugarchforecast 結果,如何計算 RMSE、MAE?
鑑於過去 20 年的 S&P500 回報,我使用 rugarch 包擬合了 ARMA(1,1)-GARCH(1,1) 模型,因此使用 ugarchspec() 和 ugarchfit(),具有不同的創新分佈,即 norm、std , 格。我的任務是評估和比較不同模型的預測性能,但我很難弄清楚如何去做。然後我將 ugarchforecast 用作:
spec <- ugarchspec(variance.model = list("sGARCH", garch0rder = c(1,1), submodel = NULL, external.regressors = NULL, variance.targeting = F), mean.model = list(arma0rder = c(1,1), include.mean = T, archm = F, archpow=1, arfima = F, external.regressors = NULL, archex = FALSE), distribution.model = "norm", fixed.pars = list(ar1 = 0.6170, ma1 = -0.6824, mu = 2e-04)) garch <- ugarchfit(spec, ret, out.sample = 100, solver = "solnp", fit.control = list(stationarity = 1, fixed.se = 0, rec.init = "all")) fore <- ugarchforecast(garch, n.ahead = 100, n.roll = 100)
那個程序正確嗎?我現在應該如何通過比較 MSE、RMSE、MAE 來評估預測性能?
謝謝你!
要比較各種模型之間的性能,您需要實際波動率或實際波動率的代理(實際波動率總是不可觀察的)。
閱讀這篇論文(下面提供的連結),其中作者解釋了以前的作者如何建構實際波動率或實際波動率。
論文:預測金融市場的波動性:Poon 和 Granger 的評論。這是最好的論文之一,作者回顧了 93 篇與波動率預測相關的論文,並詳細涵蓋了各個方面。