|
Monte Carlo Simulations |
Top Previous Next |
|
A Monte Carlo simulation is one way of determining the robustness of a system and of answering the question: "What if the past had been just slightly different"? Trading Blox 's Monte Carlo feature simulates new equity curves that are similar to the actual test equity curve but different in certain random ways. A typical Monte Carlo simulation might generate hundreds or thousands of new equity curves.
Trading Blox supports two different algorithms for the simulation of the Monte Carlo equity curves: reordering and sampling with replacement. In each case, the new equity curves are generated by taking portions of the actual test equity curve.
In real trading, bad days occur together with a frequency that is much higher than one might attribute to purely random chance. This is because at the end of large trends many markets seem to get carried along and then reverse at the same time. The period of a system's maximum drawdown is usually a statistically improbable series of down periods. Trading Blox allows you to specify the number of days which make up each portion using the preference "Sample Grouping Days". This feature allows you to generate equity curves which maintain some of the autocorrelation found in actual equity curves. Without this feature, Monte Carlo simulations tend to underestimate the potential for large or lengthy drawdowns because the randomization process will result in equity curves that don't often show the lengthy periods of negative returns since they are statistically unlikely.
Reordering The equity curve is randomly rearranged so that each portion appears in a different order.
Consider an equity curve like the above divided into four sections. If you simply reorder then you could have orders:
ABDC ABCD ACBD ACBC BCDA BDCA DCAB DCBA CDBA
etc.
Notice how an equity curve that contains AC adjacent to each other, i.e. ACDB, BACD, etc. will have a larger drawdown than the original equity curve because the reordered curve combines to down periods which were not adjacent in the original equity curve.
However since each of the individual sections of the equity curve represents a net percentage change in equity any reordering of the equity curves will result in exactly the same endpoint and therefore will result in the same CAGR%
The following shows the results of plotting the reordered equity curves (in gray) against the actual simulated equity curve (in blue):
Notice how all the curves each end at the same point.
Sampling with Replacement The other method of simulating a new equity curve is called "Sampling with Replacement". This method generates a new equity curve by randomly selecting from the actual test equity curve with the additional provision that portions of the original equity curve can be used move than once.
Thus you could have excellent curves like:
BDBD BDDB BBBB
or even
DDDD
The following shows the results of plotting the equity curves from Sampling with Replacement (in gray) against the actual simulated equity curve (in blue):
Notice how each of the curves has a different endpoint representing a different CAGR%.
Many of the Monte Carlo graphs plot the distribution and cumulative distribution figures for various test measures, CAGR%, MAR Ratio, Maximum Drawdown etc.
The following graph shows the CAGR% graph:
Note the red line which is labeled 85% confidence. This line intersects with the cumulative curve on the graph at about the 21% level. This means that 85% of the simulation's tests showed an equity curve with a CAGR% greater than 21%.
Some Cautions Beginning traders and system testers often look at particular test results and think that they mean more than they actually do.The future will not look like the past but will probably look something like the past. A simulation graph like the above helps one think in terms of the reality that the future will be one of many different possibilities, some better than the test results some worse than the test results.
The confidence levels used by Trading Blox indicate only that a certain percentage of the results of the simulation are better for the given measure. The use of the term Confidence Level is common in the industry for this purpose. The use of the term does not imply that the test indicates that the future will result in a certain probability of a particular outcome. In other words, just because a test shows a 95% confidence level of a certain return or other measure does not mean that Trading Blox is predicting that there is a 95% chance of exceeding that measure in actual trading.
The confidence level can be set by the Monte Carlo preference settings. Some traders prefer to use 90% or 95% confidence levels.
|