0

I want to do something very easy, but it doesnt work!

I need to see the predictions (and errors) of a GARCH model. The Main Variable es "dowclose", and my idea is look if the GARCH model has a good fitting on this variable.

Im using this easy code, but the prediction are just 0's

webuse dow1.dta
arch dowclose, noconstant arch(1) garch(1)
predict dow_hat, y

ARCH Results:

ARCH family regression

Sample: 1 - 9341                                   Number of obs   =      9341
Distribution: Gaussian                             Wald chi2(.)    =         .
Log likelihood = -76191.43                         Prob > chi2     =         .

------------------------------------------------------------------------------
         |                 OPG
dowclose |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
    arch |
     L1. |    1.00144   6.418855     0.16   0.876    -11.57929    13.58217
         |
   garch |
     L1. |   -.001033   6.264372    -0.00   1.000    -12.27898    12.27691
         |
   _cons |   56.60589   620784.7     0.00   1.000     -1216659     1216772
------------------------------------------------------------------------------

1 Answers1

0

This is to be expected: you have no covariates and no intercept, so there's nothing to predict.

Here's a simple OLS regression that makes the problem apparent:

. sysuse auto
(1978 Automobile Data)

. reg price, nocons

      Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  0,    74) =    0.00
       Model |           0     0           .           Prob > F      =       .
    Residual |  3.4478e+09    74  46592355.7           R-squared     =  0.0000
-------------+------------------------------           Adj R-squared =  0.0000
       Total |  3.4478e+09    74  46592355.7           Root MSE      =  6825.9

------------------------------------------------------------------------------
       price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
------------------------------------------------------------------------------

. predict phat
(option xb assumed; fitted values)

. sum phat

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
        phat |        74           0           0          0          0
dimitriy
  • 9,077
  • 2
  • 25
  • 50
  • @Dimitry thanks very much for your response. can you give me an example for predicting like your response but using "arch" instead of "reg". Maybe it is very easy, but I cant do it. – Marcelo_Ortiz May 07 '14 at 13:04
  • @Marcelo_Ortiz I don't quite follow what you are asking. Let me try again in a slightly different way. ARCH and its generalizations are about modeling time varying volatility by giving AR structure for the conditional variance of a time series while retaining the constant unconditional variance. These are assumptions about the error. But if you have no predictors (not even a constant), your imposed model is that your outcome is zero in every period. Hence your prediction is that will be zero. My regression example makes that clear by removing all the complex error term business. – dimitriy May 07 '14 at 14:05
  • @Dimitry Thanks, do you mean that the both coef. shown in the stata output are just for conditional variance of "dowclose"? so, i need a another model for predicting "dowclose" using this GARCh model for his volatility? – Marcelo_Ortiz May 08 '14 at 15:47
  • That's exactly right. How about some lags of downclose using an ar() component, or at the very least a constant? Also, you might consider getting the Sean Becketti ITSUS book for the 8th chapter on ARCH and family. – dimitriy May 08 '14 at 16:46
  • I was looking for that book since one month and I didnt find it in Chile. Can you tell me what i need to code for use "2 lags" for "downclose", before `arch dowclose, noconstant arch(1) garch(1)`please. – Marcelo_Ortiz Jun 24 '14 at 16:23
  • Add `ar(1)` for a one period lag. Also, remove the `noconstant` option. – dimitriy Jun 24 '14 at 17:01