Fama – MacBeth (1973) regressions with Shanken correction in Stata


Fama and MacBeth Procedure

The Fama and MacBeth (1973) procedure is a two-step process. It involves estimation of N cross-sectional regressions in the first step. And then in the second step,  it requires calculation of T time-series averages of the coefficients of the N-cross-sectional regressions. The standard errors are adjusted for cross-sectional dependence. This is generally an acceptable solution when there is a large number of cross-sectional units and a relatively small time series for each cross-sectional unit. However, if both cross-sectional and time-series dependence are suspected in the data set, then adjusting standard errors merely for cross-sectional dependence will not be sufficient.


Shanken Correction

In applying standard OLS formulas to a cross-sectional regression, we assume that the right-hand variables β are fixed. The β in the cross-sectional regression are not fixed, of course, but are estimated in the time-series regression.  Therefore, there might be sampling error in the estimates of β.  Shanken (1992) suggested a correction to the standard errors of the estimates.


Our Stata Code

We have developed easy to use yet robust codes for Fama and MacBeth procedure with Shanken correction.  The codes need just a basic understanding of Stata. Further, our comments on each line of code will surely help you to not only apply the code but also understand the process more clearly.



The code is available for $ 100, plus a $50 for raw data processing (in case the data is not in Stata format and variables are not already constructed). For further details, please contact us at:



See our full list of completed projects


  1. Fama, E. F., & MacBeth, J. D. (1973). Risk, return, and equilibrium: Empirical tests. Journal of political economy81(3), 607-636.
  2. Shanken, J. (1992). On the estimation of beta-pricing models. The review of financial studies5(1), 1-33.