Estoy utilizando un Matlab caja de herramientas para obtener previsiones de un paso adelante de la media condicional de la ARMA(1,0)-GARCH(1,1) proceso y me he encontrado con un trozo de código que contiene, en mi opinión, un error. El código completo de la función de previsión está disponible para su visualización en: http://uk.mathworks.com/matlabcentral/fileexchange/32882-armax-garch-k-toolbox--estimation--forecasting--simulation-and-value-at-risk-applications-/content/garchfor.m
El fragmento al que me refería es:
% Forecasting the Mean
MF = parameters(1:1+z)'*[1; data(end-(1:ar)); resids(end-(0:ma-1))]; % 1-period ahead forecast
for i = 2:max_forecast
MF(i,1) = sum([parameters(1); ones(1,ar)*parameters(2:2+ar)*MF(i-1,1); ones(1,ma)*parameters(3+ar:2+ar+ma)*resids(end-(0:ma-1-i))]);
end
clear i
De este código parece que cuando estoy considerando ARMA(1,0) la función toma la anteúltima observación para la previsión. En otras palabras, cuando los datos abarcan puntos de tiempo $1,...,t$ y quiero obtener una previsión para el periodo $t+1$ Multiplico el coeficiente AR(1) por el $t-1$ En mi opinión, por el tiempo $t+1$ Previsión AR(1) Debería tomar la última observación ( $t$ ) del conjunto de datos y multiplicarlo por el coeficiente AR(1).
¿Podría confirmar mis sospechas sobre este trozo de código?