I would like to implement a Regime Switching for Dynamic Correlations in an out-of-sample analysis using MATLAB.

After looking at the literature on the subject, they all refer to an article by Denis Pelletier to implement the method. Here is the article.

However, the estimation of the parameters is beyond my knowledge.

How to implement this technique in MATLAB ? I found a package online regarding Markov Switching Models.

Any help would be highly appreciated :-)

  • $\begingroup$ Unfortunately I don't have any experience with Matlab. Is there any possibility you could do it in R? There I could help. $\endgroup$
    – vonjd
    Feb 14, 2015 at 11:42

1 Answer 1


The clearest and most intuitive article I have seen so far is
Kritzman et al., Regime Shifts: Implications for Dynamic Strategies in FAJ (May / June 2012)

It not only shows how you can use HMM for financial modelling but it also goes through the actual estimation algorithm (Baum-Welch) step-by-step and even gives full Matlab-code.

From the abstract:

Regime shifts present significant challenges for investors because they cause performance to depart significantly from the ranges implied by long-term averages of means and covariances. But regime shifts also present opportunities for gain. The authors show how to apply Markov-switching models to forecast regimes in market turbulence, inflation, and economic growth. They found that a dynamic process outperformed static asset allocation in backtests, especially for investors who seek to avoid large losses.

(I am not aware of a freely accessible copy of the paper - if you find one, please include it in a comment - I will change the answer accordingly.)

As I said in the comments I am not using Matlab: For your own experiments with HMM in R you can use the depmixS4 package.

Alpha Hive uses this package to replicate large portions of Kritzman's paper(s) in a four part series and explains everything step by step - highly recommended:

  • $\begingroup$ Thanks to an academic database, I found the article you mentioned. Indeed they managed to clearly explain RS markov processes and the way to estimate the parameters. However, they do not speak about how to estimate dynamic correlation specifically. Still, this article helped me better understand regime switching model. Thanks! $\endgroup$
    – Maxime
    Feb 14, 2015 at 15:44
  • $\begingroup$ @Maxime: I haven't read the whole article you provided but the way I understand it is that the estimation of those parameters is the same. The only difference is that you have only variances when you estimate the parameters of one time series and additionally covariances when you have several time series. $\endgroup$
    – vonjd
    Feb 14, 2015 at 16:36
  • $\begingroup$ @Maxime: In any case: If my answer was helpful I would be grateful it you could upvote it...or even accept it when no better answers come in - Thank you :-) $\endgroup$
    – vonjd
    Feb 14, 2015 at 16:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.