Thanks Bernhard for the beautiful code!!

On 2/4/08, Pfaff, Bernhard Dr. <[EMAIL PROTECTED]> wrote:
>
> Dear All,
>
>
> one can visually inspect ARCH-effects by plotting acf/pacf of the
> squared residuals from an OLS-estimation. This can be as simple as a
> demeaned series. Further one can run an auxiliary regression by
> regressing q lagged squared values and a constant on the squared series
> itself. This test statistic (N-q)*R^2 is distributed as chisq with q
> degrees of freedom.
>
> Something along the lines:
>
> archlmtest <- function (x, lags, demean = FALSE)
> {
> x <- as.vector(x)
> if(demean) x <- scale(x, center = TRUE, scale = FALSE)
>    lags <- lags + 1
>    mat <- embed(x^2, lags)
>    arch.lm <- summary(lm(mat[, 1] ~ mat[, -1]))
>    STATISTIC <- arch.lm$r.squared * length(resid(arch.lm))
>    names(STATISTIC) <- "Chi-squared"
>    PARAMETER <- lags - 1
>    names(PARAMETER) <- "df"
>    PVAL <- 1 - pchisq(STATISTIC, df = PARAMETER)
>    METHOD <- "ARCH LM-test"
>    result <- list(statistic = STATISTIC, parameter = PARAMETER,
>        p.value = PVAL, method = METHOD, data.name =
> deparse(substitute(x)))
>    class(result) <- "htest"
>    return(result)
> }
>
> should work and yield equal results as mentioned earlier in this thread.
>
> Best,
> Bernhard
>
>
> >
> >Spencer,
> >
> >The warning message is sent from VAR, it basically lets you
> >know that the
> >data it used had no column names and it had to supply them
> >using y1, y2, y3,
> >etc. It can be suppressed by including options(warn=-1) in the
> >function.
> >
> >Anyway, it seems that the p value from my function does not match
> >FinMetrics'. I guess the function doesn't work... hmm...
> >
> >
> >On 2/2/08, Spencer Graves <[EMAIL PROTECTED]> wrote:
> >>
> >> Dear Tom:
> >>
> >>      Your revised function eliminates the discrepancy in the
> >degrees of
> >> freedom but is still very different from the numbers reports
> >on Tsay, p.
> >> 102:
> >>
> >> archTest(log(1+as.numeric(m.intc7303)), lag=12)
> >>
> >>    ARCH test (univariate)
> >>
> >> data:  Residual of y1 equation
> >> Chi-squared = 13.1483, df = 12, p-value = 0.3584
> >>
> >> Warning message:
> >> In VAR(s, p = 1, type = "const") :
> >> No column names supplied in y, using: y1, y2, y3, y4, y5, y6, y7, y8,
> >> y9, y10, y11, y12 , instead.
> >>
> >>
> >>      TOM:  What can you tell me about the warning message?
> >>
> >>      Thanks for your help with this.
> >>      Spencer Graves
> >>
> >> tom soyer wrote:
> >> > Spencer,
> >> >
> >> > Sorry, I forgot that the default lag in arch is 16. Here
> >is the fix. Can
> >> you
> >> > try it again and see if it gives the correct (or at least similar
> >> compared
> >> > to a true LM test) result?
> >> >
> >> > archTest=function(x, lags=12){
> >> >  #x is a vector
> >> >  require(vars)
> >> >  s=embed(x,lags)
> >> >  y=VAR(s,p=1,type="const")
> >> >  result=arch(y,lags.single=lags,multi=F)$arch.uni[[1]]
> >> >  return(result)
> >> > }
> >> >
> >> > Thanks and sorry about the bug.
> >> >
> >> >
> >> > On 2/2/08, Spencer Graves <[EMAIL PROTECTED]> wrote:
> >> >
> >> >> Dear Tom, Bernhard, Ruey:
> >> >>
> >> >>      I can't get that to match Tsay's example, but I have other
> >> >> questions about that.
> >> >>
> >> >>      1.  I got the following using Tom's 'archTest'
> >function (below):
> >> >>
> >> >>
> >> >>> archTest(log(1+as.numeric(m.intc7303)), lags=12)
> >> >>>
> >> >>    ARCH test (univariate)
> >> >>
> >> >> data:  Residual of y1 equation
> >> >> Chi-squared = 10.8562, df = 16, p-value = 0.8183
> >> >>
> >> >> Warning message:
> >> >> In VAR(s, p = 1, type = "const") :
> >> >> No column names supplied in y, using: y1, y2, y3, y4, y5,
> >y6, y7, y8,
> >> >> y9, y10, y11, y12 , instead.
> >> >>
> >> >>
> >> >>           ** First note that the answer has df = 16, even though I
> >> >> supplied lags = 12.
> >> >>
> >> >>      2.  For (apparently) this example, S-Plus FinMetrics
> >'archTest'
> >> >> function returned "Test for ARCH Effects:  LM Test.  Null
> >Hypothesis:
> >> >> no ARCH effects.  Test Stat 43.5041, p.value 0.0000.
> >Dist. under Null:
> >> >> chi-square with 12 degrees of freedom".
> >> >>
> >> >>      3.  Starting on p. 101, Ruey mentioned "the Lagrange
> >multiplier
> >> >> test of Engle (1982)", saying "This test is equivalent to
> >the usual F
> >> >> test for" no regression, but refers it to a chi-square, not an F
> >> >> distribution.  Clearly, there is a gap here, because the
> >expected value
> >> >> of the F distribution is close to 1 [d2/(d2-2), where d2
> >= denominator
> >> >> degrees of freedom;  http://en.wikipedia.org/wiki/F-distribution],
> >> while
> >> >> the expected value for a chi-square is the number of
> >degrees of freedom
> >> >>
> >> >>      Unfortunately, I don't feel I can afford the time to
> >dig into this
> >> >> further right now.
> >> >>
> >> >>      Thanks for your help.
> >> >>      Spencer Graves
> >> >>
> >> >> tom soyer wrote:
> >> >>
> >> >>> Spencer, how about something like this:
> >> >>>
> >> >>> archTest=function (x, lags= 16){
> >> >>>  #x is a vector
> >> >>>  require(vars)
> >> >>>  s=embed(x,lags)
> >> >>>  y=VAR(s,p=1,type="const")
> >> >>>  result=arch(y,multi=F)$arch.uni[[1]]
> >> >>>  return(result)
> >> >>> }
> >> >>>
> >> >>> can you, or maybe Bernhard, check and see whether this
> >function gives
> >> >>> the correct result?
> >> >>>
> >> >>> thanks,
> >> >>>
> >> >>> On 2/1/08, *Spencer Graves* <[EMAIL PROTECTED]
> >> >>> <mailto:[EMAIL PROTECTED]>> wrote:
> >> >>>
> >> >>>     Hi, Tom:
> >> >>>
> >> >>>          The 'arch' function in the 'vars' package is
> >supposed to be
> >> >>>
> >> >> able
> >> >>
> >> >>>     to do that.  Unfortunately, I was unable to make it
> >work for a
> >> >>>     univariate series.  Bernhard Pfaff, the author of
> >'vars', said
> >> >>>     that if I
> >> >>>     read the code for 'arch', I could easily retrieve
> >the necessary
> >> >>>
> >> >> lines
> >> >>
> >> >>>     and put them in my own function;  I have not so far
> >found the time
> >> >>>
> >> >> to
> >> >>
> >> >>>     try that.  If you do, or if you get a better answer
> >than this,
> >> >>>     would you
> >> >>>     please let me know?  I would like to have this
> >capability for the
> >> >>>     'FinTS' package, and I would happily write a help
> >page if someone
> >> >>>     would
> >> >>>     contribute the function -- or use a function in another
> >> >>>
> >> >> package.  Tsay
> >> >>
> >> >>>     (2005) Analysis of Financial Time Series, 2nd ed.
> >(Wiley) includes
> >> >>>
> >> >> an
> >> >>
> >> >>>     example on p. 103 that could be used for a reference.
> >> >>>
> >> >>>          Hope this helps.
> >> >>>          Spencer Graves
> >> >>>
> >> >>>     tom soyer wrote:
> >> >>>     > Hi,
> >> >>>     >
> >> >>>     > Does anyone know if R has a Lagrange multiplier
> >(LM) test for
> >> ARCH
> >> >>>     > effects for univariant time series?
> >> >>>     >
> >> >>>     > Thanks!
> >> >>>     >
> >> >>>     >
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Tom
> >> >>>
> >> >
> >> >
> >> >
> >> >
> >>
> >
> >
> >
> >--
> >Tom
> >
> >       [[alternative HTML version deleted]]
> >
> >______________________________________________
> >R-help@r-project.org mailing list
> >https://stat.ethz.ch/mailman/listinfo/r-help
> >PLEASE do read the posting guide
> >http://www.R-project.org/posting-guide.html
> >and provide commented, minimal, self-contained, reproducible code.
> >
> *****************************************************************
> Confidentiality Note: The information contained in this message,
> and any attachments, may contain confidential and/or privileged
> material. It is intended solely for the person(s) or entity to
> which it is addressed. Any review, retransmission, dissemination,
> or taking of any action in reliance upon this information by
> persons or entities other than the intended recipient(s) is
> prohibited. If you received this in error, please contact the
> sender and delete the material from any computer.
> *****************************************************************
>
>


-- 
Tom

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to