alexiosg/rugarch

ugarchroll: not forecasting

Prisje opened this issue · 1 comments

@alexiosg I was trying to get a forecast using ugarchroll function from the rugarch package.
I replicated chapter 7 of https://cran.r-project.org/web/packages/rugarch/vignettes/Introduction_to_the_rugarch_package.pdf (Page 34 Rolling Estimation).

For the forecast, I expected to forecast data point 2009-01-31 (as the original data points go until 2009-01-30). The tail of the result of ugarchroll is, as also given in the Vignette:
Date Mu Sigma Skew Shape Shape(GIG) Realized
2009-01-23 0.0015 0.0259 -0.8691 2.1324 0 0.0054
2009-01-26 0.0005 0.0243 -0.8691 2.1324 0 0.0055
2009-01-27 -0.0002 0.0228 -0.8691 2.1324 0 0.0109
2009-01-28 -0.0011 0.0212 -0.8691 2.1324 0 0.0330
2009-01-29 -0.0039 0.0191 -0.8691 2.1324 0 -0.0337
2009-01-30 0.0009 0.0220 -0.8691 2.1324 0 -0.0231

This means I am not really forecasting, right? Or where can I find the forecasted datapoint for 2009-01-31? What am I missing here or where is my interpretation going wrong?

Other people have the same issue: https://quant.stackexchange.com/questions/57497/use-of-ugarchroll-vs-ugarchforecast-setting-parameters and did not find an answer within the ugarchroll function.

Hopefully some of you can help explain how to get a forecast using ugarchroll or have a correct interpretation of the results.

tail of original data:
SP500RET
2009-01-23 0.005363236
2009-01-26 0.005537856
2009-01-27 0.010866312
2009-01-28 0.033006834
2009-01-29 -0.033681051
2009-01-30 -0.023052810

ugarchroll forecasts to the last data point, not beyond. So it will forecast 2009-01-30 given information upto 2009-01-29. The reason for this is that the function is meant as a backtest to evaluate against actuals, and since no actual exists beyond 2009-01-29, the function truncates to the last available date. If you want a real time forecast use the ugarchforecast method.