Hi i have a VERY basic understanding of statistics and MonteCarlo simulation. So i am working on creating my own (MonteCarlo simulation) to try and get a better understanding of things. Lets say i use a trend following system as an example i look at the historical performance test and find it has 30% wins.. i then categorize the size of the historical wins for example 10% of all wins might be +10 20% might be +5 30% might be +2 40% might be +1 i am randomizing the wins (30% win) and if its a winner i then randomize the win percent (say 10%) and pay accordingly (+10).. my historical test my have 200 trades, so i run the above simulation 200 times... to get the performance of one instance. then i run it to get another 10,000 instances... am i on the right track ?
Not sure, but I am planning to do mine different: * Load a list of all trades. * Possibly filter them - this is mostly a "date range" thing, allows one to compare last 2 months vs. the 2 months before". * Depending on how you handle them, you may need to normalize them. THis is your risk management. Some trades may for example have bigger/smaller size due to prior losses or wins, and naturally you want to have a "neutral" trade representation. * You then draw them randomly, and apply them. Repply risk assessment as you would normally (i.e. if you awlays risk2% of capital, you change the trade to do that too). * Do that X times.... There you go The risk management / neutralization part is important. If I always risk 2% of my account, and during my trading i made 100% profit, the lat trades will be twice as heave as the first ones, so I need to: * Pull them all down to a "normalized size" (risk 100 USD Per trade) * THEN readjust them to the correct size for their position in the random sequence (i.e. based on the current account value in the simulation).
I believe you will find that for what you call "one instance" you will see +180 minus whatever you are losing in the other 70% of trades that aren't winners. (+180 is from 200*0.3*(0.1*10+0.2*5+0.3*2+0.4*1)) Without getting too into this, Monte Carlo in your use is going to return what you have put into it. You inputted the type of randomization, and all the % of wins and PL, running it 10,000 times will just make the results run towards the percentages you entered.
...if you want to "stress test" your system you need only a few results from your historical systemtests like - number of price bars - number of trades - number of winning trades - number of losing trades - average profit of a (winning) trade - average loss of a(losing) trade You can program that e.g. in Excel VBA or something else or use a (faster) professional solution. Here is an example of a mcs for trading system on a website of a client of my monte carlo simulation software: http://www.stocktradersbulletin.com/documents/articles.php?entry_id=1244494832 bye, Volker