# How to simulate asset prices/returns that display market regimes?

Are there any techniques that can make a multivariate random number generating process for stock prices/returns, like geometric Brownian motion via Cholesky, also include the simulation of a finite number of market regimes (say 2 or 3) so that systematic (market-induced) movement in prices are experienced across all assets for the same span of time intervals? (e.g. observations/prices 1-250 are market regime 1 for all assets, prices 251-400 are regime 2, etc)

For the univariate case, I understand that simulated returns can be generated from separate Gaussian distributions, each of which represents a "bullish" or "bearish" market regime, with:

1. the returns for the bullish regime drawn from a Guassian distribution with positive mean and low variance,
2. while returns for the bearish regime draw from a Gaussian distribution with slight negative mean but higher variance,

but my question pertains to generating multivariate artificial returns instead of one-by-one univariate.

Maybe a "statistical mechanics" approach - paper at https://arxiv.org/pdf/1907.04925.pdf and code at https://uk.mathworks.com/matlabcentral/fileexchange/72000-canonical-ensemble-for-time-series

From the paper abstract:

"This consists of a statistical mechanical approach - analogous to the configuration model for networked systems - for ensembles of time series designed to preserve, on average, some of the statistical properties observed on an empirical set of time series" (highlights mine)

Some of these properties may very well be bull or bearish regimes.

EDIT - in response to develarist's comment

• could you explain the statistical mechanics approach in a paragraph. what does it entail Commented Aug 19, 2020 at 14:42
• In the newly added figure, where do the regimes come in? Commented Aug 22, 2020 at 10:44
• By editing the original "observed set of time series W_bar" to meet your requirements of regime 1, 2, 3 etc. along and across W_bar. Then, your P(W) multivariate, artificial returns will, to a high probability, match your original, edited W_bar time series set. In the figure you can imagine the two colours, orange and turquoise, to represent two different regimes. Commented Aug 22, 2020 at 11:07