In the previous article, I covered the core components necessary for a complete, successful system. By successful, I mean a system that can produce measurable and reproducible results in a mechanical fashion. Once you obtain an system that can be implemented ‘manually’, where all actionable steps are worked out ahead of time, then you would want to reduce the number of steps that the trader is required to act upon. Solution: automate.
By manual implementation, I am referring to a trader being required to physically participate in all of the steps of the system. Automated trading implementation is when the steps are implemented without human intervention. Semi-automated means some of the steps (preferably 1/2 or more) and fully automated means that after initial setup, the system can run without human intervention.
Here are some of the major advantages of automation:
- [B]Increased accountability[/B]: When developing systems, you have an idea of what you want and you build your system accordingly. You also know what your system should [I]not[/I] be doing at any given time.
- You can log every relevant statistic that was calculated during system operation for further analysis. Spread, slippage, order execution, errors reported, changes in parameters, etc. Any bugs that come up are reproducible, although this may require many hours sometimes to properly isolate the root causes. At least there are only so many variables as the broker usually provides the trader with either a api or the end user trading application.
- [B]Increased transparency[/B]: Fully mechanical systems are usually transparent by nature, at least from the sequence of the tradecycle. When it is operating automatically outside yourself, you have the opportunity to look at exactly how your strategy works with a birds-eye view. You have a greater ability to see the system for what it is, which is very difficult to do manually. Your own biases and emotions can often cloud your judgement in [I]actually[/I] pulling the trigger, even if all the steps are per-determined.
It is difficult to cheat (intentionally or accidentally) when the whole process is hard-coded in front of you.
- [B]Easier to Optimize[/B]: Once you have verified your core strategy has potential, you can then begin tweaking some of the main parameters and secondary parameters to match opportunities you observe. You can add, remove, and/or replace different components, forward [U]test[/U] them alongside an older version of the same system and evaluate performance. Backtesting is more useful for testing the validity of a function used, whereas forward testing or walk-forward testing aims to confirm real-world performance of strategy.
An example of a few optimizations I used:
- Implementing a “maxSpread” indicator that disallows trading when a currency spread exceeds a certain value.
- Implementing NoTrade times so that a tradecycle does not begin to close to closing time or opening time or whatever time I designate.
It is important to note that performance matrices are not limited to equity curves or equity monitors
- [B]Scale-ability[/B]. While your strategy will be WYSIWYG, the actual implementation can be inconsistent due mainly to human error. I hinted earlier that performing repetitive tasks on queue every time manually is difficult for the following reasons: A machine can take advantage of the same trading conditions consistently, every time. So for much less physical effort you can take advantage of [I]greater proportions[/I] of opportunities. This is also known as [I][U]leverage[/U][/I]; another very important trading concept that must be used properly to get the most out of your trading.
- You can focus on multiple instruments simultaneously as the robot/indicator will be doing the repetitive tasks of the signal, entry, and exits. If you trade manually, there are only so many charts, indicators, etc that you can keep track of. And I’ve seen people with what I call “****pit dashboard” looking charts with loads of indicators PER CHART, and multiple charts and terminals (windows) open waiting for alerts from those charts…some 10-50 charts sometimes. How many charts can you pay attention to at once, let alone trade with only two hands, two eyes, and maybe 2-3 monitors? How long can you keep this up for EVERYDAY? Unattended implementation of your trading strategies is the only way to maximize market exposure-to-attention span ratio.
There are some notable [I]disadvantages[/I] to automation, mainly in the actual development process. It does take [U]resources[/U] to build and [U]a lot of personal follow-through[/U] to see a system develop out to its full fruition, let alone a working beta. Lots of risk involved in terms of costs vs success of completion. It deserves another thread, but I can say that the advantages outweigh the disadvantages as much as someone attempting to take a bus, car, or plane from Miami, FL to New York City will reach their destination much faster and more efficiently than walking or bicycling.
Automation is part of a larger strategy that Ramit Sethi (I Will Teach You to be Rich) summarized in his Big Wins Manifesto. While not trader-specific, he gets at the heart of the psychological differences in people taking action that achieves reproducible results vs those who have one-off approaches that may work a fraction of the time or are ‘good enough’ to get by. The Big Wins article is a summary of his work in behavior psychology and how it relates to making money; and practically required reading for anyone aspiring to take their trading to the next level. One quote that was worth noting:
“True masters of human behavior understand our shortcomings…and [B]use systems, automation[/B], and a judicious use of our limited willpower [B]to tackle the things that really matter[/B] — [I]while ignoring the rest[/I].” [emphasis added]
I am more focused on addressing why more traders are [I]not[/I] implementing [semi or fully] automated trading systems. Well for one, it would require a system that has structure; rules that do not have benefit of hindsight and would have to be adjusted/tweaked using real-time observation. This can be a big blow to a trader’s ego, that may want to insist that constant human intervention is required. Others have already written off automation because of the aged excuse of ‘if it were so easy, everyone would be doing it’. I don’t know why so many people are attached to the ‘popularity’ indicator, despite numerous historical and real-time examples that show popularity alone is a horrible way to prove a method or system’s effectiveness. How popular was Enron, Bernie Madoff, MF Global, PFG[Worst]?. That’s for a different article. Some people don’t have the technical expertise to build their own systems exclusively. In this case, you may need outside help (with the technical aspects of programming), but conceptually there is no need to reinvent the wheel. The fundamentals of how buyers and sellers agree in contract don’t change.