Hello,

Currently, I am writing my thesis, in which I have to calculate the moving median of the ROE of 48 firm classifications by Fama French (1997). The calculation is as follows:

"To compute a target industry ROE, we group all stocks into the same 48 industry
classifications as Fama and French [1997]. The industry target ROE is a moving median of past ROEs from all firms in the same industry. We use at least five years, and up to ten years, of past data to compute this median."

I already had a look at the last post: https://www.statalist.org/forums/for...for-industries

I used and then modified the code they used in the post because I already selected 5 years. However, I did not manage to get the code right, because I am getting an "if not found" error. Maybe someone knows how to get it right? It would be of great help.

This is the code I now have:

levelsof industry, local(industries)
levelsof Date, local(years)

gen moving_median_roe = .

foreach ind of local industries {
foreach y of local years {
replace moving_median_roe = `r(p50)' if industry == `ind' & Date == `y'
}
}

summ moving_median_roe


This is my data: