BOOTSTRAPPING FROM HISTORICAL DATA
GlobalCapital, is part of the Delinian Group, DELINIAN (GLOBALCAPITAL) LIMITED, 4 Bouverie Street, London, EC4Y 8AX, Registered in England & Wales, Company number 15236213
Copyright © DELINIAN (GLOBALCAPITAL) LIMITED and its affiliated companies 2024

Accessibility | Terms of Use | Privacy Policy | Modern Slavery Statement
Derivatives

BOOTSTRAPPING FROM HISTORICAL DATA

Bootstrapping from historical data is a practical way to create scenarios for Monte Carlo simulations.

Bootstrapping from historical data is a practical way to create scenarios for Monte Carlo simulations. One of the advantages attributed to the generation of scenarios in this way is that one can generate scenarios that preserve the correlation across market factors. Another attractive feature of bootstrapping is that it is not necessary to compute a covariance matrix to generate the scenarios, which enables you to work with relatively short time series. 

However, if bootstrapping is not done carefully, the bootstrapped scenarios may be contaminated with undesirable trends embedded in the historical data. Typically, one may wish to impose a trend of one's choice onto scenarios generated from historical data. For example, we may be interested in imposing a risk-neutral trend in foreign exchange scenarios meant for pricing, or seasonal trends in commodity price scenarios meant for risk management. In these cases, the historical data can be viewed as the source of the diffusion component of an Ito model for generating the scenarios.

Here, we show how to simulate the diffusion component of an Ito process from historical data, in a manner that you can add any trend you like, without contaminating the bootstrapped scenarios with any biases present in the data. We refer to this type of bootstrapping procedure as a detrended bootstrap. Essentially, we want to be able to solve the Ito equation

bootstrap1


where we know what µ is and would like to use historical data to generate *dW.

In order to integrate the previous equation using a bootstrap approach, let's assume we have a historical data series with n observations 1, 2,....n, at times 1, 2,...., n, where the time between consecutive observations is .. We also assume that this series is described by the discrete stochastic process

bootstrap2

where µˆ is the drift of the historical series, *ˆ is the annualized standard deviation of the historical series, and zi is the realization of time ti a random variable with unit variance and zero mean. From this equation we get

bootstrap3

We can now use Equation (3) to integrate Equation (1). To do this, we replace zi from the last equation into the discrete form of Equation (1) and interpret the index i as a uniform random integer in [1,n-1]. Denoting the simulation times by tk+1 = tk + t, we can express the simulated (bootstrapped) values as follows:

bootstrap4

where we assume that * = *ˆ. We can now advance the solution to Equation (4) for an aribrarily large k by selecting a random index i in [1,n-1] for each k. In a non-detrended bootstrap, the expectation term in Equation (4) would be missing.

As an example of detrended bootstrapping, assume we want to simulate foreign exchange rates, X, with a risk neutral-drift. In this case we must solve

bootstrap5

where rd is the domestic short rate, and rf is the foreign short rate. As another example, consider the case of risk-neutral scenarios of a commodity price, C. Here we solve

bootstrap6

where y is the convenience yield.

bootstrap7

To illustrate how this simulation procedure works for generating simulation scenarios, suppose we want to simulate gold price over a time horizon of six months based on the historical data set plotted in Figure 1. The data covers weekly prices in the period from May 1996 to May 1999. For simplicity, we assume we want to simulate drift-free prices. It is obvious that gold price has a decreasing trend over time, roughly at an annual rate of 13%. The initial spot price is USD300. 

In this exercise, we divide the simulation horizon into weekly intervals and solve Equation (4) 5000 times over the six-month horizon with µ=0. Each solution of Equation (4) over the six-month horizon constitutes one scenario. Figure 2 shows the expected values of price scenarios at the end of each week over the six-month horizon. We can see that without detrending, expected simulated price captures the downward trend from the historical data, whereas the expected simulated price with detrend stays relatively constant at USD300. In this simple illustration we worked with a one-dimensional time series. It is straightforward to extend the procedure to multi-dimensional time series.

bootstrap8

In conclusion, bootstrapping is a powerful tool to generate Monte Carlo scenarios for financial risk management and pricing analysis. If it is done with the method we describe here, we can generate scenarios consistent with financial pricing theories. One limitation of bootstrapping, however, is that it does not preserve the kurtosis and skewness in the historical series. Bootstrapped prices returns become gradually more normally distributed for longer simulation horizon.

This week's Learning Curve was contributed by Monita Ng, financial engineer with Align Risk Analysis, a consulting firm in San Francisco, CA.

Related articles

Gift this article