BookmarkSubscribeRSS Feed
MAC1430
Pyrite | Level 9

Hi everyoneI

am trying to run Fama Macbeth regression using data where few independent variables (risk factors) are shared across stocks each month, and others are not (Price, Size, Skenwss, Idiosyncratic Volatility).

 

I guess it happens because the factor must vary across cross-sectional units, i.e., across stocks in a month.


Ri,t=Bi,t(RMRF)+Bi,t(SMB)+Bi,t(HML)+logPRICEt-1+logBTMt-1+IVt-1


In this regression RMRF, SMB and HML are same for each stock in a month but logPRICE, logBTM and IV are different.


Thanks for your help.

 

Best Regards,

 

Cheema

4 REPLIES 4
MAC1430
Pyrite | Level 9

I am trying to run Fama Macbeth regression using data where few independent variables (risk factors) are shared across stocks each month, and others are not (Price, Size, Skenwss, Idiosyncratic Volatility).

 

I guess it happens because the factor must vary across cross-sectional units, i.e., across stocks in a month.


Ri,t=Bi,t(RMRF)+Bi,t(SMB)+Bi,t(HML)+logPRICEt-1+logBTMt-1+IVt-1


In this regression RMRF, SMB and HML are same for each stock in a month but logPRICE, logBTM and IV are different.


Thanks for your help.

 

Kind Regards,

 

Cheema

 

Puwang
Obsidian | Level 7

You can add "month" as a class variable, and add interaction between (Price, Size, Skenwss, Idiosyncratic Volatility) and month. To add an interaction effect, you just do price*month. So in your example, the regression function will be:

 

Ri,t=Bi,t(RMRF)+Bi,t(SMB)+Bi,t(HML)+ (logPRICEt-1)*month +(logBTMt-1)*month + (IVt-1)*month

 

In this way, it will estimate different parameters for PRICE, BTM and IV each month. Don't forget to claim month as a class variable in your model.

MAC1430
Pyrite | Level 9

Hi Puwang,

 

Sorry, my question might be bit unclear. In Fama Macbeth regression, the independent variable need to vary across stocks in each time period. However, in my case, the dependent variables like SMB, HML and RMRF are same for all the stocks in a given time periods. Therefore, I am wondering how to use Fama Macbeth regression in this situation. I estimate beta for each stocks first and then run the Fama Macbeth regression. By estimating beta for each stock will make the independent variable vary across stocks in each time period; therefore might be possible to use Fama Macbeth regression. Can you please advise me if this process sounds fine?

 

Thanks for your help.

 

Best,

 

Cheema 

Batool
Fluorite | Level 6

Hi Cheema,

 

I am facing the same problem now. So, I am wondering if you were able to solve yours.

 

I am trying to run a regression using Fama-French Factors and I have coefficients that are zero because SAS is unable to compute correlation statistics for variable Residual. 

 

can you please share your solution if you already found one?
 

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 2900 views
  • 1 like
  • 3 in conversation