I am playing with TimeSeriesForecast
and I find that it invariably forecasts 0 for GARCH
models. It is possible that I am misunderstanding TimeSeriesForecast
, or that I am misunderstanding GARCH models and I would appreciate any guidance.
Take as an example,
data = {5., 9., 8., 10., 6.1, 10.4, 9.1, 11.6, 7.5, 12.1, 10.4, 13.5,
9., 14.1, 11.9, 15.7, 10.8, 16.4, 13.7, 18.3, 12.9, 19., 15.8, 21.2,
15.3, 22.1, 18.3, 24.6, 20, 20, 31, 31, 42, 42, 55, 55, 43, 22, 11,
233, 432, 12, 23, 34, 23};
TimeSeriesModelFit
and TimeSeriesForecast
work for ARMA
and other model types. For example,
In[]:= tsArima = TimeSeriesModelFit[data, "ARIMA"];
In[]:= TimeSeriesForecast[tsArima, 10]
Out[]= 33.2511 (* ok, works *)
In[]:= tsGarch = TimeSeriesModelFit[data, {"GARCH", {1, 1}}];
In[]:= TimeSeriesForecast[tsGarch , 10]
Out[]= 0 (* always *)
It doesn't matter what the source data is, GARCH always returns 0
and never produces an error. What am I missing here?