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, ...)

## Arguments

x |
numeric vector, matrix, or time series. |

type |
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. |

prewhite |
logical or integer. Should the series be prewhitened?
Passed to `kernHAC` or `NeweyWest` . |

adjust |
logical. Should a finite sample adjustment be made?
Passed to `kernHAC` or `NeweyWest` . |

... |
further arguments passed on to `kernHAC` or
`NeweyWest` . |

## Details

`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).

## Value

For a univariate series `x`

a scalar variance is computed. For a
multivariate series `x`

the covariance matrix is computed.

## See also

## Examples

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