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