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

Spencer Graves spencer.graves at pdf.com
Wed Feb 13 20:11:53 CET 2008


Hi, Achim: 

      Thanks for the reply. 

      Is it fair to say that 'garchFit' is newer and uses a more general 
and robust algorithm? 

      Or are there circumstances under which 'garch' would give better 
answers than 'garchFit'? 

      Thanks again,
      Spencer

Achim Zeileis wrote:
> 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