Suppose that you have a large number of price patterns that you have tested and decided to trade. How do you develop a trading system based on them? Apparently, there are many ways of doing this that offer increased flexibility for risk management.
In the 1990s I developed a theory for the formation identification and trading of price patterns. This theory is detailed in my out-of-print books. I do not plan to write another book on price patterns because I believe there is no need to be repetitive.
Suppose by some means, manual or automated, you identified N price patterns that each generate Ki signals, as in PN(ki) in a period of time T, According to analysis performed the price patterns are robust and you would like to trade then. There are two basic options to start with:
- Treat each price pattern as a separate trading system
- Combine the patterns into a trading system
I have seen people doing both. Treating each pattern as a separate system has some advantages, as follows:
- System is easy to build and maintain
- Performance of individual patterns can be easily tracked
One can easily implement this method in Tradestation and MultiCharts because that is done through user interface.
However, there are also some disadvantages to this method of treating each price pattern as a separate trading system:
- Overall system historical performance is not known
- Position and risk management is a little more complicated
Even if each pattern is profitable, it is possible that their signals interact in such as way as to produce a system with non desirable properties during some time t. This is especially the case during periods of whipsaw when long signals interact with short signals in ways that generate losses, instead of profits. Knowing the performance of a system of price patterns is desirable because one can get an estimate of expected drawdown and that is essential in determining starting capital. Then, position management is easier in the case of one big system because there is only one position at the time. However, in the case of treating multiple price patterns as individual trading systems there is flexibility in using advanced risk and money management based on Bayesian probability. For example, one could adjust positions depending on clustered, coincident or successive patterns. More details can be found here.
On the other hand, there are many ways of combining price patterns into a single trading system:
- Plain vanilla OR Boolean operator
- Sub-grouping based on properties and then use of OR for sub-groups
- Genetic algorithms
Combining with the OR operator is straight forward and can provide an initial indication of the performance of those patterns as a group. This was recently implemented in Price Action Lab for automatically generating Easylanguage and Amibroker Code for any number of price patterns. See this article for more details.
For some ideas on sub-grouping see this. There are virtually unlimited ways of sub-grouping price patterns based on objectives.
Genetic algorithms can be used to group price patterns. I have not done this but some of my customers have and claim success. I believe this must be a real-time process that recombines patterns based on performance and it must also include rejections. I usually reject a pattern from a system when it generates a 20% drawdown based on its own equity curve. Genetic algorithms are good for this job because they implement selection. The questionable application of genetic algorithms is when they are used to find the patterns in the first place. Then, selection leads to curve-fitting to historical data an excessive data-mining bias. Here I am talking about using already developed price patterns and the job of the genetic algorithm is to optimize their grouping. Price Action Lab, for example, uses a deterministic algorithm to discover price patterns that generates the some results each time it runs with same data. This is absolutely necessary to insure that the process fits the standards of scientific analysis and testing. Random results lead to random conclusions regardless of any analysis done.
A short note on trading signal redundancy
Each language handles redundant signals differently. For example, a long and a short that are simultaneously generated for the next open are redundant signals. Some trading platforms count them as generated signals but with zero P/L, unless that is taken care of in advance. This can impact system performance parameters, such as win rate for example, and position size and risk management, if not taken into account in all cases.
Advanced price pattern systems
Probability of win may be increased with systems that check for a number of coincident signals as a condition for generating positions. For example:
If at least 5 patterns generate a long signal at the open of tomorrow then
buy tomorrow at the open
If at least 3 patterns generate today a long signal at the open of tomorrow while 2 patterns have already generated a long signal in the last 5 days then
buy tomorrow at the open
The possibilities are unlimited. This was one of my objectives when I developed Price Action Lab: To offer a tool that discovers simple, parameter-less price patterns in a deterministic way that yet allows for sophisticated ways in developing trading systems.
You can subscribe here to notifications of new posts by email.
Detailed technical and quantitative analysis of Dow-30 stocks and popular ETFs can be found in our Weekly Premium Report.
© 2015 Michael Harris. All Rights Reserved. We grant a revocable permission to create a hyperlink to this blog subject to certain terms and conditions. Any unauthorized copy, reproduction, distribution, publication, display, modification, or transmission of any part of this blog is strictly prohibited without prior written permission.