I am running a panel regression with the returns of various mutual funds as a function of time varied macro shocks. I want to run a weighted FE regression that weights each line by the size of the fund. I have tried using both per period size weights (that are equal to “fund size this year/sum of all funds this year) and mean size weights (that are equal to the mean of fund size for all years) for the entire sample period.
If I try to use the yearly size weights with xtreg I get an error saying that “weight must be constant within id”
Using REGFEHD with the yearly weights seems to work but produces results that are dramatically different than those of the of mean size weights.
I’ve tried running rolling regressions with mean weights and the results seem to be much more consistent with those of the entire sample mean weights then those of the time varied weights.
The two lines of code are:

xtreg returns shock_1 shock_2 shock_3 [w = size_weights], fe vce(cluster id)
reghdfe returns shock_1 shock_2 shock_3 [pw = size_weights], a(id) vce(cluster id)