In the first installment of this series, I offered a broad overview of technical trading systems to serve as a foundation for this and subsequent articles. In that article, I referred to a trading system as “simply a set of specific trading rules or parameters that determine the entry and exit points when trading a given security.” A few readers suggested that I had taken an overly simplistic view of trading systems, correctly pointing out that a trading system is much more than just a tool that identifies the entry and exit for a position. In fact, they pointed out, the entry and exit points of a trading system are only a small, albeit important, element in an overall trading system.
These comments actually segue perfectly into the second part of this series, in which I walk you through the considerations and steps to develop a complete technical trading system, covering principles that are essential to an effective system. Here, I discuss a theoretical framework for you to use when designing your own trading system.
Characteristics of Successful Trading Systems
When studying the principles that professional traders look for, I compiled a list of characteristics that are typical of successful trading systems.
The system must make money.
This may seem like a no-brainer, but it’s still worth pointing out. Traders trade to make money and create trading systems to automate the money-making process. However, this is something that is much easier said than done. Maximizing the percentage return of our trading system is the primary objective. Also, an effective trading system will make money in many different markets.
It is also important to keep in mind that we should be more interested in making a profit from our trading system than always being right. Many professional traders who are successful make correct choices less than 50% of the time. The key is to build in money management features that get you out of losing trades quickly, while allowing winning trades to ride.
Keep it simple.
When you are designing a trading system, it is easy to fall into the trap of adding more and more parameters or filters. However, it is important to fight that urge and keep in mind that systems don’t necessarily perform better as they become more complex.
Complex trading systems typically deliver good in-sample (backtested) performance, but often fail when it comes to out-of-sample testing or real-world trading.
Therefore, try to keep things simple, or keep complexity low, when designing your own trading systems.
Know thy system.
Warren Buffett’s advice to “invest in what you know” also applies to technical trading: You shouldn’t trade a system if you can’t explain it. In other words, if you can’t explain why your trading system outperforms a buy-and-hold approach, you shouldn’t be trading it.
If you don’t understand your system, you won’t be equipped to understand why it does better or worse than what’s indicated by backtesting, or to properly adjust your system when conditions require.
System must limit risks.
Most traders have difficulty following volatile systems, so it is important that a trading system limit risks. Volatile trading systems make it difficult to liquidate a position (any transaction that offsets or closes out a long or short position) and are psychologically taxing. Furthermore, by limiting risk, a trading system lowers the effect of a “bad entry,” such as going long during a downward move or fluctuation.
The principle of putting the generation of profits above always being right ties into risk: The less right your trading system is, the more risk you are taking on. Likewise, if your trading system is correct the vast majority of the time, you are probably not accepting enough risk and thereby minimizing your overall return. Again, you don’t have to be right 100% of the time as long as you are properly managing your risk.
System’s parameters must be stable and realistic.
When developing a trading system, you want to use realistic and robust parameters. Two areas where you can run into trouble with unrealistic or unstable parameters are over-optimization and slippage.
Optimization is the process of finding the parameters for the underlying indicator(s) of your trading system that generate the largest gain (or smallest loss) over the backtesting period. In other words, optimizing means curve-fitting your system.
For example, if you are creating a moving average crossover system, you may optimize the system by testing moving averages of 10 to 200 days to find the period length that generates the biggest gain or smallest loss. One of the risks of over-optimizing, however, is fitting the trading system so perfectly to data from the backtesting period that when you start testing the system over a different period, or in real time, its performance breaks down. This is because the future more than likely will not mimic the time period over which you optimized the system. Over-optimizing your trading system will produce uncharacteristic results over the backtest period that are unlikely to translate into real-world success.
Ideally, you will see a gradual falling away of performance on each side of the optimized value, instead of the optimized value being significantly more successful than any other variable. Such systems are considered robust.
Slippage is the difference between the expected price of a trade and the price the trade actually executes at. Slippage often occurs when market orders are used during periods of higher volatility and when large orders are executed without enough interest at the desired price level to maintain the expected price of trade.
Slippage represents the difference between a trader’s estimated transaction costs and the amount actually paid due to market conditions or poor execution by the broker. It reflects how an order’s fill price differs from the price level that was entered for the trade. For example, if a sell order was placed at $46.25 but the order was filled at $46.10, the slippage on the order is $0.15.
A market order is an order to transact a pre-specified number of shares at market price. This allows for immediate execution, but the order is subject to price impact. Therefore, if you use a market order, there is no slippage. If you use a stop order to specify a desired price, when the market trades at your price, your stop order becomes a market order and it gets filled at the current market price. You have slippage because you have a target price that you may not receive. Your stop price triggers the market order and the price you get depends on the liquidity of the market, the bid/ask spread, the size of the order and the market volatility. Slippage is common with stop orders.
As we mentioned, the more volatile the market, the bigger the chance of slippage. The more liquid the market, all else being equal, the smaller the slippage (usually). In some cases, it may even happen that you get a good fill below your stop price. The only way to avoid slippage is through the use of a limit order, which demands a specific price or better to fill the order. The drawback, however, is that you might miss a good profit if your order does not find a counterpart for the transaction and prices run immediately in your desired direction.
If you trade within a short-term time frame using limit orders, you have to expect your orders not to be filled every time. Note that while this may be acceptable when you open a position, placing a limit order that is not filled might really be a problem when you want to close your position. Close monitoring of the market action is then required to make the proper decision. If you want to make sure that you are out of a position when you want to be, you have to enter a market or a stop order and accept slippage as an extra cost to pay for the certainty of the execution.
System’s time frame must be stable and realistic.
The underlying time frame parameters of the trading system must also be realistic for the end user. If time frames are set too close together, the resulting number of trades and their frequency may overtax the trading software you are using or run into market-side limitations.
Keep in mind, however, that your choice of time frame is not based on your trading system, nor is it based on the market you are trading. Instead, the time frame you choose is based on your own trading personality. More active traders tend to choose a shorter time frame, while less active traders may choose a longer time frame. For example, traders that like to make many trades throughout the trading day might choose a shorter time frame, while traders that like to make only one or two trades per trading day might choose a longer time frame. Also keep in mind that many traders do not choose a single time frame, but instead use a combination of short- and long-term time frames, and make both short- and long-term trades on the same market.
Before You Trade: Decisions, Decisions
As I mentioned in Part 1, there are many decisions that need to be made before you embark down the path of technical trading. However, once you’ve made the initial commitment, there are still important decisions you need to make that will have a direct impact on the success (or failure) of the system. Here are several to consider.
What time period should I use?
All equities can be analyzed from multiple perspectives of time periods, ranging from one minute to one decade, or even more. The same can be said when choosing a time period for backtesting your trading system, and your decision can drastically affect the performance of the system. More reliable results generally come from using longer time periods, while short periods can mislead when judging real market conditions.
However, this doesn’t mean that you should only consider using long periods. There is a trade-off to using a longer time period: the longer the time period used, the longer it may take to realize a profit.
Generally speaking, medium-to-long-term system traders use five to 10 years for backtesting, while shorter-term traders may find six months to five years a reasonable range. Ultimately, this is dictated by your own trading personality as well as when you plan to liquidate.
What price series should I use?
This question arises from the market you are following. Most equities are charted on an unbroken price series. In other words, their charts are continuous. In the futures markets (and some other equities), however, you have the option of using actual contract data instead of continuous pricing. This is because futures contracts themselves only last a few months, and meaningful system backtesting often requires years of data. Therefore, trading systems often utilize continuous futures, which are a series of contracts combined to create a continuous stream of data.
As a general rule of thumb, long-term traders should stick to continuous futures, while short-term traders should use actual contract data.
What trading platform should I use?
The advent of computerized trading platforms is the reason technical trading has become so popular. Without them, there would be no way for an individual to develop, construct, test, optimize and implement a technical trading system. The evolution of the computer is perhaps the greatest driving force behind system trading.
As we mentioned in the previous installment of this series, you have the option of choosing a “black box” system that simply generates buy and sell signals for you, with little or no input on your end. Or, for the do-it-yourself trader, you can use trading software that allows you to build a system “from the ground up” and then test and optimize it. Still other software packages use neural networks that learn from the market and enhance and optimize themselves. In subsequent articles, as we start constructing a technical trading system, we will use some of the more popular trading programs on the market today.
We have now set the table for designing a technical trading system. The next step is to take the concepts and principles we’ve outlined in these two articles and start applying them to the real world. This means constructing an actual trading system using commercial trading software, which will be the topic of the next installment in our Technical Trading System series.