KILLED · overfit
Hypothesis
A 3-state Gaussian HMM on returns recovers latent bull / chop / bear regimes; conditioning exposure on the most-likely state improves return.
Math — Gaussian HMM
Emissions are state-conditional Gaussians; states evolve by a transition matrix $A$:
$$ P(r_t\mid s_t=i)=\mathcal{N}(\mu_i,\sigma_i^2),\qquad A_{ij}=P(s_t=j\mid s_{t-1}=i) $$
Fit by Baum–Welch (EM); decode the state path by Viterbi.
Method
Fit 3-state HMM on rolling returns, go long only in the inferred high-mean state. Walk-forward, costs applied.
Results
| In-sample regime separation | clean |
| Out-of-sample state stability | flickers |
| Walk-forward Sharpe | 0.1 |
| State relabeling across refits | frequent |
In-sample the states look beautiful; out-of-sample they flicker and relabel on every refit, so the "regime" you trade is mostly fitting noise. The HMM finds structure in any series, including random walks. Killed.
Latent-state models will always find states. The test is whether the decoded states are stable out-of-sample under refitting — usually they are not.