Before revision:  We use change point detection to partition a time series into locally stationary segments , then estimate the distributionsof each piece. The distributions are clustered into a learned number of discrete volatility regimes via an optimisation routine.
After revision:  We use change point detection to partition a time series into locally stationary segments and then compute a distance matrix between segment distributions. The segments are clustered into a learned number of discrete volatility regimes via an optimisation routine.