Get 40% Off
💰 Buffett reveals a $6.7B stake in Chubb. Copy the full portfolio for FREE with InvestingPro’s Stock Ideas toolCopy Portfolio

A Better Way To Run Bootstrap Return Tests: Block Resampling

Published 04/19/2016, 08:09 AM
Updated 07/09/2023, 06:31 AM
US500
-

Developing confidence about a portfolio strategy’s track record (or throwing it onto the garbage heap), whether it’s your own design or a third party’s model, is a tricky but essential chore. There’s no single solution, but a critical piece of the analysis for estimating return and risk, including the potential for drawdowns and fat tails, is generating synthetic performance histories with a process called bootstrapping. The idea is based on simulating returns by drawing on actual results to see thousands of alternative histories to consider how the future may unfold. The dirty little secret in this corner of Monte Carlo analysis is that there’s more than one way to execute bootstrapping tests. To cut to the chase, block bootstrapping is a superior methodology for asset pricing because it factors in the reality that market returns exhibit autocorrelation. The bias for momentum–positive and negative–in the short run, in other words, can’t be ignored, as it is in standard bootstrapping.

There’s a tendency for gains and losses to persist—bear and bull markets are the obvious examples, although shorter, less extreme runs of persistence also mark the historical record as well. Conventional bootstrapping ignores this fact by effectively assuming that returns are independently distributed. They’re not, which is old news. The empirical literature demonstrates rather convincingly a strong bias for autocorrelation in asset returns. Designing a robust bootstrapping test on historical performance demands that we integrate autocorrelation into the number crunching to minimize the potential for generating misleading results.

The key point is recognizing that sampling historical returns for analysis should focus on multiple periods. Let’s assume that we’re looking at monthly performance data. A standard bootstrap would reshuffle the sequence of actual results and generate alternative return histories–randomly, based on monthly returns in isolation from one another. That would be fine if asset returns weren’t highly correlated in the short run. But as we know, positive and negative returns tend to persist for a stretch, sometimes in the extreme. The solution is sampling actual histories in blocks of time (in this case several months) to preserve the autocorrelation bias.

3rd party Ad. Not an offer or recommendation by Investing.com. See disclosure here or remove ads .

The question is how to choose the length for the blocks, along with some other parameters. Much depends on the historical record, the frequency of the data, and the mandate for the analysis. There’s a fair amount of nuance here. Fortunately, R offers several practical solutions, including the meboot package (“Maximum Entropy Bootstrap for Time Series”).

As an illustration, let’s use a couple of graphics to compare a standard bootstrap to a block bootstrap, based on monthly returns for the US stock market (S&P 500). To make this illustration clear in the charts, we’ll ignore the basic rules of bootstrapping and focus on a ridiculously short period: the 12 months through March 2016. If this was an actual test, I’d crunch the numbers as far back as history allows, which runs across decades. I’m also generating only ten synthetic return histories; in practice, it’s prudent to create thousands of data sets. But let’s dispense with common sense in exchange for an illustrative example.

The first graph below reflects a standard bootstrap—resampling the historical record with replacement. The actual monthly returns for the S&P (red line) are shown in context with the resampled returns (light blue lines). As you can see, the resampled performances represent a random mix of results via reshuffling the sequence of actual monthly returns. The problem is that the tendency for autocorrelation is severed in this methodology. In other words, the bootstrap sample is too random—the returns are independent from one another. In reality, that’s not an accurate description of market behavior. The bottom line: modeling history through this lens could, and probably will, lead us astray as to what could happen in the future.

3rd party Ad. Not an offer or recommendation by Investing.com. See disclosure here or remove ads .

S&P 500 Returns: Stimulated vs Actual

Let’s now turn to block bootstrapping for a more realistic profile of market history. Note that the meboot package does most of the hard work here in choosing the length of the blocks. The details on the algorithm are outlined in the vignette. For now, let’s just look at the results. As you can see in the second chart below, the resampled returns resemble the actual performance history. It’s obvious that the synthetic performances aren’t perfectly random. Depending on the market under scrutiny and the goal of the analytics, we can adjust the degree of randomness. The key point is that we have a set of synthetic returns that are similar to, but don’t quite match, the actual data set.

SPX Returns: Simulated vs Actual

Note that no amount of financial engineering can completely wipe away uncertainty. The future can and probably will deliver surprises, for good and ill, no matter how clever our analytics. Nonetheless, bootstrapping historical data (or in-sample returns via backtests) can help separate the wheat from the chaff when looking into the rearview mirror as a preview of what lies ahead. But the details on how you run a bootstrap test are critical for developing comparatively high-confidence test results. In short, we can’t ignore a simple fact: market returns have an annoying habit of exhibit non-random behavior.

Latest comments

Risk Disclosure: Trading in financial instruments and/or cryptocurrencies involves high risks including the risk of losing some, or all, of your investment amount, and may not be suitable for all investors. Prices of cryptocurrencies are extremely volatile and may be affected by external factors such as financial, regulatory or political events. Trading on margin increases the financial risks.
Before deciding to trade in financial instrument or cryptocurrencies you should be fully informed of the risks and costs associated with trading the financial markets, carefully consider your investment objectives, level of experience, and risk appetite, and seek professional advice where needed.
Fusion Media would like to remind you that the data contained in this website is not necessarily real-time nor accurate. The data and prices on the website are not necessarily provided by any market or exchange, but may be provided by market makers, and so prices may not be accurate and may differ from the actual price at any given market, meaning prices are indicative and not appropriate for trading purposes. Fusion Media and any provider of the data contained in this website will not accept liability for any loss or damage as a result of your trading, or your reliance on the information contained within this website.
It is prohibited to use, store, reproduce, display, modify, transmit or distribute the data contained in this website without the explicit prior written permission of Fusion Media and/or the data provider. All intellectual property rights are reserved by the providers and/or the exchange providing the data contained in this website.
Fusion Media may be compensated by the advertisers that appear on the website, based on your interaction with the advertisements or advertisers.
© 2007-2024 - Fusion Media Limited. All Rights Reserved.