5 ways to reduce drawdown in automated trading

Reducing the drawdown in automated trading is critical. Profits are not everything – as important as profits (in absolute numbers) are the projected losses. Because these temporary losses – the drawdown – determine how much capital is required. A strategy making 10.000 USD a year is better when it only takes 10.000 USD in capital than when it takes 100.000 USD in capital. There are strategies to reduce the drawdown in automated trading – not all work at any time, and some are hard to do with retail software (like NinjaTrader or MultiCharts), but they all are tool a strategy developer can use to reduce drawdown.

Do not look at a single strategy

One way to reduce drawdown in automated trading is not to look at a single strategy. A group of multiple strategies – all profitable in themselves – can have a reduced drawdown. When you combine a trend following strategy with a mean reversal strategy, the resulting drawdown will likely be lower – when in a trend, the losses of the mean reversal will be offset by the trend following. When not in a trend, the false signals for the trend following strategy will be offset by the wins in the mean reversal strategy. The same can be said of multiple – not correlated – markets. Diversifying into stock indices (multiple) is tricky, but when you diversify into ES (S&P) and YM (Dow Jones) you do not diversify at all. S&P vs. the Japanese Yen – that may be a reduction in drawdown.

This type of optimization is easy. It sadly also is really hard to do with retail software. Because they, for some reason, focus on single strategies. This means that this way of reducing drawdown is only possible when you export the back test results for analysis into a database server – and work from that. One reason our Reflexo framework uses a database.

Sometimes trade in a simulator

I have to admit – another thing hard to do with typical software package. Often wins and losses are clustered. Now, a strategy must follow signals – but maybe the strategy decides a particular signal is not to be traded in cash? In most software you can backtest against a simulator – but the strategy has no say. In Reflexo, every trade can run either against “the account” (which is simulated in a backtest) or – against “the simulator”. We have some strategies that sometimes are “out of sync” until the market calms down. After a very violent move, the strategy then decides to go “on simulator” until it makes a profitable trade there. This is a valid approach to reduce extended drawdown periods.

In a typical retail software you have no way to run a signal against a simulator. But what you can do is – once you trade larger size – to switch into a “minimum size” mode until such time you validated the market conditions are favourable again. You may want to start the day in simulator / minimum allowed size, then switch to “real” size once you know the day is “acceptable”, risking pretty much the already accumulated profits.

Do not trade constant size

Do you know what Optimal R is? It is the optimal risk per trade, according to risk parameter calculations (google has more details). The idea is that the maximum loss per unit (contract, 100 shares) is not fixed (because you go for natural stops, for example, not a fixed constant). So when you have a smaller risk – you trade a larger size. 100 tick stop – 1 contract. 25 tick natural stop – 4 contracts. This will hurt drawdown a little, but it will in some strategies make a HUGH difference in profits, and this means you will get ahead of the profit/drawdown curve quite a lot.

This is easy to do with all kinds of trading software that allow traded size to be adjusted dynamically. And can control a maximum loss and position in case the strategy goes crazy.

Enter at a better price

This is another trick we do. Look at the trades, and the interim drawdown they have. Yes, I know – retail software like NinjaTrader does not track that. Well, then there goes a trick to reduce your drawdown. We do – we track biggest profit and biggest loss on a per tick basis. And often for a strategy we see that MOST trades go into a loss interim at the start. The signal is triggered, then the market goes a little against you.

Simple – enter at a better price. Put a limit order in. If you have a simulator (as mentioned earlier) make a trade at the original price in the simulator, so you can track when this trade is in, and would close (and do the same on the better price entry). And again, if you trade with the typical “end user” package that has no simulation capabilities to this degree…. You can always make a “pilot trade” with the minimum size allowed.

This can be a powerful change in numbers. Remember, if you win 1 tick here, not only is your profit 1 tick higher per trade, your drawdown also goes down. For many strategies this is a very dramatic change. And one that is easy to progam.

Avoid market orders

Market orders will cost you the spread, a minimum of 1 tick. Right there. Try to always enter with a limit order and exit with a limit order for targets. Limits mean you take the better of bid/ask, market you lose the spread. You should only use market orders under the following conditions:

  • Your strategy is a momentum play (like news) where you cannot wait
  • You do an emergency exit.

Normal entries and exits should be preferably always limit orders.

Here at trade-robots this is the default approach. We try to avoid momentum plays, and we do reviews all trading ideas about the feasibility to avoid market orders.

At the end...

...we have shown a number of strategies to make more profit and reduce drawdown in automated trading strategies. At trade-robots.com we deploy them all – obviously. They are powerful tools a strategy developer has. Not all make sense at all times, but when used wisely they can make the difference between a small and a quite significant profit.