[R] GARCH
Spencer Graves
spencer.graves at pdf.com
Sat Jun 24 06:12:13 CEST 2006
I'll outline here how you can solve this kind of problem, using the
first example in the 'garch' help page:
library(tseries)
n <- 1100
a <- c(0.1, 0.5, 0.2) # ARCH(2) coefficients
e <- rnorm(n)
x <- double(n)
x[1:2] <- rnorm(2, sd = sqrt(a[1]/(1.0-a[2]-a[3])))
for(i in 3:n) # Generate ARCH(2) process
{
x[i] <- e[i]*sqrt(a[1]+a[2]*x[i-1]^2+a[3]*x[i-2]^2)
}
x <- ts(x[101:1100])
x.arch <- garch(x, order = c(0,2)) # Fit ARCH(2)
(sum.arch <- summary(x.arch))
<snip>
Estimate Std. Error t value Pr(>|t|)
a0 0.09887 0.01013 9.764 < 2e-16 ***
a1 0.43104 0.05276 8.170 2.22e-16 ***
a2 0.31261 0.05844 5.350 8.82e-08 ***
<snip>
Then I tried 'str(sum.arch)'. This told me it is a list with 6
components, and the one I want is named 'coef'. This led me to examine
'sum.arch$coef', which includes the desired numbers. Moreover,
'class(sum.arch$coef)' told me this is a 'matrix'. This information
suggests that the following might be what you requested:
sum.arch$coef[, "Pr(>|t|)"]
a0 a1 a2
0.000000e+00 2.220446e-16 8.815239e-08
Hope this helps.
Spencer Graves
Jeff Newmiller wrote:
> Prof Brian Ripley wrote:
>> Why do you think
>>
>>> help.search("garch-methods", package="tseries")
>> finds accessor functions? That is notation for S4 methods, and "garch"
>> is an S3 class so there will be none. Here there _is_ an accessor,
>> coef(), and you can find that there is by
>
> Probably because I used it, found a mention of various extraction functions
> including coef(), and could not find a way to access "Pr(>|t|)" using
> coef(). Nor have I had luck with
> help.search("summary.garch", package="tseries")
>
> Possibly also because I have not yet figured out the difference between
> S4 and S3 methods, but since the result of my help.search call displayed S3
> functions I don't see how knowing this difference would have helped.
>
>>> methods(class="garch")
>> [1] coef.garch* fitted.garch* logLik.garch* plot.garch*
>> [5] predict.garch* print.garch* residuals.garch* summary.garch*
>>
>> Non-visible functions are asterisked
>>
>> Note though that inherited methods might be relevant too (e.g. default
>> methods) and indeed it seems that here the default method for coef would
>> work just as well.
>
> Given Arun Kumar Saha's question...
>
> > > Now I want to store the value of Pr(>|t|) for coefficient a0, a1,
> > > and b1, and also values of these coefficients, so that I can use
> > > them in future separately. I know that I can do it for coefficients
> > > by using the command:
> > > coef(garch1)["a0"] etc, but not for Pr(>|t|). Can anyone please
> > > tell me how to do this?
>
> ... I don't see how coef() helps because I have yet to figure out how
> to use coef() (or any other accessor) to find " Std. Error" of the
> coefficient, much less "Pr(>|t|)". summary.garch seems to have only a
> print method, with no accessors at all. Can you offer a solution?
>
More information about the R-help
mailing list