Monte carlo simulation

Discussion in 'Strategy Development' started by mickmak, Nov 4, 2010.

  1. mickmak


    OK. Can someone just confirm whether I am using a monte carlo method or not? I am just a dumb a$$!! I've been reading everywhere online and not sure if I grasped the concept.

    So here is what I am doing.

    I have a random number generator. This generates 10 numbers of probabilities. I calculate the results from these 10 probabilities. I do this 1000000 times. Then I distribute the results on a statistical distribution. I find the sigma and determines the probability of results occuring with x% chance.

    Now, is that monte carlo?
  2. rosy2


    i think so
  3. I think the only difference you will get from using the simulator is an increased maximum possible drawdown by a factor of two as in this example:

    While I like the simulator, this is something you can do yourself with what engineers call a "safety factor of 2". Actually, engineers have found out that in real life you should make things twice as strong than equations predict in order to allow for extreme effects.

    I think that rejecting a system based on Monte Carlo simulation is not a reasonable thing to do.
  4. @goodgoing,

    in my opinion it depends on the specific properties of your system (or generated system report) how MCS stress tests differ from the historical test results concerning the max. draw down. Sometimes factor 2 isn't enough... :)

    And it's always important to know that such differences are "system-immanent" even if the market conditions are the same as in the past.

    However, if you'll test your system also against changing market conditions you can use again MCS techniques - here to generate new test data (data simulation or "data scrambling") concerning the validation of your trading system setup.

  5. @Volker,

    I also think the simulator is valuable for analyzing results but a better test would be the analysis of a series of trade outcomes for randomness. Can the simulator do that? I think this is a more important test than a "stress test".
  6. @intradaybill,

    the stress test via the system simulation method is based on the possible outcomes or trade sequences etc. So methodically you get a valuable DD estimation or risk estimation based on your available historical back tests or system reports (same market conditions!). You don't have to simulate single trades - you get the same quality playing with the system report results, because (or if) you use a huge number model!

    The uncertainty which remains are "changed" market conditions. These possible scenarios are infinite - you aren't able to simulate all possible market conditions - there's no 100% security...

    But you can use data simulation techniques to simulate those in future perhaps changed market conditions and you can see how your trading system setup reacts. That feature offers the Zen Monte Carlo Simulator and so you get more information as with any other tool (as I know).

    And as I said before: no 100% security, but far better to know some behaviour than to know nothing about the risks... :)

  7. @zentrader,

    I did not speak so much about changing market conditions. It is more important to me when I get a system report to know whether my results are random or not. Can a random number generator do better than my system? If not, then maybe the system has some predictive capacity.
  8. @intradaybill,

    I use the MCS method in the trading system development process as shown below:

    For me there are currently two valid benefits using MCS:
    a) to generate alternative test data (data preparation phase)
    b) to stress test the system/system report results (system simulation phase)

    But you have to use the methods that are convenient to your development style ... and perhaps there's also a benefit in using it directly in the trading system setup as you explained before...
    ...i don't know it - but I'm always interested to learn something!
  9. I don't think you get the message (intraday) Bill is sending you. There is no point in doing stress tests with random systems. First you should try to find out if the edge is real. Then perform stress tests. The test your software does can provide a false sense of security. Moreover, simulating data can cause type errors.
    #10     Nov 10, 2010