Spectral density matrix in GMM
[S,eflag,gmmopt] = gmmS(b,gmmopt,Y,X,Z)
b = parameter values
gmmopt = options tlist from GMM which revelant arguments are [default]
* gmmopt('W') = set to 'S' to use gmmS for inverse spectral density as GMM weighting matrix
* gmmopt('W0') = initial weighting matrix ['Z']:
- 'Z' = inv(I kron Z'Z)
- 'I' = identity
- 'C' = calculated from parms in b
- 'U' = user-defined (pass to gmm as Win)
*gmmopt('S') Type of spectral density matrix:
- 'I' = identity
- 'P' = plain (like OLS, e'e.*.Z'Z)
- 'W' = White (hetero-consistent)
- 'H' = Hansen (truncated, wts = 1 or 0)
- 'NW' = Newey-West (Bartlett weights)
- 'G' = Gallant (Parzen weights)
- 'AM' = Andews or Andrews-Monahan (see andmon.sci)
* gmmopt('lags') = lags in H, NW, or G kernels
* gmmopt('wtvec')= user-defined weights for Hansen matrix, allows for seasonals, etc (eg. wtvec = [1 0 1])
* gmmopt('Strim') = Controls demeaning of moments in calculating S [1]
- 0 = none
- 1 = demean model errors e
- 2 = demean moments, Z'e
Y = endogenous data
X = exogenous variable
Z = instruments
S = the spectral density matrix of the GMM moments
eflag = 1 if matrix is negative definite
gmmopt = gmm option tlist