A trading system is a collection of formulas and rules that generate buy and sell recommendations.
Trading systems have been developed for decades, but the recent advances in technology with the pc and internet have increased interest in them and broadened the number of people actively involved in their use.
Technical indicators such as oscillators, moving averages and band indicators are most frequently used to form the rules of trading systems. Combinations of technical indicators are also often used to create of a rule.
Trading systems are optimized in order to manage risk and increase profitablity, and this is done by modifying different parameters within each rule.
Trading systems remove emotion from trading. This has several obvious benefits – for example a trading system will not place an excessively high risk trade due to frustration from a prior losing trade.
Systems can now be fully automated, freeing up time for the trader, and in some cases can run completely ‘hands free’, where even the orders are entered automatically.
Probably the largest problem with trading systems is that it is very difficult to forecast future results in a live market environment- even though a system may have been thoroughly backtested.
Historical backtesting will help indicate the profit potential of a system – however testing should also take place in a live environment through a simulator.
Simulators, while they have the advantage of showing live market results will never be able to recreate exactly how a fill would have taken place and consequently the results in a live market will be subject to slippage.
Slippage reflects the extent to which an orders fill price differs negatively from the price level at which it was entered. For example if a sell stop loss order was placed at 1.2762 in the eur/usd and the order was filled at 1.2755, one would have experienced 7 pips of slippage on the order.
Trading Systems and the Foreign Exchange Market
The forex market is the largest and most liquid financial market in the world. The daily dollar volume of currencies traded in the currency market exceeds $1.9 trillion, many times larger than the combined volume of all U.S. equities and futures markets.
Here are some things to bear in mind when considering trading systems and the fx market:
– The massive liquidity of the forex market is an attractive feature for systems developers.
– Normally in trading the spot forex market, there are no commissions, but bear in mind that you will normally be paying a spread of at least 3 pips to enter a trade.
– The most popular fx trading systems are trend following. The forex market generally trends more than the other markets, because it is influenced by macroeconomic trends that take long periods of time to be fully absorbed by the market.
– The 24 hour nature of the market during weekdays makes exiting positions easier, creating a better environment for systems that carry overnight positions.
Trend following systems, as the name suggests, aim to enter a trend and profit from continued price movement in the same direction.
Perhaps the most famous proponent of trend following systems is the famous commodities trader Richard Dennis.
In 1983 Richard Dennis was having an ongoing debate with his friend and business partner Bill Eckhardt about whether great traders are born or made – whether it is possible to teach the ability to trade successfully.
Dennis firmly believed that trading abilities could be broken down into a quantifiable system of rules that can be taught, while Eckhardt felt the ability was something innate.
Dennis suggested that they recruit and train some traders and give them actual accounts to trade to see who was right on this issue. Ten individuals were selected, invited to Chicago and trained for two weeks.
Dennis taught a trend following trading methodology to the group of inexperienced students, and nicknamed them ‘Turtles’ having recently visited turtle farms in Singapore.
They began trading live accounts shortly after completing their course. Dennis won the bet – over the next four years the Turtles earned an average annual compound rate of return of 80%. Jerry Parker of Chesapeake Capital Corp. was a turtle and now manages more than US $1 billion.
Richard Dennis was featured in the original Market Wizards book by Jack Schwager, a classic of trading literature.
This type of system aims to identify reversal points in price.
A volatility breakout system might entail entering a trade on a stop order above or below the range that has been previously trading – with the expectation that since a breakout has occured price will continue to move in that direction.
Volatility breakout systems are based on idea that if the market moves a certain percentage from a previous price level, the market is likely to see follow through in that direction. In this scenario you are looking for a continuation of the move based on momentum.
The idea is that when a new high or low is established after having been contained within a range of a certain time period, price will be carried by momentum in the direction of the breakout.
Reverse Breakout Systems
A reverse breakout system is designed to fade the move described above.
Another popular type of system are the group based on Moving Averages.
Developing a Trading System
What you will need:
In order to develop a system you will need a data feed in order to do backtesting. Esignal is a popular data provider.
Next, you will want to consider what software platform you want to use.
If you can program well in C++ or MS PowerBasic or .Net languages then you might consider designing your own custom analysis and trading program. For systems where there is not too much data, such as end of day systems, it is possible to build and test the systems in spreadsheet applications such as Excel.
Otherwise, here are several software platforms on the market that you can use to develop systems – the most famous is probably TradeStation. TickQuest’s NeoTicker is another less well known program. Some platforms allow for automatic execution of trades. Normally the platforms will have a proprietary language such as TradeStations EasyLanguage for programming the system.
EasyLanguage is similar in syntax to Delphi, and enables users to construct rules for buying and selling based on anything from a simple technical indicators such as moving averages to complicated algorithms.This languages are normally not very difficult to learn, so you need not be intimidated by this, even if you do not consider yourself a techie.
System development software normally allows you to backtest and generates reports outlining profit, number of successful trades etc.
Performance measures to use when evaluating a trading model include: total number of closed out trades, percentage of winning trades, percentage of long winning trades, percentage of short winning trades, gross cumulative profit or loss, net cumulative profit, maximum drawdown, ratio of net cumulative profit to drawdown, maximum winning trade, maximum losing trade, average winning trade, average losing trade, average profit or loss per trade, number of consecutive losing trades, unrealized profit or loss in open position and distribution of profits over time.
In evaluating your system you should look first at the net profit and also average profit per trade.
You will start out by selecting a market and timeframe and defining entry and exit rules.
For entry rules, you will be looking to parameters relating to the type of system you want, such as trend following, breakout etc. Exit rules can be expressed in a variety of ways, such as fixed dollar amount, a percentage of the current price, a percentage of the volatility, or a time stop.
Smaller timeframes mean smaller profits, but usually smaller risk, while longer term systems, operating on a daily and weekly timeframe offer higher profit potential and also higher risk.
Bear in mind also that in your backtesting you need to have an adequate number of trades to make a valid assumption, so you need to consider this in addition to the time period.
You should test the robustness of your system by applying it to multiple markets and time periods. It is also important to to factor in commissions and any other transaction costs.
If you over optimise a system by adding too many rules, it will be unlikely to do as well under live market conditions. This is what is known as ‘curve fitting’ a system. Generally speaking the fewer rules used the better in designing a trading system.