[R-SIG-Finance] garch vs garchFit - minimum sample size

Achim Zeileis Achim.Zeileis at wu-wien.ac.at
Wed Feb 13 18:55:14 CET 2008


On Wed, 13 Feb 2008, Spencer Graves wrote:

>       In comparing garch{tseries} with garchFit{fGarch}, it seems that
> the latter is more general, as it allows simultaneous estimation of an
> arma model with possibly nonnormal garch or aparch noise, while 'garch'
> fits only a garch model to a series assumed to have mean zero.  I

One additional difference is that garch() estimates the covariance matrix
of the coefficients using an OPG (outer product of gradients) estimator,
using analytical or numerical gradients, respectively.

grachFit(), on the other hand, provides the Hessian as approximated
numerically by the algorithm employed (if I recall correctly).

Conceptually, it should be possible to provide estfun() and bread()
methods for the "sandwich" package, so that various flavors of estimators
could be computed.
Z

> simulated 10,000 observations from the garch(1,1) model given as an
> example in the 'garchSim' help page, and got very similar answers from
> 'garch' as from 'garchFit' which I restricted the latter to fit the
> model of the former:
>
> x10k <- garchSim(n=10000)
>
> summary(fit10k <- garch(x10k))
>     Estimate  Std. Error  t value Pr(>|t|)
> a0 1.149e-06   1.467e-07    7.832 4.88e-15 ***
> a1 1.032e-01   9.433e-03   10.942  < 2e-16 ***
> b1 7.852e-01   2.039e-02   38.499  < 2e-16 ***
> # simulated a0=1e-6, a1=0.1, b1=0.8
>
> fit10k. <- garchFit(~garch(1,1), data=x10k, include.mean=FALSE)
> summary(fit10k.)
>         Estimate  Std. Error  t value Pr(>|t|)
> omega  1.148e-06   1.437e-07     7.99 1.33e-15 ***
> alpha1 1.032e-01   9.027e-03    11.44  < 2e-16 ***
> beta1  7.853e-01   1.963e-02    39.99  < 2e-16 ***
>
>       With only 100 observations, 'garch' complained 'singular
> information' and quite early with different answers from garchFit:
>
> summary(fit100 <- garch(x10k[1:100]))
>     Estimate  Std. Error  t value Pr(>|t|)
> a0 9.842e-06          NA       NA       NA
> a1 5.000e-02          NA       NA       NA
> b1 5.000e-02          NA       NA       NA
>
> fit100. <- garchFit(~garch(1,1), data=x10k[1:100], include.mean=FALSE)
> summary(fit100.)
>         Estimate  Std. Error  t value Pr(>|t|)
> omega  2.056e-06   1.677e-06    1.226  0.22022
> alpha1 1.387e-01   1.193e-01    1.163  0.24469
> beta1  6.704e-01   2.045e-01    3.278  0.00105 **
>
>       However, with 500 observations, 'garch' thought it converged and
> again gave answers very similar to garchFit:
>
> summary(fit500 <- garch(x10k[1:500]))
>     Estimate  Std. Error  t value Pr(>|t|)
> a0 1.466e-06   6.432e-07    2.279  0.02265 *
> a1 1.340e-01   4.405e-02    3.042  0.00235 **
> b1 7.215e-01   9.292e-02    7.765 8.22e-15 ***
> fit500. <- garchFit(~garch(1,1), data=x10k[1:500], include.mean=FALSE)
> summary(fit500.)
>         Estimate  Std. Error  t value Pr(>|t|)
> omega  1.450e-06   6.162e-07    2.352  0.01867 *
> alpha1 1.340e-01   4.425e-02    3.029  0.00245 **
> beta1  7.236e-01   8.430e-02    8.583  < 2e-16 ***
>
>       My conclusion from this is to use 'garchFit'.
>
>       By the way, the more general syntax for 'garchFit' is illustrated
> by the following:
>
> library(FinTS)
> data(sp500)
> library(fGarch)
> spFit30.11 <- garchFit(sp500~arma(3,0)+garch(1,1), data=sp500)
>
>       Spencer
>
> tom soyer wrote:
> > Spencer, take any data series and run garch vs. garchFit with various
> > sample size, and you will see garch needs a lot more data points to
> > get a good fit. Anyway, it probably doesn't matter if one always use a
> > sample size of >2,000. I was just courious.
> >
> > On 2/12/08, *Spencer Graves* <spencer.graves at pdf.com
> > <mailto:spencer.graves at pdf.com>> wrote:
> >
> >     Why do you say that 'garch' requires more observations than
> >     'garchFit'?
> >     Can you outline documentation or tests you've performed?
> >
> >     Spencer
> >
> >     tom soyer wrote:
> >     > Hi,
> >     >
> >     > It seems that the minimum sample size required by garch is much
> >     larger than
> >     > garchFit, does anyone know why? I am guessing between 1,000 and
> >     2,000 for
> >     > garch and ~500 for garchFit. Does anyone know the exact minimum
> >     sample size
> >     > for each?
> >     >
> >     > Thanks!
> >     >
> >     >
> >
> >
> >
> >
> > --
> > Tom
>
> _______________________________________________
> R-SIG-Finance at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only.
> -- If you want to post, subscribe first.
>
>



More information about the R-SIG-Finance mailing list