Drawdown simulation and trading systems selection

Discussions about Money Management and Risk Control.
Post Reply
palm
Contributing Member
Contributing Member
Posts: 5
Joined: Fri Nov 20, 2009 1:02 am

Drawdown simulation and trading systems selection

Post by palm » Sat Nov 21, 2009 8:59 am

Method
Suppose i have a trading system A which has historical 100 trades data. I ran simulation 10,000 trials and look at the worst drawdown that this system A could have produced by chance alone. Let's say that System A has max simulated Drawdown (DD) at -40%. Now if I set my maximum drawdown of my portfolio at -20%, i will be trading system A by only half of my portfolio to ensure that when the worst comes, i won't be down more than -20%. By the same token, if system B has max simulated DD of -10%, i will be trading 200% of my portfolio on system B.

Questions:
Currently I set every system that i have equally at -20% max portfolio DD. Here's what i mean (switching to monospace font)

Code: Select all

System                           A                  B
--------------------------------------------------------
Max Simulated DD               -30%               -63% 
Portfolio Max allowable DD     -20%               -20% 
Market exposure adjustment %    70%                33% 
Annual Expected Returns         36%                24%
For example, if i have $100,000 portfolio, i will trade system A at 70,000 market exposue in a given trade. And i will trade only $33,000 worth of market exposure on system B. This also mean that my expected returns will be geared down accordingly. So system A will now have expected returns to my portfolio of (36%*70%) = 25.2%. And system B will give me 7.9% returns to my portfolio.

Now here's my question, by setting each system max DD to -20% of the total portfolio, i am willingly allow each system an equal chance of damaging my portfolio. You would ask, why should i allow system B which can generate only 7.9% returns to my total portfolio to have the same damaging effect on my portfolio. In other words, should i set B at -15% instead of -20%? How about setting A at -25%? What should be my method in setting this Portfolio Maximum Allowable DD when i take into consideration the expected returns of each system?

Any comment is welcome.

Thank you

sluggo
Roundtable Knight
Roundtable Knight
Posts: 2986
Joined: Fri Jun 11, 2004 2:50 pm

Post by sluggo » Sat Nov 21, 2009 10:39 am

Why not try out lots and lots and LOTS of possibilities? When the computer spits out its table of results, you can scan them to find the one result that YOU like best.

Then if you wish, you can run tens of thousands of Monte Carlo tests on your selected choice, to view the variability of drawdowns that Monte Carlo simulations provide.

What I would probably do, is something like the Red boxes in the picture below. This launches 61 x 61 = 3721 simulations; 61 weights for System A and 61 weights for system B.
Attachments
palm_2_systems.png
try a very large number of different weightings for the two systems
palm_2_systems.png (47.5 KiB) Viewed 4343 times

palm
Contributing Member
Contributing Member
Posts: 5
Joined: Fri Nov 20, 2009 1:02 am

Post by palm » Mon Nov 23, 2009 11:08 pm

Thanks sluggo

2 questions
1.) if you have 10 systems, is the technique below still usable?
2.) i don't quite understand how your softwear works in term of running monte carlo simulations. Specifically, when you ask the program to run, does it randomize only the position sizes or does it randomize the historical trading results as well.

Palm

sluggo
Roundtable Knight
Roundtable Knight
Posts: 2986
Joined: Fri Jun 11, 2004 2:50 pm

Post by sluggo » Tue Nov 24, 2009 9:58 am

I use the software sold by the company that hosts this Trader's Roundtable: Trading Blox. Its documentation is free and available online; here's the User's Guide: http://www.tradingblox.com/Manuals/Trad ... 0Guide.pdf . The discussion of Monte Carlo simulations is quite good in my opinion.

How to solve a particular problem of course depends on the specific details of that particular problem. Finding the optimal allocations for "N" different trading strategies, simultaneously traded as a Suite, out of a single account, will proceed differently for different values of N. Of course.

I would first try the simple "step em all!" approach and look at the thermometer progress bar to estimate the total runtime. If total runtime was going to be "moderately long" (like, more than 4 hours), I would probably switch to something like Response Surface modeling (link). I suspect the cut-over would probably happen when trading a Suite of N = 4 or more strategies, since 61 to the 4th power is pretty large.

I observe that response surfaces obtained by varying risk / betsize / leverage / strategy allocation / "money management" parameters, are usually smooth. (Unlike response surfaces obtained by varying other parameters of trading strategies, which generally are always jagged and rough and pathological.) Therefore, fitting a smooth low-order surface to the observed data is likely to be a useful exercise in this particular case. (In most other cases, it is a waste of time and it WILL mislead you). RSM uses a quadratic surface.

So for large N (N = the number of different strategies in a Suite), I would probably sample the problem domain landscape using a mesh with 5 or 4 or 3 samples per coordinate, and fit a quadratic response surface. Find the optimum of the response surface, re-center, shrink, and repeat. Do it a few times. At 3 samples per coordinate (nominal minus delta), (nominal), (nominal plus delta), that's 3 ^ 10 = 59,049 simulations for a Suite of N=10 strategies. It'll run in finite time and you can afford to (simulate, fit surface, optimize, recenter, shrink, and resimulate) a few iterations.

And for extremely large N, such as: N = 250, I would probably use heuristics to estimate a likely neighborhood of an acceptable, but perhaps not optimum, allocation. Something like weighting the strategies by the inverse of their equity curve volatilities, initially. Then I would launch overlapping stepped parameter runs to estimate the sensitivities of (goodness) to the weights, and perform some hill-climbing.

nodoodahs
Roundtable Knight
Roundtable Knight
Posts: 218
Joined: Wed Aug 09, 2006 4:01 pm

Post by nodoodahs » Tue Nov 24, 2009 12:47 pm

I like the way you're thinking about combining systems and generating MC sims to tailor future expected results to fit your risk tolerance. But my liking that doesn't matter much, since I'm just some anonymous character on the internets.

I do want to provide a set of cautions on the use of Monte Carlo analysis.

Any set of MC sims on the backtested trades is limited by the inter-system correlations contained in the backtest data. The actual future results may vary dramatically from the MC sims, more or less depending upon the assumptions embedded in your sims.

For example, assume that you have assembled backtests on systems A, B, C, D over some particular backtest timeframe.

A simple Monte Carlo simulation that took descriptive statistics SEPARATELY from each system, then generated random results for each, then combined the different equity curves (rebalanced at your preferred interval), would have an IMPLICIT ASSUMPTION that there was NO CORRELATION between the results of the systems.

A more robust Monte Carlo simulation would take into account the correlation matrix between A, B, C, D over the particular backtest timeframe, in order to "better" generate random results. This methodology has an IMPLICIT ASSUMPTION that the FUTURE correlation between A, B, C, D will be EQUAL TO the correlations exhibited in your backtest timeframe. It's pretty obvious that correlations between sectors, asset classes, and locations (U.S. Vs. Emerging Market Vs. Developed European stocks) varies over time, and that events (financial crisis of 2008) can drive many correlations higher than they were before the event.

The assumptions in your generation of random returns may bias your results. For example, if you use assume the variation in returns is "normal" then you can use only the mean and standard deviation to generate your "random" returns. If you have enough trades, you will probably be able to test whether the returns are "normal" or not. My guess is they will not be "normal" and may have significant skewness and/or kurtosis. This will significantly bias even the simple (assumed independence) MC sim.

I would (personally, my opinion, who am I?) take any MC sim result with a grain of salt; treat it as a limiting case or a learning exercise; realize it's a condition of my incoming assumptions.

Best of luck!

Post Reply