Understanding the Pattern Scanners

A multi-part guideline to get top performance from using the pattern scanners.

Why Use Pattern Scanner?

Pattern Scanner, especially its ability to utilize multiple indicators in its scan, is very useful for the detection of complex setups.

Pattern Scanner is also very flexible in terms of its ability to chain the scanning, send its results to quote window, etc. Making it the tool of choice to identify trading opportunities across many symbols.

The Difference Between Pattern Scanner and Quote Window Formula Columns

Quote windows are designed for monitoring symbols in real-time. Quote window formulas help users to get real-time updates on calculations that require real-time attention. That means, if your filtering criteria is based on patterns or indicator calculations on very high frequency resolutions (i.e. 1-min or less), then quote windows are more suitable for the job.

That does not mean you can just throw thousands of symbols into the quote window for such purpose because of some well known physical limitations. For example, your real-time subscription can limit the number of symbols you can track in real-time.

In such situation, it is best using pattern scanners to produce a number of hot list that you can use in the quote windows to monitor in real-time. These two tools are not exclusive from each other, when done properly, they can work together to produce very good results.

Research with Pattern Scanner

Before you can scan in real-time, first you have to find setups that produce something consistent and meaningful in historical data. Namely, your scan should produce something that points to clear short term bias that you can utilize immediately.

To research for your very own custom scanning setup, you can write your search criteria in the pattern scanner simply through the fml indicator. As oppose to produce a filtered list of symbols, your focus in this stage of scan development is to see if certain conditions can lead to consistent behaviour in some stocks (or any other instruments). This process is different from classic trading system development because you are simply looking for a bias that you can lean on and most likely you will monitor those symbols meeting the special condition in real-time with charts, quotes and other means.

For example, you may be interested in an overbought condition on 30-minute bars across the S&P 100 components using RSI indicator. The first thing to do, is to write a scan that identify the condition and report the historical behaviour across those symbols.

(Lawrence: A separate article will be written to demonstrate techniques related to basic research on scanning setup)

Once you have developed a scan that has meaningful bias, next step is to create the real-time scan. It is much easier than the initial research because the real-time version simply filter for the conditions you already discovered.

From a Working Scan to a Performing Scan in Real-Time

Once a basic scan is implemented and correctly identify the conditions you are looking for, the next step is to improve its performance so that it can scan faster and more efficiently.

First thing you can do is to reduce the number of days to load for indicator calculations. As you are looking for the conditions in real-time only, you need only to load just enough data to carry out the indicator calculations properly, not one day more.

Another setting you can look into is to reduce the number of bars to carry out indicator calculations. As long as the indicators you have chosen get enough bars to carry out its calculations properly, you will get the answers consistent with your longer term testings. For example, you need 100 bars in an indicator that calculate the 100 period simple moving average. If you set the pattern scanner to calculate on fewer than 100 bars, you will not get the correct results.

From design point of view, you can also break up a scan into two parts where one scan is repsonsible for the conditions that filter for information upto the close of the previous trading day, and the other part will simply be responsible for the real-time criteria.

The advantage of such design change is two-fold. First, it will greatly reduce the number of symbols you need to scan in real-time should you use a fixed symbol universe. Second, if you are interested in expanding the symbol universe you are working with, you now have the ability to scan this larger set of symbols after the close with no real pressure on time, and can net a bigger set of symbols matching your criteria.

Trade-off Between Flexibilities and Speed

Pattern scanner is designed to handle massive number of symbols in a scan. It is also designed to deal with many different type of scenarios in scanning. For example, there are measures that allow the pattern scanner to break the barrier of limited number of streaming symbols imposed by your data vendor, to automatically donwload extra data on demand, etc. These measures slow down the scanner. In exchange, you get more flexibilities.

By learning more details about the pattern scanner, you can then customize a scanner for massive symbol scanning after market close, and also customize scanners to conduct real-time scan at blazing speed. The more you understand this tool, the better you can utilize its potential.

For example, if you have tailored your NeoTicker for real-time scanning properly, carrying out scans on say some combinations of indicators and price patterns on 10-min bar resolution over several hundred symbols, would take only 10 to 20 seconds.

In the next installment, I will discuss various methods to optimize the performance of the pattern scanner for real-time scanning.

Blog Developed
By ContentRobot