I am currently analysing daily yield spreads of the euro-area countries over a 10-year period. I have an unbalanced panel data (N=10 and T=3.717) characterized by heteroscedasticity, serial correlation, cross-sectional correlation, and endogeneity.
Yield spreads are the dependent variable (yield).
As regressors I use the lagged yield spread (l.yield) (endogenous variable) and other three exogenous variables bid_askspread cds_spread swap_spread. The model also includes country-specific fixed effect.
In order to estimate the model, I use Two-Stage Least Squares (2SLS) and I use as Instrumental Variables the second and the third lag of the dependent variable: l(2/3).yield, and the first three lags of all independent variables: l(1/3).bid_askspread l(1/3).cds_spread l(1/3).swap_spread.
The code that I run in Stata is the following:
Code:
xtivreg yield bid_askspread cds_spread swap_spread (l.yield=l(2/3).yield l(1/3).bid_askspread l(1/3).cds_spread l(1/3).swap_spread ), fe vce (cluster country)
Within: 0.9984
Between: 1.0000
Overall: 0.9989
Some academic papers show the adjusted-R2, but Stata does give this information after running xtivreg. Is there another Stata command that gives this result?
Should R2 be lower? Do these high values of R2 mean that there is something wrong in the model implemented?
I have to run 2SLS with cross-section weights in order to account for cross-sectional heteroscedasticity, therefore I tried to generate the optimal weighting matrix that is proportional to the inverse of the covariance matrix of the sample moments, meaning that sample moments with a small variance get more weights than those with larger variance, but I have not found a command that enables to get this matrix.
Using FGLS and excluding the lagged yield spread I get FGLS with cross-section weights using this code:
Code:
xtreg yield bid_askspread cds_spread swap_spread, fe vce(cluster c) predict e gen logesq = ln(e*e) reg logesq bid_askspread cds_spread swap_spread predict esqhat, xb gen omega = exp(esqhat) gen w = (1/omega)^0.5 gen wyield=w* yield gen wbidask=w* bid_askspread gen wcds=w* cds_spread gen wswap=w* swap_spread xtreg wyield wbidask wcds wswap w, fe vce(cluster c)
Thank you in advance for any clarification
0 Response to Two-Stage Least Squares with cross-section weights and adjusted-R2
Post a Comment