Documentation Center

  • Trial Software
  • Product Updates

garchpred

Forecast ARMAX/GARCH model responses

garchpred has been removed. Use forecast instead.

Syntax

[SigmaForecast,MeanForecast] = garchpred(Spec,Series,NumPeriods)
[SigmaForecast,MeanForecast] = garchpred(Spec,Series,NumPeriods,X,XF)
[SigmaForecast,MeanForecast,SigmaTotal,MeanRMSE] = garchpred(Spec,Series,Numperiods)

Description

garchpred forecasts the conditional mean of the univariate return series and the standard deviation of the innovations NumPeriods into the future. It uses specifications for the conditional mean and variance of an observed univariate return series as input. garchpred also computes volatility forecasts of asset returns over multiperiod holding intervals, and the standard errors of conditional mean forecasts. The conditional mean is of general ARMAX form and the conditional variance can be of GARCH, EGARCH, or GJR form.

  • [SigmaForecast,MeanForecast] = garchpred(Spec,Series,NumPeriods) uses the conditional mean and variance specifications defined in Spec to forecast the conditional mean, MeanForecast, of the univariate return series and the standard deviation, SigmaForecast, of the innovations NumPeriods into the future. The NumPeriods default is 1.

  • [SigmaForecast,MeanForecast] = garchpred(Spec,Series,NumPeriods,X,XF) includes the time series regression matrix of observed explanatory data X and the time series regression matrix of forecasted explanatory data XF in the calculation of MeanForecast.

    For MeanForecast, if you specify X, you must also specify XF. Typically, X is the same regression matrix of observed returns, if any, that you used for simulation (garchsim) or estimation (garchfit).

  • [SigmaForecast,MeanForecast,SigmaTotal,MeanRMSE] = garchpred(Spec,Series,Numperiods) also computes the volatility forecasts, SigmaTotal, of the cumulative returns for assets held for multiple periods, and the standard errors MeanRMSE associated with MeanForecast.

Input Arguments

Spec

Specification structure for the conditional mean and variance models. You can create Spec using the function garchset or the estimation function garchfit.

Series

Matrix of observations of the underlying univariate return series of interest for which garchpred generates forecasts. Each column of Series is an independent path. The last row of Series holds the most recent observation of each path. garchpred treats those observations as valid that are below the most recent NaN in any column.

garchpred assumes that Series is a stationary stochastic process. It also assumes that the ARMA component of the conditional mean model (if any) is stationary and invertible.

NumPeriods

Positive scalar integer representing the forecast horizon of interest. You specify NumPeriods in periods. It should be compatible with the sampling frequency of Series. If NumPeriods = [] or is unspecified, the default is 1.

X

Time series regression matrix of observed explanatory data that represents the past history of the explanatory data. Typically, X is a regression matrix of asset returns, for example, the return series of an equity index. Each column of X is an individual time series used as an explanatory variable in the regression component of the conditional mean. In each column, the first row contains the oldest observation and the last row the most recent.

The most recent number of valid (non-NaN) observations in each column of X must equal or exceed the most recent number of valid observations in Series. If the number of valid observations in a column of X exceeds that of Series, garchpred uses only the most recent observations of X.

If X is [] or is unspecified, the conditional mean has no regression component.

XF

Time series matrix of forecasted explanatory data. XF represents the evolution into the future of the same explanatory data found in X. Because of this, XF and X must have the same number of columns. In each column of XF, the first row contains the one-period-ahead forecast, the second row contains the two-period-ahead forecast, and so on.

The number of rows (forecasts) in each column (time series) of XF must equal or exceed the forecast horizon NumPeriods. When the number of forecasts in XF exceeds NumPeriods, garchpred uses only the first NumPeriods forecasts.

If XF is [] or is unspecified, the conditional mean forecast (MeanForecast) has no regression component.

Output Arguments

SigmaForecast

Matrix of conditional standard deviations of future innovations (model residuals) on a per period basis. The standard deviations derive from the minimum mean square error (MMSE) forecasts associated with the recursive volatility model, for example, 'GARCH', 'GJR', or 'EGARCH', specified for the 'VarianceModel' parameter in Spec. 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.

SigmaForecast has NumPeriods rows and the same number of columns as Series. The first row contains the standard deviation in the first period for each path of Series, the second row contains the standard deviation in the second period, and so on. If you specify a forecast horizon greater than 1 (NumPeriods > 1), garchpred returns the per-period standard deviations of all intermediate horizons as well. In this case, the last row contains the standard deviation at the specified forecast horizon.

MeanForecast

Matrix of MMSE forecasts of the conditional mean of Series on a per-period basis. MeanForecast is the same size as SigmaForecast. The first row contains the forecast in the first period for each path of Series, the second row contains the forecast in the second period, and so on.

Both X and XF must be nonempty for MeanForecast to have a regression component. If X and XF are empty ([]) or is unspecified, MeanForecast is based on an ARMA model. If you specify X and XF, MeanForecast is based on the full ARMAX model.

SigmaTotal

Matrix of MMSE volatility forecasts of Series over multiperiod holding intervals. SigmaTotal is the same size as SigmaForecast. The first row contains the standard deviation of returns expected for assets held for one period for each path of Series, the second row contains the standard deviation of returns expected for assets held for two periods, and so on. The last row contains the standard deviations of the cumulative returns obtained if an asset was held for the entire NumPeriods forecast horizon.

If you specify X or XF, SigmaTotal is [].

MeanRMSE

Matrix of root mean square errors (RMSE) associated with MeanForecast. That is, MeanRMSE is the conditional standard deviation of the forecast errors (the standard error of the forecast) of the corresponding MeanForecast matrix. MeanRMSE is the same size as MeanForecast. garchpred organizes MeanRMSE the same way if the conditional mean is modeled as a stationary/invertible ARMA process.

If you specify X or XF, MeanRMSE is [].

    Note   garchpred calls the function garchinfer to access the past history of innovations and conditional standard deviations inferred from Series. If you need the innovations and conditional standard deviations, call garchinfer directly.

Notes

EGARCH(P,Q) models represent the logarithm of the conditional variance as the output of a linear filter. As such, the minimum mean square error forecasts derived from EGARCH(P,Q) models are optimal for the logarithm of the conditional variance. They are, however, generally downward-biased forecasts of the conditional variance process itself. The output arrays SigmaForecast, SigmaTotal, and MeanRMSE are based upon the conditional variance forecasts. Thus, these outputs generally underestimate their true expected values for conditional variances derived from EGARCH(P,Q) models. The important exception is the one-period-ahead forecast, which is unbiased in all cases.

References

[1] Baillie, R. T., and T. Bollerslev. "Prediction in Dynamic Models with Time-Dependent Conditional Variances." Journal of Econometrics. Vol. 52, 1992, pp. 91–113.

[2] Bollerslev, T. "Generalized Autoregressive Conditional Heteroskedasticity." Journal of Econometrics. Vol. 31, 1986, pp. 307–327.

[3] Bollerslev, T. "A Conditionally Heteroskedastic Time Series Model for Speculative Prices and Rates of Return." Review of Economics and Statistics. Vol. 69, 1987, pp. 542–547.

[4] Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Time Series Analysis: Forecasting and Control. 3rd ed. Englewood Cliffs, NJ: Prentice Hall, 1994.

[5] Enders, W. Applied Econometric Time Series. Hoboken, NJ: John Wiley & Sons, Inc., 1995.

[6] Engle, Robert F. "Autoregressive Conditional Heteroskedasticity with Estimates of the Variance of United Kingdom Inflation." Econometrica. Vol. 50, 1982, pp. 987–1007.

[7] Engle, Robert F., D. M. Lilien, and R. P. Robins. "Estimating Time Varying Risk Premia in the Term Structure: The ARCH-M Model." Econometrica. Vol. 59, 1987, pp. 391–407.

[8] Glosten, L. R., R. Jagannathan, and D. E. Runkle. "On the Relation between the Expected Value and the Volatility of the Nominal Excess Return on Stocks." The Journal of Finance. Vol. 48, No. 5, 1993, pp. 1779–1801.

[9] Hamilton, J. D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.

[10] Nelson, D. B. "Conditional Heteroskedasticity in Asset Returns: A New Approach." Econometrica. Vol. 59, 1991, pp. 347–370.

See Also

| | |

Related Examples

Was this topic helpful?