0

I have a panel dataset and I'm running a fixed effects regression. My dependent variable is CDS Spreads and I have 7 independent variables which are macroeconomic variables (GDP, Inflation etc) and then I have ratings data for three agencies which is the eighth independent variable, so I basically run three separate regressions for each rating agency:

plm(CDS ~ GDP+Inflation+...+S&PRating, data, model="within")



plm(CDS ~ GDP+Inflation+...+FTSE, data, model="within") 



plm(CDS ~ GDP+Inflation+...+Moodys, data, model="within")

I want to compare the difference in the magnitude of effect of the three agencies on CDS spreads and also in comparison to the rest of the independent variables but the scale of the rating by the three agencies is different. I want to standardize the coefficients. How do I do that for panel data. "lm.beta" from the "QuantPsyc" package is not giving accurate results. It changes the signs of the coefficients and an earlier post suggested that it is not advisable to use z-transformation for panel data. Can you please suggest a way to make a meaningful comparison from the results?

Thanks!

paqmo
  • 3,649
  • 1
  • 11
  • 21
Arsh
  • 11

1 Answers1

0

If you run three different regressions you cannot formally test differences in coefficients. It might be more informative to:

  1. Standardize the scores (standard normal could be a good start, here some more info https://datascience.stackexchange.com/questions/1240/methods-for-standardizing-normalizing-different-rank-scales)
  2. Stack your data, so that each observation shows up three times. The score will be in the same variable.
  3. Create 3 new variables, where you interact the score with a dummy indicator of the score agency. Your data will look like this:
    rbind(
    data.frame(iso3 = "USA", year = 2001, gdp = 13, score_sp = 1, score_moody = 0, score_sfse = 0 ),
    data.frame(iso3 = "USA", year = 2001, gdp = 13, score_sp = 0, score_moody = 2, score_sfse = 0 ),
    data.frame(iso3 = "USA", year = 2001, gdp = 13, score_sp = 0, score_moody = 0, score_sfse = 3 )
    )

      iso3 year gdp score_sp score_moody score_sfse
    1  USA 2001  13        1           0          0
    2  USA 2001  13        0           2          0
    3  USA 2001  13        0           0          3

  1. Estimate your model:
    plm(CDS ~ GDP+Inflation+...+ score_sp + score_moody + score_ftse, data, model="within")

Now you can simply compare coefficients with t-tests.

If you want to see how coefficients on the "control" variables change when you use a different score then your data will look like this:

  iso3 year score_sp score_moody score_sfse gdp_sp gdp_moody gdp_sfse
1  USA 2001        1           0          0     13         0        0
2  USA 2001        0           2          0      0        13        0
3  USA 2001        0           0          3      0         0       13

Now you can use t-test to check whether the coefficient on gdp is bigger when using one particular score (if that is what you are interested in).

desval
  • 2,345
  • 2
  • 16
  • 23
  • Thank you for the input. I cannot estimate the model you suggested because the scores are highly correlated. The idea is to see the analyze the differences in the magnitude of the impact of the ratings score on the CDS Spreads in comparison to the other independent variables. – Arsh Apr 20 '20 at 13:06
  • Note that while all scores show up in the formula, effectively only one score at a time is considered in the regression. There is no issue with correlations between the scores. – desval Apr 20 '20 at 13:24
  • Standardization of just the scores will not allow me to make a comparison with respect to the other independent variables if I'm not wrong? I think there isn't a need to run a model by including all the scores if I find way to standardize the coefficients in the given regressions because then I could easily make the comparison between the variance explained by the three ratings given the other independent variables. – Arsh Apr 20 '20 at 13:39