Markov regime model
By Riaan Kleynhans · Published
A Markov regime model labels each period of market history as one of a small number of states — typically bull, bear, or sideways — and estimates the probability of moving from each state to each other state. It describes the structure of what has happened. It does not predict what will.
How are the states decided?
A regime model needs a rule that turns a price series into labels. Voinista uses a trailing 20-day return, evaluated on daily bars:
| Bull | 20-day return at or above +5% |
|---|---|
| Bear | 20-day return at or below −5% |
| Sideways | anything between |
The threshold is a convention, not a law. ±5% over twenty sessions is a reasonable line between “trending” and “chopping” for liquid US equities. It is also a choice, and a different choice would produce different regimes from the same prices. Any model that hides its threshold is hiding the most consequential decision in it.
What does the model actually compute?
Once every day carries a label, transitions between consecutive days are counted into a 3×3 transition matrix: for each state, how often the next day was each state. Raising that matrix to the nth power gives the n-step-ahead distribution.
Two figures fall out of it. The diagonal is persistence — the probability the current state still holds tomorrow. The stationary distribution is the left eigenvector of the matrix for eigenvalue 1, normalised to sum to one — the long-run share of days the market spends in each state, given those transition probabilities.
Voinista also reports how many consecutive sessions the current regime has held and the date it began, when the engine supplies them. It is rendered only when present; nothing is estimated to fill the gap.
Why observable rather than hidden?
A hidden Markov model infers states that are never directly observed, fitting them to the data. That is more expressive and, for this purpose, worse: the states become artefacts of the fitting procedure, and you cannot check them by hand.
An observable model labels states with a stated rule. Anyone with the price series can reproduce every label, every transition count, and every probability with a spreadsheet. On a surface where the entire argument is that the reasoning should be checkable, a model you have to take on trust is the wrong instrument regardless of how well it fits.
What does a regime model not tell you?
It is a description of the past, not a forecast. The label depends on a trailing window, so it necessarily lags. A regime is only visible once enough sessions have accumulated to see it, and by then some of the move has happened.
The Markov assumption is known to be false. The model assumes tomorrow depends only on today’s state, not on how long it has held or what preceded it. Markets have memory. This is a simplification chosen for transparency, and it is worth knowing it is one.
Probabilities are estimates, not measurements. Transition counts come from finite history. A rarely-visited state has few observations behind its row, so its probabilities carry real uncertainty even though they are displayed as clean percentages.
It says nothing about why. A regime label is a statement about price behaviour. It knows nothing about earnings, debt, competition, or management. That is the work the analysts do.
It is never a signal. The model reports state and probability and stops there. At Voinista it supplies context to the desk and nothing else — only the multi-agent debate produces a verdict.
Related terms
- Multi-agent equity research
- Regime persistence — in progress
- Transition matrix — in progress
Voinista runs this model across US equities to surface which tickers are decisively trending. See how the desk uses it. Research, not investment advice.