From: tom soyer <tom.soyer_at_gmail.com>

Date: Mon, 4 Feb 2008 06:18:08 -0600

Date: Mon, 4 Feb 2008 06:18:08 -0600

Thanks Bernhard for the beautiful code!!

On 2/4/08, Pfaff, Bernhard Dr. <Bernhard_Pfaff_at_fra.invesco.com> 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 <spencer.graves_at_pdf.com> 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 <spencer.graves_at_pdf.com> 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* <spencer.graves_at_pdf.com
**> >> >>> <mailto:spencer.graves_at_pdf.com>> 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_at_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_at_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.Received on Mon 04 Feb 2008 - 12:21:11 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Mon 04 Feb 2008 - 12:30:11 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*