Is minimum mean square error (MMSE) Matlab's secret weapon for using as a forecasting engine?

(Last Updated On: August 2, 2010)

Is minimum mean square error (MMSE) Matlab’s secret weapon for using as a forecasting engine?
This was taken from Matlab’s Econometric toolbox help file:

The forecasting engine garchpred computes minimum mean square error (MMSE) forecasts of the conditional mean of returns {yt}, and the conditional standard deviation of the innovations {?t}, in each period of a user-specified forecast horizon. To do this, garchpred views the conditional mean and variance models from a linear filtering perspective. It then applies iterated conditional expectations to the recursive equations, one forecast period at a time.

Each output of garchpred is an array. The number of rows of this array equals the user-specified forecast horizon, and its number of columns equals the number of columns (realizations, or paths) in the time series array of asset returns, Series. For a general forecasting example involving multiple realizations, see Examples.

This section discusses the four garchpred outputs.

Computing the Conditional Standard Deviations of Future Innovations

The first output of garchpred, SigmaForecast, is a matrix of conditional standard deviations of future innovations (residuals) on a per-period basis. This matrix represents the standard deviations derived from the MMSE forecasts associated with the recursive volatility model you defined in the GARCH specification structure.

For GARCH(P,Q) and GJR(P,Q) models, SigmaForecast is the square root of the MMSE conditional variance forecasts. For EGARCH(P,Q) models, SigmaForecast is the square root of the exponential of the MMSE forecasts of the logarithm of conditional variance.

The garchpred function computes the forecasts iteratively. Therefore, the first row contains the standard deviation in the first forecast period for each realization of Series, the second row contains the standard deviation in the second forecast period, and so on. Thus, if you specify a forecast horizon greater than one, garchpred also returns the per-period standard deviations of all intermediate horizons. In this case, the last row contains the standard deviation at the specified forecast horizon for each realization of Series.

Computing the Conditional Mean Forecasting of the Return Series

The second output of garchpred, MeanForecast, is a matrix of MMSE forecasts of the conditional mean of Series on a per-period basis. Again, the first row contains the forecast for each realization of Series in the first forecast period, the second row contains the forecast in the second forecast period, and the last row contains the forecast of Series at the forecast horizon.

MMSE Volatility Forecasting of Returns

The third output of garchpred, SigmaTotal, is a matrix of volatility forecasts of returns over multiperiod holding intervals. That is, the first row contains the expected standard deviation of returns for assets held for one period for each realization of Series, the second row contains the standard deviation of returns for assets held for two periods, and so on. Thus, the last row contains the forecast of the standard deviation of the cumulative return obtained if an asset was held for the entire forecast horizon.

garchpred computes the elements of SigmaTotal by taking the square root of
(6-1)

where:

*

S is the forecast horizon of interest (NumPeriods)
*

?j is the coefficient of the jth lag of the innovations process in an infinite-order MA representation of the conditional mean model (see the function garchma).

In the special case of the default model for the conditional mean, yt = C + ?t, this reduces to

. The SigmaTotal forecasts are correct for continuously compounded returns, and approximate for periodically compounded returns. If you model the conditional mean as a stationary invertible ARMA process, SigmaTotal is the same size as SigmaForecast.

For conditional mean models with regression components, in which you specify X or XF, SigmaTotal is an empty matrix, []. In other words, garchpred computes SigmaTotal only if you model the conditional mean as a stationary invertible ARMA process. For more information, see Regression.

Approximating Confidence Intervals Associated with Conditional Mean Forecasts Using the Matrix of Root Mean Square Errors (RMSE)

The fourth output of garchpred, MeanRMSE, is a matrix of root mean square errors (RMSE) associated with the output forecast array MeanForecast. That is, each element of MeanRMSE is the conditional standard deviation of the corresponding forecast error (that is, the standard error of the forecast) in the MeanForecast matrix. From Baillie and Bollerslev [3], Equation 19,

Using this equation, the computed MMSE forecasts of the conditional mean (MeanForecast), and the standard errors of the corresponding forecasts (MeanRMSE), you can construct approximate confidence intervals for conditional mean forecasts. The approximation becomes more accurate during periods of relatively stable volatility (see Baillie and Bollerslev [3] and Bollerslev, Engle, and Nelson [8]). As heteroscedasticity in returns disappears (that is, as the returns approach the homoscedastic, or constant variance, limit), the approximation is exact. You can then apply the Box & Jenkins confidence bounds (see Box, Jenkins, and Reinsel [10], pages 133-145).

For conditional mean models with regression components (that is, X or XF is specified), MeanRMSE is an empty matrix, []. In other words, garchpred computes MeanRMSE only if the conditional mean is modeled as a stationary invertible ARMA process. See Regression.

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!
Don't miss out!
Get my TRADE LIKE A BOSS 2 PDF Books