29 Oct Do We Need Stops with Algo Systems?
In this article we evaluate percentage, trailing and many other commonly used stops
Every day traders and system traders have always been told to use some type of stop. Many day traders understand the difficulty in setting stops, stops too tight are destined to get hit more often and stops too loose are fated to give the potential colossal loser.
We want to know if commonly used stops nearly all forums and books talk about really work with algorithmic trading systems. We test various stops on a sample system Chimera Bot below.
For manual traders the psychological repercussions from stops can be dire:
- Fixed Tight stops lead to lower risk on an individual trade but will undoubtedly lead to a lower win/loss ratio. For manual non-system traders, it can be challenging to be repetitively stopped out and then continuing to follow your rules consistently.
- Large stops lead to a higher win/loss ratio, but the occasional significant loss can cause the common day trader to become shell-shocked.
- Trailing stops: every new trader recites the adage of “never let a winner turn into a loser”, so a trail is employed, yet how many times have you seen your trade get stopped out and the market shift into a strong trend in your favour?
Commonly Used Algorithmic Trading Stop Methodology:
- Fixed percentage stop
- Trailing stops – these can be percentage, dollar, points etc.
- Universal indicator stops, e.g. Stochastic, Moving average crossover
- Price action stop – can be something as simple as lowest low in the last 5 bars
- Support and resistance-based stops
- Volatility based stops – many use ATR
Baseline:Quant Savvy Chimera Bot 5
Market: YM 5min Chart, daytrade only (no overnight holding)
Direction: Algo systems Chimera Bot 5 trades only on the Short side.
Stops: All stops for this strategy have been removed.
Targets: Using the normal system targets.
Notes: Performance results based on the beginning of 2007 until the end of 2017.System uses no indicators and Entries are independent of targets and stops.
Baseline results: If the target is not hit the exit is at 315pm Central.
(Click images to Expand)
When removing all the stops we still have a profit factor of 1.54 and a Sharpe ratio of 0.4. The largest losing trade without stops was -$2,604 and the close to close drawdown was -$4,747 (we still feel drawdown is a misleading metric,read this post to see why).
We will try running the results with many different stops – even though we would never optimize our systems for this study we will show results based on various optimizations
- With the independent entry, we need the fast-moving average to cross or stay lower than the slow-moving average.
- When the fast-moving average crosses above the slow-moving average, we will exit next bar at the market.
- We have optimised for the slow and fast-moving average to get the results.
Looking at the results – which will be curve fitted as we are using a computer to optimise the two parameters for best performance. Still, we do improve on the baseline results with 2 different combinations of fast and slow-moving average.
- Fast (5) and Slow (55) gives the best profit factor and reduces intraday drawdown.
- Fast (30) and Slow (55) gives the second-best profit factor.
The results above are generated after testing 500 simulations of best parameters for the moving averages, yet we only get two results which barely improve the performance and therefore have extreme data mining bias hence cannot be used.
This indicator is a favorite stop for many day traders as this considers current market volatility and range. Mean reverting systems love the Bollinger band – we at Quant Savvy find this to be another meaningless indicator, however.
We place our stop at the upper Bollinger Band and optimise the parameter from 1.0 to 5.0 standard deviations, and we optimise the length from 5 – 65.
The results are more consistent with the Bollinger Band study; the 3D optimisation report does show gradual improvement and stable region for parameter optimisation. 14 to 32 in length and 4 to 5 in standard deviation is the stable zone. Having a stable area is essential when optimising algo system parameters as within the neighbourhood of best fit we still want to see the adequate performance. If there is no stable zone, then any change in market conditions will mean odds are your optimised parameters will not work. Ideally one should never optimise in the first place.
- The Bollinger Bands do improve the profit Factor and Net Profit/Drawdown. However, out of all the 500 plus optimisations we tested less than 27 beat profit factors of the baseline.
- We had a Sharpe ratio of 0.45.
- The results do show some promise for Bollinger Band stop, but one thing to note is that the best parameter optimisation of length: 14 and Standard Deviation: 4.75 we only got less than 20% of trades hit the stop….
- Would you use this type of optimised stop which barely improves the Profit Factor? At Quant Savvy we would not!
There are many definitions of trading price action, very few traders understand what it means, and you rarely find two in agreement of how to use it.
As there are many types of price action stops (beyond the scope of this study), in this study we will focus on the two most commonly price action stops used:
- Highest (high, ‘x’ number of bars) looking backwards, this will be optimised.
- ‘X’ number of bars in a row up (against our short position), this will be optimised.
Results for Highest (high, ‘x’ number of bars)
- We do this for 5 to 50 bars looking backwards.
This performs particularly poorly and not even optimised parameters can improve the results.
Results for ‘X’ number of bars in a row where the close is greater than the previous close
- We do this for x = 2 to x = 10
The data above only shows two optimisations where it performs better than baseline system with no stops. Therefore, we can assume this method in its simplest form is not beneficial.
We can use the Open, High, Low and Close of the previous day’s actions to create some support and resistance points in a shorter timeframe. We will, therefore, test if the past days open/high/close or low makes a good stop for the automated trading system.
- We take the entry price and place a stop at a point of interest above this level, e.g. if the entry price is lower than yesterdays close but above yesterdays low then we will test stops at both yesterdays close and yesterdays high. This methodology will be applied to all of the various iterations.
- We will optimise for set 1 in which stops will be applied to the next nearest point of interest and then optimise set 2 in which stops will be applied to the second nearest point of interest. Points of interest being yesterdays: open, close, high and low.
The performance is weaker than baseline performance showing that yesterday’s points of interest have little impact on improving system stops. This methodology could be enhanced and expanded much further using multiple points of interest spanning many days or timeframes etc. However, for this simple study we like to see some improvement in the shorter time frame before moving onto bigger timeframes. A good rule should perform on all timeframes.
- Very commonly used stop, we will pick different lengths and optimise.
- We optimise the ATR length from 0.2 – 6 with 0.1 intervals.
Result: this shows zero improvements in performance and in-fact makes performance far worse.
This method is probably one of the most common stops. No trader likes to see a positive trade turn into a negative one. Nevertheless, this stop requires some degree of skill and flexibility, for quant traders we must emphasise that you should play around with different practices of employing a trail. For this study we will apply something simple:
- We will start trailing when the market goes in our favour using market percentage; this will be optimised.
- We, therefore, have two parameters, the first parameter is on how far the market has moved in our favour, e.g. if the low is less than entry price minus 0.2% a trail can begin.
- When the trail begins, we have the second parameter which is optimised and will again trail based on a fixed percentage.
- The machine will optimise for both parameters starting from 0.2% to 2.0% in increments of 0.2%. The trail will be calculated from the most recent bar high.
Results: surprisingly the trails do not improve performance. If the market goes in our favour by 0.7% for example, then we would want a trail of 1.1% from the most recent bar high.
Result: Test B shows even weaker performance, so this type of trailing stop should be disregarded.
In this study, we will not evaluate these types of stops as price rises over time make this meaningless. If you use fixed dollar stops then make sure to normalise it to the current market price, see this article for more information: Drawdown is a Misleading Metric in Futures Trading
In this post we have presented an interesting study because we specifically chose a system which is Short only. Every trader knows that trades on the Short side work differently than trades on the long side. Markets often move up in steps and then fall off the edge of a cliff, moves down are usually much faster and more violent.
Most other studies of this type usually show that stop tends to improve performance. However, many of these studies are based on longer-term indicators; this study is clearly for day trading only. Moreover, the fact that this is a short only system cannot be overemphasised as most other studies show long only systems – these are often easy to fit using trails as markets often move upwards in steps so a trail is relatively easy to apply.
Scope for Further Study
There are hundreds of different stops we can potentially try. In this study, we have not explored other indicators nor price action points such as Pivots.
The one thing we must point out after years of testing is that indicator type stops rarely work for day trading and dollar stops are poorly programmed and make zero sense for rising futures markets.
In our experience, we find that volatility stops can work, but the system must adjust to the market data coming in a very short timeframe. We also have seen the benefit of break even stops and time stops.
Support and resistance stops can be programmed with different complexities and the results for one trader relative to another trader will be dissimilar. There is no correct measure of support and resistance, and every trader has their methodology.
The final performance of the Chimera Bot when we add out specialised non-optimised and non-curve-fitted stops is as follows:
The above results show a profit factor of 1.86. The stops we have added to this system are not calculated using indicators or anything mentioned in this post. Moreover, the stops are not created using machine learning or any optimisations – these tend to be curve fitted.
We aim for Quant Savvy automated trading system stops to be robust, and they should work in numerous markets and different timeframes. Still, this type of system needs some room to breathe (as do many short systems).
The above system does utilise intraday stops, but these are created using accurate range and volatility forecasting in conjunction with price action that works.
We recommend users investigate volatility analysis; if you can predict the range, you can place stops and targets at strategic points to avoid the noise, good luck!