Using Volatility Bands to Compare Simulated and Observed Prices
Summary
The document considers how to evaluate a multi-agent stock market simulation against historical prices for large companies across several sectors. The question proposes matching the volatility of simulated prices to observed volatility while also checking that simulated prices do not move contrary to the real series. It asks whether a fitness measure could combine volatility with a moving average and account for deviations that grow over the simulation horizon.
The answer suggests constructing Bollinger-style bands around actual prices, using a moving average as the center and a multiple of standard deviation for the upper and lower bounds. The model’s accuracy could then be summarized by counting how often its prices fall outside those bands. This offers a simple way to combine a price baseline and variability, but the document provides no validation or tested accuracy score. The result depends on choices such as band width, averaging method, sampling interval, and how departures in direction or magnitude are treated; the proposed count alone does not establish overall model quality.
Key ideas
- A simulation can be compared with observed prices using a moving average and volatility bands.
- The suggested score counts simulated observations that fall outside bands around actual prices.
- The band center can use a simple moving average or an exponential moving average.
- The proposed method does not specify how to choose the band width or assess directional errors.
Tags
Full text
# How to use volatility to assess the accuracy of a stock market model?
# How to use volatility to assess the accuracy of a stock market model?
Background: For a dissertation I have a multi-agent stock market model that I am using to assess different mechanisms for producing particular dynamic regimes. A key point is assessing how closely it reflects the real world, this will be done by comparing it with historical price data of 5 large-caps in 5 different sectorsn where the model simulates trading for 1 month.
I would like to be able to say "this is x% accurate/good" etc. I hope to do this using a measure of volatility ("the standard deviation of the instrument's yearly logarithmic returns.")
My question is what should the function I use consist of? I believe an 'excellent' model produces prices that are no more or less volatile than the stock is, but they shouldn't go in opposite directions to the 'real' prices. So clearly the model needs to produce prices that are in line with the actual prices, with it expected to have greater deviations 30 days into the simulation compared to 1.
So I believe the function for the 'fitness' of the model needs to use volatility and an exponential average or somesuch? How best do I combine these two... or perhaps there are better ways of doing this?
Any help most appreciated!
## Answer by Kyle Balkissoon (score 1, accepted)
https://quant.stackexchange.com/a/3044
A simple solution to what you may be looking for is:
Bollinger Bands: It is an a channel with the center being an MA with a roof of being K Stddevs and a floor of -K stdves.
See also: http://en.wikipedia.org/wiki/Bollinger_Bands
You can use this to see "how far outside of the channel of "reality" does your model go, i.e. by creating a tight band around real prices and counting the periods outside of the band as a measure of accuracy.
It combines volatility and an MA (you can use an EMA if you like).Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.