Maximum system % drawdown calculation

I have an important question on Amibroker's maximum system % drawdown calculation.

I've prepared a simple test environment and made a calculation. I'd like to ask the question after making the issue clear.

In this simple backtest, the backtester opens only one trade and closes shortly after with loss.
The backtest initial equity is 10000.
Commission is 0.09%.
I made a high leverage so that the MDD becomes a handsome number.
Related screenshots are as follows:

The trade screenshots including the entry/exit prices:

The backtest results:

The lowest bar close during the trade:

The lowest low during the trade:

The backtest report:

Some calculations:

In the screenshots, you can see that;

1- There is only one trade in the backtest.
2- The trade P&L calculation is correct.
3- There is a roughly 7% MDD.

One question is:
Calculated drawdowns are different from Amibroker calculation. What could be the reason?

Another and more important question is:
Amibroker MDD calculation seems to be using the bar close. Is there a way to make it use the low of bar in MDD calculation?

Thanks for your continuing great support.
Have a nice day!

I think the issue relates to the fact that in your one example, you are correct that the maximum adverse value of your position WAS at the low. That said, when you have multiple concurrent positions, it will assume all bar extremes H & L's against trade positions occur at the same time across all instruments. While this max excursion may vary less and less the more lower the bar resolution, it can be quite inaccurate in higher time frames like daily bars. Although it does measure a historic "Possible" worst case equity scenario etc.

Right. While the end of bars are concurrent, the lows are very unlikely to be exactly concurrent in a diversified portfolio. However, if the portfolio is not sufficiently diversified such as the crypto markets nowadays, the extreme lows are also very likely to be concurrent and the question is therefore very important, especially for high risk trading.

Just thinking about some of those crypto's and certain individual crypto exchange feeds.

I would recommend you program-in or pan for some measure of variability, especially for instruments or times of liquidity. Even a 5 minute bar close is being "Tick when traded" aggregated and the last trade, representing the close of that 5 minute interval could have been 4+ minutes ago and not represented by where the market is, i.e., where the inside best bid / best offer is, which can be far off the last print for the 5 minute bar etc.

Thank you. My crypto bots open&close more than a thousand trades in some days and I am closely following the actual skid averages already, i.e. the signal price - execution price differences. These actual skid values are included in my backtests but the mentioned lowest low's impact on the MDD is very significant. It should somehow be separately handled.

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.