Discussing the article: "Portfolio Risk Model using Kelly Criterion and Monte Carlo Simulation"

 

Check out the new article: Portfolio Risk Model using Kelly Criterion and Monte Carlo Simulation.

For decades, traders have been using the Kelly Criterion formula to determine the optimal proportion of capital to allocate to an investment or bet to maximize long-term growth while minimizing the risk of ruin. However, blindly following Kelly Criterion using the result of a single backtest is often dangerous for individual traders, as in live trading, trading edge diminishes over time, and past performance is no predictor of future result. In this article, I will present a realistic approach to applying the Kelly Criterion for one or more EA's risk allocation in MetaTrader 5, incorporating Monte Carlo simulation results from Python.

Finally, we simulate 1000 random series and plot out the top 10 with most max drawdown. Note that the final equity should all end up the same because of the Commutative Property of Multiplication. Multiplying the percentage change series will yield the same result, regardless of the order in which the values are reshuffled.

The distribution of maximum drawdown should be similar to normal distribution, and we can see here the 95% percentile (around two standard deviations) here is approximately 30% maximum drawdown.

Our initial backtest's maximum drawdown was merely 17%, which is smaller than the mean of this distribution. Had we taken it as the maximum drawdown we expected, we would have increased our risk by a factor of 2 compared to the risk we are now willing to take after obtaining the Monte Carlo simulation results. We choose the 95% percentile because it's a general result scholars see as close to live trading performance. We got lucky here that the 95% percentile aligns closely with our maximum tolerance of 30%, which was set at the beginning. This means that if we are trading this single EA in our portfolio, a 2% risk per trade will maximize our profit while keeping us well within our maximum tolerance. If the result differs, we should repeat the above procedure until we find the optimal solution.

monte Carlo curve


Author: Zhuo Kai Chen

 
It looks really great thanks for the article! Which EA or strategy are you using in this backtest?
 
Dominic Michael Frehner #:
It looks really great thanks for the article! Which EA or strategy are you using in this backtest?

I used three EAs to implement a breakout strategy for trading three different assets as examples. But I cannot disclose further details because I trade them personally.

 
Zhuo Kai Chen #:

I used three EAs to implement a breakout strategy for trading three different assets as examples. But I cannot disclose further details because I trade them personally.

Sure no problem, I was just curious :-)

It would be actually insane to build an EA which managed the whole account with the kelly criterion before an EA places a trade. This is probably the hardest part.  
 
Dominic Michael Frehner #:
Sure no problem, I was just curious :-)

It would be actually insane to build an EA which managed the whole account with the kelly criterion before an EA places a trade. This is probably the hardest part.  

I think this article does exactly that if I'm not missing your point. If you meant building an EA to keep updating the Kelly allocation as the new data keep coming in then I think yeah it would be very tough to do. But I don't think it's necessary to be this exact. What do you think?

 
Dominic Michael Frehner #:

It would be actually insane to build an EA which managed the whole account with the kelly criterion before an EA places a trade. This is probably the hardest part.  

There is the tester to simulate trades in past, then you can process the tester reports instead of online.

 
This is impressive, nice work!
 
RustyKanuck #:
This is impressive, nice work!

Thx

 
Good article for discussions.
 
Great article.