Are Breakeven Stops Worth The Effort In Algo Trading?
One favorite "gotta have" of many traders is a breakeven stop. By not letting a winning trade become a loser, the psychological lure of breakeven stops is strong. This is especially true for discretionary traders, where the winning percentage can play an important mental (not necessarily financial) role.
The answer for automated traders may be different, though. If breakeven stops hurt performance in the long run, then what use are they? And if they help, are there any key aspects of these stops that improve trading?
This article will provide a framework for evaluation breakeven stops, along with a few examples. Remember though, to evaluate any conclusions with your own research on your own systems.
Defining a Breakeven Stop
In its simplest form, a breakeven stop will exit on a stop order with a gross profit of $0. Obviously, if this stop is immediately deployed after entry, the trade will almost certainly be quickly exited. So, a "ceiling" amount is frequently employed with this type of stop. The breakeven stop is not activated until the profit level breaks through the ceiling (note that some platforms may consider this a "floor" amount, but nevertheless the point is still the same - the stop should only be activated once a certain profit threshold is exceeded).
One common variation of this is to include commissions in the breakeven, and even possibly a tick of profit. In that case (and assuming no slippage), the final profit would be 1 tick minus commissions.
To keep things simple for this analysis, we will go with just a simple $0 gross profit breakeven stop.
Adding It Into Code
Most platforms have a built in function for breakeven stops. For example, in Tradestation the line "SetBreakevenStop(FloorAmt);" is all you need. As an alternative to using that, we will use the following code for Tradestation:
The answer for automated traders may be different, though. If breakeven stops hurt performance in the long run, then what use are they? And if they help, are there any key aspects of these stops that improve trading?
This article will provide a framework for evaluation breakeven stops, along with a few examples. Remember though, to evaluate any conclusions with your own research on your own systems.
Defining a Breakeven Stop
In its simplest form, a breakeven stop will exit on a stop order with a gross profit of $0. Obviously, if this stop is immediately deployed after entry, the trade will almost certainly be quickly exited. So, a "ceiling" amount is frequently employed with this type of stop. The breakeven stop is not activated until the profit level breaks through the ceiling (note that some platforms may consider this a "floor" amount, but nevertheless the point is still the same - the stop should only be activated once a certain profit threshold is exceeded).
One common variation of this is to include commissions in the breakeven, and even possibly a tick of profit. In that case (and assuming no slippage), the final profit would be 1 tick minus commissions.
To keep things simple for this analysis, we will go with just a simple $0 gross profit breakeven stop.
Adding It Into Code
Most platforms have a built in function for breakeven stops. For example, in Tradestation the line "SetBreakevenStop(FloorAmt);" is all you need. As an alternative to using that, we will use the following code for Tradestation:
Maxpositionprofit is a Tradestation reserved word that holds the maximum profit in the position. Entryprice is another Tradestation reserved word, and is simply the price the trade was entered at.
This code can easily be modified to move from a breakeven stop to a stop with a small profit. It could also be modified so that the threshold is based on recent volatility, instead of a fixed dollar amount for the whole test period.
Note that as written, this code will not be active until the 2nd bar after the entry bar. More experienced coders can easily modify this code if that is not desired.
Sample System #1 - Evaluation
Sample System #1 is an actual ES intraday strategy that I personally trade. As designed, it does NOT have a breakeven stop in it. But what if I included one? Figure 1 shows the overall net profit as a function of the breakeven stop level ($2500 and up is basically the same as no breakeven stop).
Results for Net Profit show that, for this system, a 6% increase in Net Profit can be had. Of course, this is an optimized result, so it is probably optimistic.
Figure 2 shows how the profit/drawdown ratio can be improved, too. But, again remember that I am comparing an optimized result to an unoptimized result.
This code can easily be modified to move from a breakeven stop to a stop with a small profit. It could also be modified so that the threshold is based on recent volatility, instead of a fixed dollar amount for the whole test period.
Note that as written, this code will not be active until the 2nd bar after the entry bar. More experienced coders can easily modify this code if that is not desired.
Sample System #1 - Evaluation
Sample System #1 is an actual ES intraday strategy that I personally trade. As designed, it does NOT have a breakeven stop in it. But what if I included one? Figure 1 shows the overall net profit as a function of the breakeven stop level ($2500 and up is basically the same as no breakeven stop).
Results for Net Profit show that, for this system, a 6% increase in Net Profit can be had. Of course, this is an optimized result, so it is probably optimistic.
Figure 2 shows how the profit/drawdown ratio can be improved, too. But, again remember that I am comparing an optimized result to an unoptimized result.
Sample System #2 -Evaluation
Sample Strategy #2 is a Gold system with very few rules. It has, however, performed very well over time. Figure 4 below shows the equity curve for this strategy.
After adding in the breakeven stop, in the best case the Net Profit increases by $5,185 or about 3%.
The drawdown however, decreases by 25% after adding an optimized breakeven stop. While this seems like a good result, remember that it is the result of an optimization and any walkforward strategy developed with a breakeven stop would have worse performance. It might, however, be worth investigating.
Sample Strategy #2 is a Gold system with very few rules. It has, however, performed very well over time. Figure 4 below shows the equity curve for this strategy.
After adding in the breakeven stop, in the best case the Net Profit increases by $5,185 or about 3%.
The drawdown however, decreases by 25% after adding an optimized breakeven stop. While this seems like a good result, remember that it is the result of an optimization and any walkforward strategy developed with a breakeven stop would have worse performance. It might, however, be worth investigating.
Conclusion
So, do breakeven stops work, or not? In the two examples I show, the breakeven stop was not enough of a game changer to warrant its inclusion based on profit alone. In the second example, the decrease in maximum drawdown was significant enough to get our attention. But, since the breakeven results were optimized, it is impossible to say that the good results are meaningful (although where the results are poor, we can conclude breakeven stops are not helpful since they were based on best case optimization).
Also, I added the breakeven rule after the systems were developed, which will have an impact.
Perhaps if I had the breakeven stop included from the start, it would have been more useful. Even with that a breakeven stop needs to really have an impact, otherwise it is just another rule that can aid in curve fitting without providing much help in real time.
In general, the key with developing a strategy, I have found, is to keep the number of rules and parameters as low as practical. Strategies with 4 rules tend to work better going forward than strategies with 40 or 400 rules. I also recommend walkforward testing, to provide as much out of sample data as possible.
Since that is generally true, the developer has to seriously question whether having a breakeven stop is worth the cost of having it. In the cases I show it is probably not. But, for different systems, the results may be good enough to include a breakeven stop.
Using the analysis framework I showed in this article, a strategy developer can easily determine for himself if having a breakeven stop is worth the expense.
So, do breakeven stops work, or not? In the two examples I show, the breakeven stop was not enough of a game changer to warrant its inclusion based on profit alone. In the second example, the decrease in maximum drawdown was significant enough to get our attention. But, since the breakeven results were optimized, it is impossible to say that the good results are meaningful (although where the results are poor, we can conclude breakeven stops are not helpful since they were based on best case optimization).
Also, I added the breakeven rule after the systems were developed, which will have an impact.
Perhaps if I had the breakeven stop included from the start, it would have been more useful. Even with that a breakeven stop needs to really have an impact, otherwise it is just another rule that can aid in curve fitting without providing much help in real time.
In general, the key with developing a strategy, I have found, is to keep the number of rules and parameters as low as practical. Strategies with 4 rules tend to work better going forward than strategies with 40 or 400 rules. I also recommend walkforward testing, to provide as much out of sample data as possible.
Since that is generally true, the developer has to seriously question whether having a breakeven stop is worth the cost of having it. In the cases I show it is probably not. But, for different systems, the results may be good enough to include a breakeven stop.
Using the analysis framework I showed in this article, a strategy developer can easily determine for himself if having a breakeven stop is worth the expense.
Comment Form is loading comments...
About The Author: Kevin Davey is an award winning private futures, forex and commodities trader. He has been trading for over 25 years.Three consecutive years, Kevin achieved over 100% annual returns in a real time, real money, year long trading contest, finishing in first or second place each of those years.
Kevin is the author of the highly acclaimed book "Building Algorithmic Trading Systems: A Trader's Journey From Data Mining to Monte Carlo Simulation to Live Trading" (Wiley 2014). Kevin provides a wealth of trading information at his website: https://kjtradingsystems.com
Copyright, Kevin Davey and KJ Trading Systems. All Rights Reserved. Reprint of above article is permitted, as long as the About The Author information is included.
Kevin is the author of the highly acclaimed book "Building Algorithmic Trading Systems: A Trader's Journey From Data Mining to Monte Carlo Simulation to Live Trading" (Wiley 2014). Kevin provides a wealth of trading information at his website: https://kjtradingsystems.com
Copyright, Kevin Davey and KJ Trading Systems. All Rights Reserved. Reprint of above article is permitted, as long as the About The Author information is included.