R
使用 rugarch 包進行預測
我想在樣本預測中領先一步。我的數據可以在這裡找到。這只是一個以日期作為行名的數據框。
我指定我的模型並進行擬合併顯示圖
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)