Quantamental Investing

Quantamental Investing

Resampling Persistent Time Series

This article explains how we can resample persistent time series that are expected to mean revert to long-term averages.

Anton Vorobets's avatar
Anton Vorobets
Oct 23, 2025
∙ Paid
Fully Flexible Resampling VIX simulation.

Continuing the analysis from the Multi-Asset Macro Model and Multi-Asset Simulation posts, this article presents perspectives on how we can handle persistent time series in resampling models, such as the Fully Flexible Resampling (FFR) approach from Chapter 3 in the Portfolio Construction and Risk Management book.

For a basic example of the Fully Flexible Resampling method, see the accompanying Python code for the Time- and State-Dependent Resampling article.

Thank you for reading Quantamental Investing. Subscribe to stay updated on new and exclusive content.

Issues with highly persistent time series

As explained in Chapter 3 of the Portfolio Construction and Risk Management book, the first step in the investment simulation framework is to transform the data into something that is easier to learn from. We call these quantities stationary transformations. For a short recap, see the Multi-Asset Simulation article.

It should be fairly easy to understand that if we resample something like equity index prices, it will be hard for us to get realistic market simulation due to their highly non-stationary nature.

However, if we resample log returns and sum them over time to compute simulated index levels, like we do in the Multi-Asset Simulation article, we can more easily get realistic price simulations.

But how do we handle quantities that are stationary but persistent, for example, the VIX index? After all, we want to get the cross-sectional benefits of resampling, described in Chapter 3 of the Portfolio Construction and Risk Management book.

If we have a fairly short sample, such as the one from the Multi-Asset Simulation article, the mean reverting nature of the VIX index might be hard to detect for a resampling model. We might also introduce overdifferencing issues if we are not careful with our stationary transformations.

As an example of the above issues, in the cover image to this article, we simulate S=1000 future paths for H=252 future trading days with and without proper handling of the VIX index.

Handling persistent time series

This section presents a Python case study using the Investment Simulation module, where we generate future simulations for US equities, high-yield, investment grade, and government bonds as well as the VIX index, breakeven inflation, and real rate risk factors.

We use the same time series as the Multi-Asset Simulation case study, but extend the historical data period until October 17, 2025.

Stationary transformation for VIX

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 Anton Vorobets · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture