Hi, Im working on my masters thesis. I have unbalanced panel data, for about 1550 individial mutual funds (monthly data) from January 2000 until December 2020 (283,928 observations for each varaible). I have the following varibles:
ExcessReturn = mutual funds monthly excess return (return - risk free rate)
RMRF = Market return minus risk free rate
SMB, HML, MOM, CMA, RMA = Risk factors from the 3-4-5-factor models.

The mutual funds are seperates by ID code starting at 2761 until 51,250 (ID code skips hundreds of numbers at a time, not linear)
I want to run the regressions:
ExcessReturn = a + B(RMRF) + e
Excess Return = a +B(RMRF) + B(SMB) + B(HML) + e
Excess Return = a +B(RMRF) + B(SMB) + B(HML) +B(MOM)+ e
Excess Return = a +B(RMRF) + B(SMB) + B(HML) + B(CMA) + B(RMA) + e

I know how to run the regression for all the funds at once, my question is how can I loop the code to run a regression for each of the funds individually? So I would have an alpha, beta, etc for fund 100 and fund 101 and 103, etc.

Thanks for your time and help,
Logan