top of page

Historical Simulation Method: Does It Really Help?

"simulation is an incredibly powerful technique to understand the impact on a variable due to changes in a number of factors."


Many theories have been authored on simulations that suggest either using the same outcomes generated in the past (called the historical simulation method) or generating a wider range of scenarios produced out of a probability distribution (called the parametric-based monte-carlo simulation method) to predict and understand the impact on a variable.


Our research says that the latter one i.e. the parametric-based monte-carlo simulation method has increasingly become a key method used for quantitative analysis. However, one needs to start with understanding the historical simulation method (being simple and easy) to understand the intuition behind the monte-carlo simulation.



Historical Simulation Method

the historical simulation simply assumes that history will repeat itself, which means one out of the past outcomes will repeat in the future.

for example, to estimate /predict the stock price, the historical simulation method uses shocks computed on the time-series data i.e. the outcomes that the stock has generated in the past, and the same shocks are then randomly picked by the simulator and applied to the current stock price to estimate the possibilities that the stock price can take in future (called simulated prices) under different scenarios. The scenario results are then averaged out together to provide a single-figure estimate.


Our algorithm extracted the time-series data of a stock, trading at $1453.00 dated 2022-10-04, for a lookback period of 250 trading days.

The time-series was then given to a scenario generator tool to compute proportional shocks.

It is important to note that, statistically, the scenario generator tool is computing the proportional shocks in a continuous timeframe though the timeframe is discrete to the end-of-day close time.


As per the historical simulation, the same past outcomes will repeat in the future but the order of occurrence may be different (the sequence of occurrence may change), and therefore, our simulator has randomly picked one shock (in-sample) from the series of shocks and applied to the current spot price $1453.00 to estimate the stock price at time t+1.

for better understanding, the below syntax can also be used in excel to approach the same.

=spotPrice*EXP(SMALL(spotShocks,RANDBETWEEN(1,COUNT(spotShocks))))

the same process of applying a randomly picked shock to the current spot price is repeated a number of times to simulate the current stock price to achieve the maximum possibilities that a stock price can take in one trading day period.

[grid:1million simulated stock prices]

these simulated prices were then averaged out to get a single-figure estimate of the stock price at t+1.

let's run the simulator by extending the timeframe to 250 trading days to estimate the stock price at t+250.

at each t'node, the simulator has randomly picked one shock (in-sample) from the series of shocks computed using the scenario generator tool and applied it to the immediate previous day's stock price (t-1'node) to estimate the stock price at t'node.

[columns:1simulation, rows:250t'nodes, grid:simulated stock prices]

[y-axis:values, x-axis:250t'nodes, grid:1random path]


Our algorithm triggered the simulator again and repeated the same process to generate multiple paths that the stock price may follow in the future until t+250.

at each t'node, the simulator has randomly picked one shock (in-sample) from the series of shocks computed using the scenario generator tool and applied it to the immediate previous day's stock price (t-1'node) to estimate the stock price at t'node.

[columns:10000simulations, rows:250t'nodes, grid:simulated stock prices]

[y-axis:values, x-axis:250t'nodes, grid:50random paths]

these simulated prices were then averaged out to get a single-figure estimate of the stock price at t+250.

for better understanding, some snippets from our excel model are attached!


At the outset, this approach of simulation seems very intuitive as the algorithm tries to capture thousands (/millions) of possible values that the variable can take in the future, plus simple to understand, and easy to implement.

However, our algorithm (developed in-house) together with other time-series models actually runs the parametric-based monte-carlo simulation to predict stochastic variables over a longer timeframe which actually resulted in a higher probability of estimated value getting achieved than running through historically observed data points.


Observation-1: one might have observed that, at the time of estimating the stock price over a longer timeframe, we had to reduce the number of simulations (generated 100k simulated paths instead of 1 million).

runtime recorded by our simulator through our time recorder tool.

It seems that these simulators are computationally heavy to run on a smaller machine and they are time-consuming too, they require high computational power /infrastructure to simulate a number of stochastic variables impacting multiple financial instruments.


Observation-2: the historical simulation method assumes that history will repeat itself, which means one out of the past outcomes will repeat in the future as it uses past historical outcomes to predict the future outcome which is not true in real life. Therefore, it fails to capture any new catastrophic event.


Monte-Carlo Simulation

(also called parametric-based simulation)

identifying the data characteristics, estimating the parameters, fitting distributions, and the application of stochastic integral processes under both point and path estimation techniques.

-- to be covered in our modeling program--

1,031 views2 comments
bottom of page