I have a panel data set that covers 20 earnings dates for 50 companies. I would like to know if I should scale data by the ticker or just scale the data without grouping. What would be the pros and cons to each approach.
My DV is the stock move on the earnings date and my independent variables are EPS Surprise and Revenue Surprise.
The reason I like grouping by ticker and then scaling the data set is (for example) NFLX (Netflix) will usually have earning surprises that range from -100%:100% while KO (Coca Cola) will have earnings surprises that range from -5%:5%.
To clarify, here is a toy data set. The first dataframe is the raw data, the second data frame is grouped by ticker and then scaled and the third is not grouped and then scaled. My question again is, when should I group by a variable and scale rather than not group and scale?
The end goal will be to build a prediction model. In my real data set I have much more variables such as volatility, beta, P/E, P/S etc...
Note* I added R code below
Raw Data Frame (Panel Data)
ticker move EPS.Surp Rev.Surp
1 NFLX 8.1020701 -15.2696361 -1.5580548
2 NFLX 4.2980923 -11.9710573 10.4673573
3 NFLX 9.4955246 54.5460546 16.5437769
4 NFLX -8.6181125 -45.2619571 2.2685455
5 GS 0.8988735 5.9303073 1.6376293
6 GS -2.6680112 0.3207252 0.8509929
7 GS 1.5005094 -0.8304341 -1.1515227
8 GS 0.2684115 -3.7049273 -0.6800127
9 AAPL 1.5619276 11.4245512 -1.4972607
10 AAPL 3.9140220 -14.5338353 10.8324545
11 AAPL 4.2795825 -7.9250778 14.5513257
12 AAPL -3.8515053 -4.8476398 14.6462691
Scaled Data frame with grouping
df.group.scaled = df.raw %>% group_by(ticker) %>% mutate_if(is.numeric, scale)
ticker move EPS.Surp Rev.Surp
1 NFLX 0.579 -0.256 -1.04
2 NFLX 0.119 -0.178 0.435
3 NFLX 0.748 1.40 1.18
4 NFLX -1.45 -0.968 -0.573
5 GS 0.486 1.36 1.13
6 GS -1.44 -0.0268 0.527
7 GS 0.812 -0.312 -1.01
8 GS 0.145 -1.02 -0.648
9 AAPL 0.0229 1.40 -1.46
10 AAPL 0.650 -0.958 0.157
11 AAPL 0.748 -0.359 0.645
12 AAPL -1.42 -0.0795 0.657
Scaled data without grouping
df.scaled = df.raw %>% mutate_if(is.numeric, scale)
ticker move EPS.Surp Rev.Surp
1 NFLX 1.291247353 -0.54877776 -0.9921123
2 NFLX 0.535994859 -0.40502916 0.6802366
3 NFLX 1.567907726 2.49371676 1.5252716
4 NFLX -2.028424891 -1.85581163 -0.4599550
5 GS -0.138895639 0.37509352 -0.5476952
6 GS -0.847074978 0.13063382 -0.6570911
7 GS -0.019445148 0.08046751 -0.9355767
8 GS -0.264069340 -0.04479989 -0.8700048
9 AAPL -0.007251006 0.61452690 -0.9836578
10 AAPL 0.459740448 -0.51671233 0.7310099
11 AAPL 0.532319861 -0.22870962 1.2481856
12 AAPL -1.082049245 -0.09459810 1.2613892