R

使用 rugarch 包進行預測

  • May 12, 2013

我想在樣本預測中領先一步。我的數據可以在這裡找到。這只是一個以日期作為行名的數據框。

我指定我的模型並進行擬合併顯示圖

library(rugarch)
model<-ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), 
mean.model = list(armaOrder = c(0, 0), include.mean = FALSE), 
distribution.model = "norm")

modelfit<-ugarchfit(spec=model,data=mydata)
plot(modelfit)

現在我想在我的條件樣本預測中提前一步。意思和條件。揮發性。

因此,我使用 ugarchfit 命令:

ugarchforecast(modelfit,n.ahead=1,data=mydata)

但這只是最後一個日期的一個值。所以我希望從一開始到我的最終值的每個數據都有這個。這些應該是使用指定模型參數和我的數據的提前 1 步預測。我怎樣才能得到這個?

您希望將參數設置為所需的滾動預測n.roll數。(該參數控制您希望為每個滾動日期預測提前多少步。)因此,通過設置一個幾乎等於您的樣本量的數字,並嚴格地將參數設置為幾乎等於您的樣本量,您就是在告訴方法採用指定的擬合併將樣本內數據視為樣本外數據,從而每次將預測時間向前滾動。n.ahead``n.roll``n.ahead``n.roll``out.sample``n.roll``n.ahead

這將做到:

spec = getspec(modelfit);
setfixed(spec) <- as.list(coef(modelfit));
forecast = ugarchforecast(spec, n.ahead = 1, n.roll = 2579, data = mydata[1:2580, ,drop=FALSE], out.sample = 2579);
sigma(forecast);
fitted(forecast)

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