Page 1 of 1

Imposing MS-Regime-probabilities estimates on other series

Posted: Thu Feb 09, 2012 12:02 pm
by Matt
Hello everyone,

I'm currently conducting a research on asymmetric influences Fama & French factors in dependence on the prevailing stock market regime. More precisely, I'm using a MSregression EM-setup to estimate the influence of the Fama & French 3-factor model on the S&P 500, EWRETD, VWRETD and the capitalization decile portfolios. The setup follows a four state Markov setup that allows changing coefficients in the mean equations and also changing variances. The Markov regime switching model is running smoothly and produces estimates in accordance to my expectations. The source looks as follows and is in line with the one presented in the course on regime switching models.

Code: Select all

OPEN DATA "E:\Dataset.xlsx"
DATA(FORMAT=XLSX,ORG=COLUMNS) 1 4819
*
*VWRETD Results on 3-Factor Model
*
*Robust OLS Regression
*
set g = VWRETD
LINREG(ROBUST,VCV) g / VWRETD_RESID
# Constant MKTRF SMB HML
*
*Regression 4-regimes EM on 3-Factor Model
*
@msregression(switch=ch,states=4) g
# Constant MKTRF SMB HML
nonlin(parmset=regparms) gammas betas sigsqv
nonlin(parmset=msparms)  p
*
compute gstart=4,gend=4819
@MSRegInitial gstart gend
*
@MSRegEMGeneralSetup
do emits=1,50
@MSRegEMStep gstart gend
disp "Iteration" emits "Log Likelihood" %logl
end do emits
*
* Polish estimates with 10 BHHH iterations
*
compute p=%xsubmat(p,1,nstates-1,1,nstates)
nonlin(parmset=regparms) betas sigsqv
nonlin(parmset=msparms) p
frml logl = f=%MSRegFVec(t),fpt=%MSProb(t,f),log(fpt)
@MSFilterInit
maximize(start=%(%MSRegInitVariances(),pstar=%msinit()),$
parmset=regparms+msparms,$
method=bhhh,iters=10) logl gstart gend
*
set pregime1 gstart gend = psmooth(t)(1)
set pregime2 gstart gend = psmooth(t)(2)
set pregime3 gstart gend = psmooth(t)(3)
*
* Graph results
*
set contract = nber==1
spgraph(vfields=4)
graph(header="Daily VWRETD Return",shade=contract)
# g %regstart() %regend()
graph(style=polygon,header="Probability of Stock Market Being in State 1",shade=contract)
# pregime1 %regstart() %regend()
graph(style=polygon,header="Probability of Stock Market Being in State 2",shade=contract)
# pregime2 %regstart() %regend()
graph(style=polygon,header="Probability of Stock Market Being in State 3",shade=contract)
# pregime3 %regstart() %regend()
*
spgraph(done)
I am, however, encountering a problem when it comes to some robustness tests. More precisely, when it comes to the decile portfolios, I want to test whether the estimates based on the regime-probabilities for the smallest stock portfolio diverge when I estimate them given the smoothed regime probabilities based on the VWRETD. The rationale is the following: If we assume that we have one general stock market regime, to which all stock are exposed, then idiosyncrasies in small stocks may lead to diverging regime estimates due to different probabilities of observing a specific state at time t. (Of course, an opposite argument could be motivated by market segmentation.) Anyhow, I just want to check whether the coefficients are similar or not. But I somehow struggle to impose the transition probabilities / the smoothed probability series on the other index. Saving the smoothed probability estimates is not a big deal, but, somehow, I'm messing up the next step

I hope that my problem has become clear.

Re: Imposing MS-Regime-probabilities estimates on other seri

Posted: Fri Feb 10, 2012 8:07 am
by TomDoan
If you check the comments on the procedures, you'll see the following:

Code: Select all

* @MSRegEMStep gstart gend
* @MSRegEStep gstart gend
* @MSRegMStep gstart gend
*   EMStep does the combined E and M steps, EStep does only the E, and
*   MStep does only the M. EMStep and MStep both have options to restrict
*   the set of parameters that are updated, so some can be fixed.
So, instead of doing the @MSRegEMStep, you want to skip the E Step and use the probabilities from the first set of estimations, and in the M Step, don't do the "P" matrix. (There's a NoDoP option).

Re: Imposing MS-Regime-probabilities estimates on other seri

Posted: Fri Feb 10, 2012 8:35 am
by Matt
Thanks a lot for the quick reply, Tom!