Hi there!
I am currently in the process of testing the Fama-French 4 factors in 3 different VIX regimes. I wonder if I correctly obtained my results, hence is why I would you to double-check me. Specifically, I want to see whether the Size Anomaly holds when market volatility is high versus low versus moderate.
This is how my data looks like:
These are my commands in stata:
generate date = exceldate + td(30dec1899)
format date %td
generate excret = return - rf
egen id = group(permno)
xtset id date, monthly
generate high = 0
replace high = 1 if vix >30
generate mid = 0
replace mid = 1 if vix <30 & vix >20
generate low = 0
replace low = 1 if vix <20
xtreg excret mkt smb hml mom i.high#c.smb i.low#c.smb, fe
See my output below. Is this the correct way to see the differences in the SMB coefficient in different regimes?
I would interpret it as following: the SMB premium is 0.55% per month in a moderate VIX regime, it decreases to 0.35% in a low VIX regime and it increases to 1.15% in a high VIX regime.

I want to kindly thank you for looking at questions.
Regards,
Thomas Demmer
I am currently in the process of testing the Fama-French 4 factors in 3 different VIX regimes. I wonder if I correctly obtained my results, hence is why I would you to double-check me. Specifically, I want to see whether the Size Anomaly holds when market volatility is high versus low versus moderate.
This is how my data looks like:
permno | name | exceldate | price | marketcap | return | return(/100) | mkt | smb | hml | rf | mom | vix |
10078 | SUN MICROSYSTEMS INC; COM NONE; CONS | 36556 | 78.5625 | 122644390 | 1.4527845 | 0.01452785 | 2.28 | 10.86 | -10.15 | 0.43 | 17.74 | 24.950001 |
10104 | ORACLE CORP; COM NONE; CONS | 36556 | 49.95313 | 142233745 | -10.847732 | -0.1084773 | 2.28 | 10.86 | -10.15 | 0.43 | 17.74 | 24.950001 |
10107 | MICROSOFT CORP; COM NONE; CONS | 36556 | 97.875 | 505037447 | -16.167024 | -0.1616702 | 2.28 | 10.86 | -10.15 | 0.43 | 17.74 | 24.950001 |
10108 | SUNGARD DATA SYSTEMS INC; COM NONE; CONS | 36556 | 29 | 3718873 | 22.1052632 | 0.22105263 | 2.28 | 10.86 | -10.15 | 0.43 | 17.74 | 24.950001 |
10137 | ALLEGHENY ENERGY INC; COM NONE; CONS | 36556 | 27.4375 | 3030087.75 | 1.8561485 | 0.01856149 | 2.28 | 10.86 | -10.15 | 0.43 | 17.74 | 24.950001 |
10138 | T ROWE PRICE ASSOC INC; COM NONE; CONS | 36556 | 38.875 | 4691357.25 | 5.2453469 | 0.05245347 | 2.28 | 10.86 | -10.15 | 0.43 | 17.74 | 24.950001 |
generate date = exceldate + td(30dec1899)
format date %td
generate excret = return - rf
egen id = group(permno)
xtset id date, monthly
generate high = 0
replace high = 1 if vix >30
generate mid = 0
replace mid = 1 if vix <30 & vix >20
generate low = 0
replace low = 1 if vix <20
xtreg excret mkt smb hml mom i.high#c.smb i.low#c.smb, fe
See my output below. Is this the correct way to see the differences in the SMB coefficient in different regimes?
I would interpret it as following: the SMB premium is 0.55% per month in a moderate VIX regime, it decreases to 0.35% in a low VIX regime and it increases to 1.15% in a high VIX regime.
I want to kindly thank you for looking at questions.
Regards,
Thomas Demmer