Unfortunately trading systems often get discarded early on after a couple of poor back-test results.
Sometimes it is better to improve an existing system than to start afresh with something new. In this article I look at 21 ways you might be able to improve on your existing trading system:
1. Take It Live
One of the best ways to improve a trading system is to trade it live. Too many traders get stuck in the back-testing loop where they spend all their time tweaking and optimising their systems on historical data. However, back-testing can only get you so far because you will always be limited to the past data you have available. You also run the risk of over-fitting.
Conversely, by deploying your system into the live market you will learn a lot more about it than you would during the back-testing phase. You’ll discover subtle nuances like how the system performs during certain conditions, how different order types affect results and how news events affect the system performance. This data can be then be used to feed back into the system and improve it further.
That is not to say you should jump in and start trading an unfinished trading system with real money. But you can learn an awful lot about a trading system by demo trading it live for a couple of months. If it is promising enough you can start to allocate small amounts of capital.
2. Compete With It
Once you have a trading system in the market, either live or demo, find a way to compete with it.
Can you beat your own model by trading earlier, later or more or less frequently? Perhaps your system underperforms in certain conditions or times of day. The data you get from trading can help find it’s faults.
If you are able to skip certain dangerous scenarios you may be able to do better than your system. If your system trades on the close, maybe you can trade before the close to get a better entry. Or maybe you can utilise your chart reading skills to make better entries and exits. Can you stomp on your model?
3. Try Different Markets
An obvious way to improve a trading system is to try it on different markets.
Developed markets are more liquid and efficient than emerging markets. S&P 100 stocks are more liquid and efficient than micro cap stocks. Commodity markets trend more often than currency and equity markets.
Because all markets behave differently, it makes sense to try your system out on the different types.
4. Try Different Timeframes
Another obvious choice is to implement your trading system on different timeframes. Short timeframes like 5-minute or 30-minute are noisier than longer timeframes like daily or weekly. Daily timeframes show better trends but they will also lead to fewer opportunities. There may be a balance that suits your trading system best.
It may also be a good idea to use multi-timeframes. For example you might trade only when the hourly, daily and weekly charts all line up at the same time.
5. Simplify It
Often, the reason why a trading system fails when taken live is that it is overly complex. Too many moving parts may have lead to curve-fitting in the back-testing phase. Thus, a very good way to improve a trading system is to simplify it. Strip it back to it’s most crucial elements and see if it has any real impact on performance.
6. Use Better Data
Sometimes the reason a trading system performs badly has nothing to do with the system itself but the data that was used to build it. If the data is biased or has holes in it, you will end up with a biased system. That’s why it’s important to use a high quality data service.
7. Use Walk-forward Analysis
The whole point of back-testing is to simulate the live trading environment as closely as possible so you can find a persistent, profitable edge. The problem is that financial data is not stationary. A back-test by itself does not do a great job of imitating the ever-changing nature of markets.
A better solution is to use walk-forward analysis where you run the system over a small segment of data and then move forward into a segment of out-of-sample data repeatedly. This better mimics the actual process you would experience moving from back-testing to live trading.
8. Reduce Your Trading Costs
Since financial markets are very efficient, the success of a trading system can rest on a very thin margin. High frequency trading models require lower transaction costs than slower models. So try to find a way to reduce your trading costs. For example, by using a different broker, using different order types or trading at different times.
Another question to ask is whether you are modelling transaction costs correctly in your back-test. Your trading system may be improved by more accurate values.
9. Automate It
Sometimes a trading system fails not because it is mediocre but because it is not being executed correctly. This may be due to difficulties involved in execution.
By automating a trading system you can remove human error and execute trades far more accurately. This article shows the steps to automating a trading system in Excel.
10. Use Optimisation
Too much optimisation of a trading system can be dangerous because it can lead to curve fitting very quickly. This is true if you are searching hundreds of trading parameters for the holy grail system.
However, optimisation has a very important use for observing the robustness of trading parameters. To test for robustness you simply need to look at the system performance of neighbouring parameters.
For example, if your trading system works well with a 20 period moving average, it should also perform well with an 18, 19, 21, 22 period moving average. Thus, optimising can help you to find more robust settings for your trading system.
11. Combine It
As I detailed in another article, combining trading systems together is one of the easiest and best ways to improve a single trading system. If two trading systems are not correlated, combining them together usually leads to smaller drawdowns and therefore better risk-adjusted returns.
12. Make It More Dynamic
A problem with your trading system might be that it is too static. Financial data is dynamic and ever changing so the best system is one that stays in tune with the market. Walk-forward analysis, optimisation, and machine learning are ways to re-tune the system to current market conditions. Are there any other ways you could make your system more reactive?
13. Use Better Money Management
Even a profitable trading system will blow up if you bet too much on every trade. Conversely, if you bet too little, you won’t make enough money for it to be worthwhile. As I wrote in a previous article, the Kelly formula provides a mathematical answer to calculating the best trade size.
14. Introduce A Filter
Filters, in general, are mechanisms designed to remove unwanted or unnecessary components. This can be applied to trading system design as well, however, this must be done carefully so as not to introduce curve fitting or data mining bias.
Examples of filters might include intermarket analysis or regime filters – such as trading only during certain market conditions like bull markets or bear markets or phases of volatility.
Filters might also include economic measures like inflation or unemployment or composite indicators made up of many different factors or indicators combined.
15. Introduce Fundamentals
Along similar lines, a trading system might be improved by introducing fundamental data. In stocks, fundamental data may include PE ratios, earnings per share, free cash flow or insider transactions. For an investing model that utilises fundamental data in this way see the Marwood Value Model.
16. Use More Sophisticated Ideas
The concept of Occam’s razor suggests that simple trading strategies should be preferred over complex systems (if they achieve similar results that is). However, outdated, overly simplistic rules may be the reason why a trading system stops working.
Sophisticated ideas beyond the realms of most ordinary investors may therefore be the answer to finding a profitable edge.
17. Try To Capture Long Tail Moves
If your trading system uses profit targets it may miss out on a potentially big payout during a long tail or black swan type of event. Thus, your profit targets might be reducing the profit potential of your strategy. Unless they provide value, profit targets might be better switched to different types of exits.
18. Abandon ‘Financial Astrology’
In the book Quantitative Technical Analysis, Dr. Howard Bandy advises that you should abandon financial astrology. If your trading system relies on phases of the moon, Fibonacci, wave theory or other dubious schemes, abandoning them may be the best step forward to improve your trading system.
19. Introduce Human Elements
Improvements in technology have very much levelled the playing field when it comes to quantitative investing and trading. Now it is easy for anyone to run a back-test and see what would have happened if a certain scenario had played out. With so many traders using the same methods it’s likely that potential profitable trades will be arbitraged out at the same time.
However, just like computer-human teams can beat advanced computers at chess and other games, there is a strong argument for introducing human elements to a trading system setup.
Humans are better than computers at one important thing – judging the behaviour of other humans. That’s why discretionary traders can still succeed. However, humans still need to learn the many limitations and biases of the human mind. This course on mental models goes through the most important ones.
20. Look At The Impact Of News Events
Stock markets in particular are very susceptible to news events like earnings reports. These events are difficult to manage during the back-testing phase because you typically don’t know when they take place.
A trading system that is flat during an earnings report might do better than one that stays invested during that time. This is another factor that can be assessed through demo trading.
21. Give It Time
Sometimes a trading system simply needs to be accepted for what it is instead of searching for a holy grail system and looking for unrealistic returns.
If a system has a profitable edge then it has value. Value which can be unlocked further through leverage, trade frequency or in combination with other trading systems. Thus, you can improve your trading system by giving it the time and space it needs to succeed.
JB Marwood I liked this post of your very much. Followed you on G+. I also run a website which looks into Market Profile and Order Flow Analytics of Indian Markets. Please check it out whenever you get time, and give your valuable feedback.
Hi Dean, I took a quick look at your site and it looks great, keep up the good work! Thanks for the comment.
Hi JB,
is combining uncorrelated trading systems such a good idea? I mean, isn’t it better to monitor their performance separately and stop trading ones that went out of sync with the market?
Uncorrelated does not necessarily mean underperformance. Combining uncorrelated systems is one of the best ways to soften drawdowns and get a better sharpe ratio. Monitoring systems and knowing when one is in sync with the market or not is quite difficult also.