03-19-2018 10:58 AM
Hello and good day.
I'm running the code below for my project but it takes very long time, so I wondered if it was a way ... so that it did not print?
"Running a Fama-Macbeth regression in SAS is quite easy, and doesn't require any special macros. The following code will run cross-sectional regressions by year for all firms and report the means.
ods listing close; ods output parameterestimates=pe; proc reg data=dset; by year; model depvar = indvars; run; quit; ods listing; proc means data=pe mean std t probt; var estimate; class variable; run;
Since the results from this approach give a time-series, it is common practice to use the Newey-West adjustment for standard errors. Unlike Stata, this is somewhat complicated in SAS, but can be done as follows:
proc sort data=pe; by variable; run; %let lags=3; ods output parameterestimates=nw; ods listing close; proc model data=pe; by variable; instruments / intonly; estimate=a; fit estimate / gmm kernel=(bart,%eval(&lags+1),0) vardef=n; run; quit; ods listing; proc print data=nw; id variable; var estimate--df; format estimate stderr 7.4; run;