Monte Carlo analysis involves the use of algorithms to generate random repeated sampling of results. Typically, Monte Carlo is used to run a large number of simulations in order to find the likely probability distribution of an unknown event.
Monte Carlo Analysis For Trading Systems
For trading system developers, Monte Carlo analysis can be useful in several instances.
First, Monte Carlo can be used to analyse the robustness of a trading system. By adding small, random levels of noise to financial data, (such as to the open price) it’s possible to see how the system reacts to small changes. If the system is still profitable when random noise is added to the data, it’s a good sign of robustness.
Adding random noise
Another way to use Monte Carlo analysis is to add random noise, not to the data itself, but to the system parameters that are attempting to trade the data.
For example, if a moving average crossover trading system is shown in back-tests to be optimal with values of 50/200, it should also be profitable with similar values – such as 49/201, 48/200, 46/202 etc.
Monte Carlo can be used to add random noise to the parameters to test whether the system is robust based on the value of parameters.
Varying the sequence
The third way to use Monte Carlo is to vary the sequence of trades that a system makes. This is useful in order to find the worst and best possible scenarios from many different runs.
The idea here isn’t to see what would happen if the system selected different stocks each time, because most traders will have a selective process that always chooses a particular, best ranked stock.
Instead, the idea is to alter the sequence of finished trades many times over.
For a clear example of this, consider a system that encounters a large number of winning trades right at the beginning.
After six months, the system is off to a flier and has produced 20 winning trades already. Three years later, the system is still in good profit, but imagine it has just been on a losing run of 12 bad trades.
But consider what would have happened if those 12 losing trades happened at the beginning instead of at the end. It’s possible that if the sequence was different, the system would have had 12 losing trades straight away and never recovered.
Using Monte Carlo analysis, we can run thousands of random simulations and compare their results. Doing so, we can gain an understanding of what to expect when taking the system live.
And this process can be easily achieved using Amibroker and the free program Equity Monaco.
By taking the trade results of a trading system (preferably out-of-sample results) and loading them into Equity Monaco it’s possible to run thousands of different simulations.
The diagram from Equity Monaco shows the terminal equity level for various runs. 50% of runs made over $200,000 while 90% of runs made $150,000 or more. This is based on a test of 1500 simulations.
For more information about Monte Carlo analysis, I recommend reading the help files from the Equity Monaco software. You should also read Howard Bandy’s books, particularly Quantitative Trading Systems and Modelling System Performance.
Thank You For Reading
Joe Marwood is an independent trader and the founder of Decoding Markets. He worked as a professional futures trader and has a passion for investing and building mechanical trading strategies. If you are interested in more quantitative trading strategies, investing ideas and tutorials make sure to check out our program Marwood Research.
This post expresses the opinions of the writer and is for information or entertainment purposes only. It is not a recommendation or personalised investment advice. Joe Marwood is not a registered financial advisor or certified analyst. The reader agrees to assume all risk resulting from the application of any of the information provided. Past performance, historical or simulated results are not a reliable indicator of future returns and may not account for real world settings. Financial trading is full of risk and margin trading can lead to financial losses totalling more than what is in your investment account. We take care to present accurate analysis but mistakes in backtesting and presenting of analysis regularly occur. Please read the Full disclaimer.
Thank you to everyone who takes the time to leave a comment. Your feedback, constructive criticism and identification of mistakes is welcome. In order to concentrate on work I may not have time to respond to all comments.