If there is one fatal error that most beginning traders make, it is the belief that building a simple system will help them achieve their trading goals. While building systems can be quite beneficial to traders, many aspiring and veteran developers think too one-dimensionally and in so doing try to define a certain market too specifically.
Markets are complex and ever changing. Relationships that exist today are gone tomorrow or even faster. With that in mind, it should be obvious that making rigid assumptions about the market and sticking to them will eventually lead to failure. Unfortunately this is the way many traders build systems.
The primary goal of any speculative system or model is to find certain situations in the market that occur on an ongoing basis and figure out how to use that information to put the odds in their favor. This data will be used to determine entries and exits and hopefully make a little money along the way. Be forewarned, just because a person has used a particular process in the past does not guarantee it will work in the future.
With today’s technology, anyone with the will can gather financial data, learn to program and begin executing trades at a minimal cost. For traders of all levels, there is no shortage of model-building software available. Similarly, for those who don’t want to outlay any cash, there are competitive free programming languages that, in many cases, are more efficient and effective than their off-the-shelf counterparts. Keeping that in mind, it is easy to see that the amount of competition among traders continues to increase significantly.
With all the competition, how can a trader expect to define a specific set of parameters and think that no one else has found it or no one else will find it? That is a naïve assumption at best. There are simply no original ideas when it comes to trading stocks and commodities. The model-driven trading environment is saturated at this point, so traders and developers need to think differently about analysis to keep up. Let’s take a look at two different ways to approach the building of a systematic trading model.
The first approach is to come up with a specific market logic or "truth" and transfer that into the language of choice. Then one can see if the logic holds any weight in the past. If it does, that is great, on paper. The problem for many budding traders is that this is where they stop. They see a report of how wonderful things would have been in the past based on the assumptions and think that it now means the logic will hold true going forward. The improper conclusion that the beginning system designer comes to is the belief that now the odds are stacked in the trader’s favor because historically it has been that way. As many will find out in real time, this could not be further from the truth.
A basic misunderstanding of statistics leads people to believe that the historical odds have some bearing on future odds. A simple example is a person rolling a die. Each die has six sides, each with a different number on it, from one to six. Every time the die is rolled, there is a 16.7% chance the roller will roll a six. Often, when a roller has rolled a six multiple times in a row, the belief emerges that with each consecutive six, it becomes harder to roll yet another six. In reality, it doesn’t matter that the person has rolled a six the past three times. On the next roll, the chance of rolling a six remains 16.7%. In trading, the market doesn’t care if you’ve lost money the past 20 trades. By extension, the market doesn’t care what your backtest says about the logic you have coded.
The second approach is to write a model that is flexible with various market conditions — in other words, adaptable. The best way to do this is to be broad with your logic and not rely on any one signal or driver for the strategy. This may sound strange, but markets don’t follow specific rules and your models shouldn’t either, with the exception of your maximum acceptable stop.
Writing a model with a larger number of market generalities, as opposed to specific rules, and viewing those generalities individually as independent systems within a single system, will give a developer the base of an adaptable trading model. The best way to achieve this is to write a strategy that looks at a large number of market actions and reactions and judges the best overall position based on the independent models within the model. To do this, one must get rid of the idea that x+y=n and begin thinking in terms of "sometimes x+y=n but not all the time." This approach of viewing a large number of general behaviors as a subset of the overall behavior will open the trader up to significantly more flexibility with regards to entry and exit signals.