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!

  • $\begingroup$ I am also interested in this approach. Do you have published references that you are following or any publicly accessible work of your own? $\endgroup$ – snth Feb 29 '12 at 8:53
  • $\begingroup$ @snth No I cannot find anything on this which is the problem, I have not come across a single multi-agent model with a 'fitness' assessed from real stocks - they tend to be along the lines of "the mechanism in this model allows us to study these dynamic regimes..." $\endgroup$ – Dr. Thomas C. King Feb 29 '12 at 13:45

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).

  • $\begingroup$ The OP is asking about prices produced from a model. That is, he wants to assess the validity of synthetic numbers. $\endgroup$ – chrisaycock Mar 9 '12 at 14:03
  • 1
    $\begingroup$ The op wants to compare his model to that of the real world, so the test of the synthetic numbers would be how often are they within some tolerance level of the "real numbers", so creating channels with BB's can at least give him a metric to see how close he is to the number. $\endgroup$ – Kyle Balkissoon Mar 9 '12 at 17:10
  • $\begingroup$ I think this is a good answer so I have marked it. It is not the method I decided to go for though, for my metric I am using a binomial coefficient to work out the probability of generating the same or better predictions with a random number generator (the null hypothesis). The aim being to reject the null hypothesis. This produces p-values. $\endgroup$ – Dr. Thomas C. King Mar 10 '12 at 14:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.