A good trading system has an edge in the market which allows it to make money when traded in real time. It is easy to design trading programs that look spectacular in historical simulations. Designing one that works in real time and does not break the moment it is exposed to unseen data (the future) is far less obvious.

A good trading system should:
- Have a sound trading strategy underpinning it
- Be simple and robust
- Adapt to changes in market conditions
- Have a small number of rules (~5 in total)
- Be correctly optimized (not curve fitted)
- Be profitable across related markets
- Have high profitability relative to trading costs (slippage and commissions)
Good trading systems should work almost as well on unseen price data as it does on the historical test period
To further aid your understand how to design trading programs that work in real time (as opposed to only working in a historical simulation and breaking down when traded in real time), we have provided further detail about the difference between a poor system and a good trading system here.
You obviously need to understand what a good trading system, before you can find the Best Trading System…so once you have reviewed the difference between a poor and a good system, check out the best trading system!
Characteristics Of A Good Trading System
A good trading system that is likely continue working in the future has specific characteristics that different it from poor trading systems.
Unfortunately for new and uneducated traders, it is extremely easy to fall into the many traps that lead to development of poor trading systems.
The table below differentiates between robust trading systems and poor trading systems on multiple dimensions. Our intention here is to raise your understanding and help you avoid these traps. We also provide actions to incorporate as you build your trading system.
Dimension
Trading Strategy
Poor Trading System
No clear philosophy
Trading rules derived from trial and error or data-mining
Trader not able to explain the philosophy and trading strategy behind the system in a 30 second ‘elevator pitch’.
Rules inconsistent with chosen trading strategy
Good Trading System
Good trading systems are backed by a sound trading strategy / philosophy (Eg. Markets trend and entering a position in an established trend and holding till the trend changes has a positive expectancy)
Trading rules are hypothesis based and capture the essence of the trading strategy
Good trading system logic simple and easy to explain
Trading rules 100% consistent with trading strategy
Actions
Choose one of the major trading strategies that appeals to you and learn more about it.
Do not undertake any trading system development work until you have chosen a trading strategy
Develop your system to be 100% consistent you’re your trading strategy
Follow the correct trading system development process
Complexity
Complex rules based on mathematical manipulations of price and volume data
Use highly specific market conditions as rules
Multiple rules or conditions required to enter or exit
Good trading systems have simple rules that are based on price and volume (and potentially other data) rather than complex derivations the raw data
Few conditions required to satisfy entry or exit criteria
Challenge yourself to express your trading strategy in the simplest way possible
Do not layer many conditions for your entries or exits to improve historical simulations – this results in curve fitting
Adaptive
Refer to absolute price levels or changes for entry or exit rules
Use percentage moves for profit targets or initial stop losses
Both of the above are poor practice because market character changes over time, so absolute levels or changes become irrelevant over time
Good trading system rules adjust for market volatility using calculations such as ATR or Standard Deviation
This takes into account the changing character of markets
This also makes systems transferrable across multiple instruments or markets
Avoid reference to absolute price or percentage changes as these lose relevance over time.
Express any movement in volatility adjusted terms using ATR or standard deviation. This helps system portability between instruments
If you want to refer to price, use a formula that adjusts to the recent price movement such as the Highest Close in the past 20 days, yesterday’s close. todays open etc
Degrees of freedom / number of rules
Large number of rules specified
Criteria stacked on top of each other in a string of ‘AND’ statements to highly specify a conditions for action (especially entry signals)
More than ~10 rules required to specify the entire system
A good trading system has few rules specified. Ideally 6 or less across the entire system
Simple criteria for entry trigger
Set a budget of how many rules you will have in total and stick to it
Aim for 6 rules to specify the whole system and reduce further if possible
This can be difficult, but it will prevent rampant curve fitting and give your system more chance of working in the future
Optimization
Many parameters are optimized to give the best hypothetical back test results
Correct optimization of a small number of parameters to ensure system performance is stable and robust
Understand and practice correct optimization to avoid curve fitting
Exit Specification
Exit rules poorly designed and unable to deal with all possible situations
Exit rules fully specified to ensure that there is always a clear exit point no matter what market conditions emerge
Perform a mental scenario review of all possible market movements once you get into a trade and ensure your exit rules account for all scenarios
Transferrable
Designed to be highly specific to a single market
Generates poor trading results in other related markets and losses in unrelated markets
A good trading system which is robust and non-curve fitted system should work well across a wide variety of markets
For example, a simple trend following system can work well on stocks, futures and forex with no modifications at all
Avoid developing market specific systems if you are a new trader
Plan your optimization routine in advance and ensure you optimize correctly
Ensure your historical testing and optimization covers markets from all different conditions – volatile / quiet and up / down / sideways
Ensure testing generates enough historical trades to be sure of system performance (the more the better, but several hundred as a minimum)
R-Multiples
(Return per dollar risked)
High variability (standard deviation) of trade outcomes relative to the average profit per trade
Large losing R-Multiple trades appear in the historical simulation which could wipe you out
Trading rules make it likely that a large R-Multiple losing trades may emerge in the future (e.g. Using extremely tight stops on volatile stocks)
Low variability (standard deviation) of trade outcomes relative to the average profit per trade
No Large (-10R or greater) losing trades found during simulation
Large losing trades are not likely based on the trading system logic
Generate an R-Multiple trade distribution for your system’s historical performance and ensure that there are no large losing R-Multiples
Perform mental scenario testing on your trading system logic to determine if extremely large loses could occur
Adjust logic if required to reduce this risk (e.g. widen stops)
Average profit per trade
Low relative to a realistic assessment or slippage and commissions
This leaves no room for error if slippage increases or if market character changes
Average profit per trade substantially higher than the cost of slippage and commissions
Allows for changes in slippage and market character without the system self destructing
Determine the average profit per trade excluding slippage and commissions based on historical backtests
Research the likely slippage and commissions for your chosen markets
Calculate average profit per trade including these costs
Ensure the system remains profitable and equity curve remains attractive including these assumptions
Opportunity
The system generates so few trades that real time performance will be extremely lumpy
OR
The system generates so many trades that it is impossible to take them all and there is no mechanism other than ‘discretion’ to select between trades
A good trading system generates a sufficiently large number of trades that there is ample profit opportunity over the year (greater than 100 trades is preferable)
If the system generates more trades than the portfolio can handle there are objective rules for how to prioritize trades
Measure how many trades your system generates each year and ensure it is large enough to make you money but not so large that you get swamped
Measure how many trades each rule you add to your system impacts. If a rule only impacts a small number of trades (say <30) then it is probably not statistically valid and should be removed
These are some of the key differences between a good trading system and a poor trading system. Our recommended actions in each category should help you avoid many of the common pitfalls of trading system development.
Share This
Share this post with your friends!