lrvar.Rd
Convenience function for computing the long-run variance (matrix) of a (possibly multivariate) series of observations.
lrvar(x, type = c("Andrews", "Newey-West"), prewhite = TRUE, adjust = TRUE, ...)
numeric vector, matrix, or time series.
character specifying the type of estimator, i.e., whether
kernHAC
for the Andrews quadratic spectral kernel HAC estimator
is used or NeweyWest
for the Newey-West Bartlett HAC
estimator.
logical or integer. Should the series be prewhitened?
Passed to kernHAC
or NeweyWest
.
logical. Should a finite sample adjustment be made?
Passed to kernHAC
or NeweyWest
.
lrvar
is a simple wrapper function for computing the long-run variance
(matrix) of a (possibly multivariate) series x
. First, this simply fits
a linear regression model x ~ 1
by lm
. Second,
the corresponding variance of the mean(s) is estimated either by kernHAC
(Andrews quadratic spectral kernel HAC estimator) or by NeweyWest
(Newey-West Bartlett HAC estimator).
For a univariate series x
a scalar variance is computed. For a
multivariate series x
the covariance matrix is computed.
suppressWarnings(RNGversion("3.5.0"))
set.seed(1)
## iid series (with variance of mean 1/n)
## and Andrews kernel HAC (with prewhitening)
x <- rnorm(100)
lrvar(x)
#> [1] 0.007958048
## analogous multivariate case with Newey-West estimator (without prewhitening)
y <- matrix(rnorm(200), ncol = 2)
lrvar(y, type = "Newey-West", prewhite = FALSE)
#> [,1] [,2]
#> [1,] 0.0097884718 0.0005978738
#> [2,] 0.0005978738 0.0073428222
## AR(1) series with autocorrelation 0.9
z <- filter(rnorm(100), 0.9, method = "recursive")
lrvar(z)
#> [1] 0.4385546