I wanted to focus on volatility forecasting, so instead of asking R to compute a GARCH where it would compute the errors on the returns, I wanted to model the volatility as an ARMA and add an external regressor using the argument xreg in the arima function.

I have two questions:

  • Is it exactly equivalent to compute an ARMA(p,q) on the volatility with external regressors as the squared returns and to compute a GARCH (for the volatility forecast)

  • Is it the correct way to do it in R ?


  • $\begingroup$ As I understand that, the volatility of the process is not a stationary process itself. Even the mean is not equal to zero. So applying ARMA for volatility is not correct. Or maybe I misunderstood you? $\endgroup$ – Dmitry Laptev Aug 20 '12 at 9:27
  • $\begingroup$ No you are totally correct, I think if I make the process an AR and add the squared returns, it becomes actually an EWMA $\endgroup$ – BlueTrin Aug 20 '12 at 9:44
  • $\begingroup$ @Dmitry Laptev: my problem is that I wanted to filter some seasonality effect on the returns. Then I thought that dividing the returns by the seasonality curve would give me a better behaved returns series. I wanted to test my hypothesis using a GARCH model, but I do not know how to approach this problem $\endgroup$ – BlueTrin Aug 20 '12 at 10:26

An introduction to garch(p,q) models often gives the ARIMA analogy to have a first glance on why the variance is conditioned on its lagged value(s) and squared returns. This is also useful for studying the correlograms and assuming a given (p,q) order. But, the statistical properties are not the same. A garch model requires a mean equation and a conditional volatitiliy specification. That means that the randommnes implied by the residual calculation (mean equation) is accounted at the garch parameters' variances. i.e. you may obtain accurate(unbiased) estimates by your procedure but your standard deviations (and inference) will be meaningless.

Introducing exogeneous regressors in garch equations is available in other software (Stata, Eviews) I didn't try R for this but I guess that http://rgarch.r-forge.r-project.org/ can handle exogenous regressors in the variance equation.

  • $\begingroup$ That is very helpful, I am at the moment trying to see how I can improve the volatility forecast by computing the average cross-sectional volatility on the volatility. if s(h) is my cross-sectional average and sigma(d,h) my volatility: I wanted to try to model the quantity n(d,h) such as n(d,h) = s(h) * sigma(d,h). This series is much less spikey at news events, and I wanted to see if I could use it to see some improvement in volatility forecasts, but I am not too sure about how to approach the problem. $\endgroup$ – BlueTrin Aug 20 '12 at 14:56
  • $\begingroup$ In my previous comment, the relationship should be n(d,h) = sigma(d,h)/s(h). At the moment I modelled n(d,h) as an ARMA(5,1) and there is quite a significant increase in R^2 versus modelling sigma itself as an ARMA, but I thought I could get a fairer comparison by adding the epsilons to have a GARCH comparison. $\endgroup$ – BlueTrin Aug 20 '12 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.