I am running two-pass regression to test the FF 3-factor model. Since the betas are estimated from the time-series regression, the first pass, they represent generated regressor in the cross-section regression, the second pass. This is the classical errors-in-variables problem. I would like to how I use Shanken's correction to adjust for the overstated precision of the Fama-MacBeth standard errors. Thank you in advance
Here are the codes for two-pass regression. Special thanks to Tom!
- Code: Select all
dec vect[series] betas(3)
dec series avgret
clear(zeros) betas avgret
*
* Do time series regressions for each portfolio, saving the mean return (into
* avgret) and the coefficients on the factors (into BETAS).
*
compute port=0
dofor s = sl to bh
linreg s
# constant mktrf smb hml
compute port=port+1
compute %pt(betas,port,%xsubvec(%beta,2,4))
compute avgret(port)=%mean
end dofor s
*
* Run the cross section regression across portfolios
*
linreg avgret 1 port
# betas