# Forecasting returns using GARCH model alone

I need to know if I gave a GARCH model the returns of prices, how could I get the forecasts for the returns not the volatility in case of using GARCH without ARIMA (because in the equation of GARCH model there is an error term which is random)? But in some papers the GARCH is used for forecasting the return not the sigma. How can I do it in R, say, "fGarch" package?

• Asking for R code is off topic, but you will easily find code examples in the package manual for "fGarch" and help files for the R functions used for specifying, estimating and forecasting GARCH models. May 14, 2017 at 10:09

A model for the returns $r_t$ with a GARCH structure for the conditional variance will look like this: \begin{aligned} r_t &= \mu_t + u_t, \\ u_t &= \sigma_t \varepsilon_t, \\ \sigma_t^2 &= \omega + \alpha_1 u_{t-1}^2 + \beta_1 \sigma_{t-1}^2, \\ \varepsilon_t &\sim i.i.d.(0,1), \end{aligned} where $\mu_t$ is the conditional mean of $r_t$ which could be e.g. a constant or an ARMA process. (Here we have a GARCH(1,1) model, but the extension to GARCH(p,q) is trivial.)

An optimal (under square loss) point forecast of $r_{t+h}$ for some $h>0$, given the available information $I_t$, is \begin{aligned} \mathbb{E}(r_{t+h}|I_t) &= \mathbb{E}(\mu_{t+h}+u_{t+h}|I_t) \\ &= \mathbb{E}(\mu_{t+h}|I_t) + \mathbb{E}(u_{t+h}|I_t) \\ &= \mathbb{E}(\mu_{t+h}|I_t) + 0 \\ &= \mathbb{E}(\mu_{t+h}|I_t). \\ \end{aligned} Since we normally do not know $\mathbb{E}(\mu_{t+h}|I_t)$, we take a forecasted value from the model, $\hat\mu_{t+h|t}$. So in practice the point forecast is $\hat\mu_{t+h|t}$.

In case $\mu_t=\mu$ is a constant (could be zero, could be nonzero), the optimal (under square loss) point forecast of $r_{t+h}$ for some $h>0$ is $\mathbb{E}(\mu_{t+h}|I_t)=\mu$. In practice you would take the fitted intercept $\hat\mu$ from the conditional mean model as the point forecast.

Example with R package "fGarch":

library(fGarch)
model = garchFit(formula = ~ garch(1, 1), data = dem2gbp, cond.dist = "norm", include.mean = TRUE)
mean.fcst=fcst$meanForecast  The last line saves the point forecasts in an object called mean.fcst. Check coef(model) to verify that the forecasts equal the fitted intercept mu. • I am using GARCH without ARIMA and my question is about the ebsilon term how can i predict it or how can predict the returns without it May 14, 2017 at 10:27 • @ahmedreda, GARCH without ARMA is the case where$\mu_t=\mu$. You just take the fitted intercept of the model, and it is your forecast 1,2, ... steps ahead. The expected value of$\varepsilon_{t+h}$is zero for$h>0\$, and so it does not play a role in the point forecast. So in the end, the point forecast is super simple in your case. May 14, 2017 at 10:31
• @user6472523, If a model was fit with garchFit and saved as object x in R, the fitted conditional variance is obtained as x@h.t and fitted conditional standard deviation as x@sigma.t. See the function description for more details. May 8, 2018 at 15:30