A set of functions implementing the Newey & West (1987, 1994) heteroscedasticity and autocorrelation consistent (HAC) covariance matrix estimators.

NeweyWest(x, lag = NULL, order.by = NULL, prewhite = TRUE, adjust = FALSE, 
  diagnostics = FALSE, sandwich = TRUE, ar.method = "ols", data = list(),
  verbose = FALSE)

bwNeweyWest(x, order.by = NULL, kernel = c("Bartlett", "Parzen",
  "Quadratic Spectral", "Truncated", "Tukey-Hanning"), weights = NULL,
  prewhite = 1, ar.method = "ols", data = list(), ...)



a fitted model object. For bwNeweyWest it can also be a score matrix (as returned by estfun) directly.


integer specifying the maximum lag with positive weight for the Newey-West estimator. If set to NULL floor(bwNeweyWest(x, ...)) is used.


Either a vector z or a formula with a single explanatory variable like ~ z. The observations in the model are ordered by the size of z. If set to NULL (the default) the observations are assumed to be ordered (e.g., a time series).


logical or integer. Should the estimating functions be prewhitened? If TRUE or greater than 0 a VAR model of order as.integer(prewhite) is fitted via ar with method "ols" and demean = FALSE. The default is to use VAR(1) prewhitening.


a character specifying the kernel used. All kernels used are described in Andrews (1991). bwNeweyWest can only compute bandwidths for "Bartlett", "Parzen" and "Quadratic Spectral".


logical. Should a finite sample adjustment be made? This amounts to multiplication with \(n/(n-k)\) where \(n\) is the number of observations and \(k\) the number of estimated parameters.


logical. Should additional model diagnostics be returned? See vcovHAC for details.


logical. Should the sandwich estimator be computed? If set to FALSE only the middle matrix is returned.


character. The method argument passed to ar for prewhitening (only, not for bandwidth selection).


an optional data frame containing the variables in the order.by model. By default the variables are taken from the environment which the function is called from.


logical. Should the lag truncation parameter used be printed?


numeric. A vector of weights used for weighting the estimated coefficients of the approximation model (as specified by approx). By default all weights are 1 except that for the intercept term (if there is more than one variable).


currently not used.


NeweyWest is a convenience interface to vcovHAC using Bartlett kernel weights as described in Newey & West (1987, 1994). The automatic bandwidth selection procedure described in Newey & West (1994) is used as the default and can also be supplied to kernHAC for the Parzen and quadratic spectral kernel. It is implemented in bwNeweyWest which does not truncate its results - if the results for the Parzen and Bartlett kernels should be truncated, this has to be applied afterwards. For Bartlett weights this is implemented in NeweyWest.

To obtain the estimator described in Newey & West (1987), prewhitening has to be suppressed.


NeweyWest returns the same type of object as vcovHACwhich is typically just the covariance matrix. bwNeweyWest returns the selected bandwidth parameter.


Andrews DWK (1991). “Heteroskedasticity and Autocorrelation Consistent Covariance Matrix Estimation.” Econometrica, 59, 817--858.

Newey WK & West KD (1987). “A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix.” Econometrica, 55, 703--708.

Newey WK & West KD (1994). “Automatic Lag Selection in Covariance Matrix Estimation.” Review of Economic Studies, 61, 631--653.

Zeileis A (2004). “Econometric Computing with HC and HAC Covariance Matrix Estimators.” Journal of Statistical Software, 11(10), 1--17. doi:10.18637/jss.v011.i10


## fit investment equation
fm <- lm(RealInv ~ RealGNP + RealInt, data = Investment)

## Newey & West (1994) compute this type of estimator
#>             (Intercept)       RealGNP     RealInt
#> (Intercept) 594.1004817 -0.5617817294 36.04992496
#> RealGNP      -0.5617817  0.0005563172 -0.04815937
#> RealInt      36.0499250 -0.0481593694 13.24912546

## The Newey & West (1987) estimator requires specification
## of the lag and suppression of prewhitening
NeweyWest(fm, lag = 4, prewhite = FALSE)
#>             (Intercept)       RealGNP      RealInt
#> (Intercept) 359.4170681 -0.3115505035 -4.089319305
#> RealGNP      -0.3115505  0.0002805888 -0.005355931
#> RealInt      -4.0893193 -0.0053559312 11.171472998

## bwNeweyWest() can also be passed to kernHAC(), e.g.
## for the quadratic spectral kernel
kernHAC(fm, bw = bwNeweyWest)
#>             (Intercept)       RealGNP     RealInt
#> (Intercept)  794.986166 -0.7562570101 48.19485118
#> RealGNP       -0.756257  0.0007537517 -0.06485461
#> RealInt       48.194851 -0.0648546058 17.58798679