Written by and copyright © 2007-2014 by Thomas N. Bulkowski. All rights reserved.
From the FAQ...
The chart pattern indicator gives hints of market turning points. This page describes the indicator and the result from using it.
The free Patternz program will calculate the indicator for you. All you have to do is download the data to several hundred stock
files. Use the almost free quote downloader to automate the process (and be sure to keep your data files short -- no longer than a year, otherwise it could
slow the tabulation).
Be aware that if your data files do not agree with mine, then you may get
different results. Even if the files agree, but your stocks have been adjusted for dividends and mine have not, our results may be different.
Signal changes are announced daily on the website on the home page (upper left, above the phrase
Weekly Updates (below): [date] as "Mkt outlook:" (see figure), on pages that show the boxes at page top, right, under "Test Portfolios and CPI"
as "CPI:..." (see the top, right of this page), and in the daily RSS feed. You can sign up for that on this page (see upper left, "Subscribe to RSS feeds").
The blue picture above shows the location of the indicator status on
the home page and the white image shows the location for most other pages on this website.
Chart Pattern Indicator Background
I created this indicator in mid 2007 to help determine the best time to invest.
The chart pattern indicator is a tool that shows when the general market may
turn using the theory that few bullish patterns appear near market tops and more
appear near market bottoms. The indicator is a ratio of bullish patterns to the
total of bullish and bearish patterns, expressed as a percentage. Thus, the more
securities the indicator uses in its search, the better the results are likely to be.
To determine whether a security is bullish or bearish, I use the breakout method on an Nr7 chart pattern.
Price within each pattern, from start to end, is searched for the highest peak and lowest valley. Once found, price is searched
to find the first instance in which price closes above top or below the bottom of the Nr7 after the pattern ends. The day that occurs, it represents the breakout day.
After finding a breakout, an upward breakout is bullish and a downward
breakout is bearish. Bullish and bearish patterns are counted from pattern's end to the breakout, but the breakout must occur within 7 calendar days (not trading days)
or the pattern is discarded.
AFTER a breakout, every day that a bullish pattern exists (from pattern end to breakout) counts as 1.
Each day that a bearish pattern exists also counts as 1 (in a separate tally, from pattern end to breakout. Again, this only applies to patterns after the breakout). The totals of the bullish patterns
are then compared to the total of both bullish and bearish patterns each day to form the
indicator, expressed as a percentage: CPI = 100 * BullTotal / (BullTotal + BearTotal).
For example, if an Nr7 ends on Monday and breaks out upward on Wednesday, Monday will have a 1 count as will Tuesday and Wednesday. If a bearish Nr7
ends on Tuesday and breaks out on Wednesday, both Tuesday and Wednesday will have 1 counts. The indicator would show 100% for Monday (1 bullish count/1 total counts), and 50%
for both Tuesday and Wednesday (those days would each have 1 bullish count to 2 total counts).
The reason to count bullish or bearish patterns in this manner is
that the smart money knows to buy or sell a stock and does so over time. If they know
good earnings are coming, they will be buying the stock before the announcement. That buying
and the buying patterns of other investors or traders creates the chart patterns that you see.
Counting the pattern from pattern end to breakout is a way to capture the movements of
the smart money over time.
The downside of using this counting method is that patterns waiting for a breakout to occur
will not be counted until the breakout. Thus, what is a buy signal today based on 100 patterns
may change to neutral or even sell when 200 patterns finally do show breakouts.
Chart Pattern Indicator Results
The above chart shows the S&P 500 index from April 4, 2007 to February 15, 2008. Below
the bar chart is the chart pattern indicator (squiggly blue line that probably looks black). Bullish and bearish thresholds
were tested and found that 65 and 35 worked best. In this chart, the buy threshold appears as a green line and the sell threshold
as a red line.
For testing, I used 548 stocks from my database (click here for details about changes to the
stock list) on the daily scale. I tested the indicator using different configurations (chart patterns and candlesticks) and over many time periods.
I found that the Nr7 pattern with the 65/35 thresholds worked best and gave the most timely signals. (The Nr4 pattern did not work as well as the Nr7, by the way).
This is the same chart as the prior one but the buy and sell signal bars are overlayed
on the chart. This shows how well the indicator is at predicting market turns,
at least for the period shown. For the most recent chart, visit the CPIUpdate.html page.
On this chart, only the first signal of one color appears and not every signal. As a trader, I
am interested only when we get a signal change from bullish to bearish or the reverse, so I told the Patternz
program to only show those polarity changes.
Chart Pattern Indicator Warnings
The following is a series of warnings on what you may discover about the indicator
If you use this indicator for periods shorter than weekly, you will likely be in for a nasty surprise.
Due to the way I have it configured, signals up to a week old can change or disappear. Thus, today's buy signal may not be valid for another week
or it may change to a sell signal in a few days when more Nr7s break out. Thus, this indicator is best used as a weekly signal (that is, signals older than a week are reliable) of market trend.
For the Nr7 indicator, I use the breakout method. In the breakout method, I wait for a close either above the top or below the bottom of
the Nr7 to signal a bullish or bearish pattern. If an Nr7 completes today, it will not
be counted as bullish or bearish until sometime in the future (when the breakout actually occurs).
As each trading day is tallied,
the counts will change as more Nr7s stage breakouts. In my analysis, I have seen the delay vary
from 6 days to months later. It all depends on how long it takes a stock to move up or down enough
to create a breakout. To fix this delay problem, I configured the indicator to only count breakouts that
occur within 7 calendar days of the Nr7. If price has not broken out by then, then it is discarded.
As securities are added to the list or removed from the list scanned, the indicator may change because
the counts may change. Thus, a chart from today compared to one a year ago may appear slightly different
because stocks were added to or removed from the database. This assumes the program is configured in
the same manner, of course.
Much of the following applies to Patternz and the results from that program.
If you do not use enough securities, you will not get an accurate picture of the indicator.
How many is enough? I think at least 125 securities will give good results but it depends on how many
price patterns are found. The more patterns found, the better the result will be. I use almost 600 securities now (as of January 2009).
If you change data, then you are going to see a different result. The Patternz program makes
it easy to fall into the trap of expecting the same results regardless of what data you throw at it.
You see the same stock or index plotted and yet you get different results.
Think of it this way. Imagine that you plot the RSI or MACD indicator against a stock. Now, pick another
stock and plot the same RSI or MACD indicator. Would you expect to see exactly the same result? No. Why then
do you expect to see the same result when you change the data presented to the chart pattern indicator?
The chart pattern indicator counts chart patterns. If you change the data, the count totals will be different,
sometimes dramatically so.
Chart Pattern Indicator: Patternz Setup
Some of you may want to run the indicator on your own and try to duplicate the results that appear on my website.
The following describes the settings I use. I have trimmed the figures so that they will display on the website without scrollbars.
The cut-off sections are not important.
The above screen shot is of the Patternz program once you click the Indicator button on the main form.
In the list box at 1, I have selected ^GSPC. Clicking this stock symbol causes its data to appear on the above chart.
It is a chart of the S&P 500 index. You can select any market index or stock you wish. The results will not be affected by the symbol you select.
However, it makes sense to chart an index or average and not an individual stock since we are finding Nr7s in hundreds of securities (meaning the general market).
Make sure that both boxes at 2 are checked. If the top one is not checked, no signals will appear. If the bottom one
is not checked (but the top one is), you will see every signal and not just signal changes. You can play with either after you do a Find and see
how the chart changes.
Item 3 are the threshold settings, so make sure you have the same numbers as I do.
Number 4: I use slightly less than a year's worth of information (about 10 months) when I display a chart. If you keep the beginning date close to the
end date, the program will complete faster. For speed, keep your data files short! If you put a year's worth of quote data in each
file and no more, the program will run through the files quickly. If your files have quote data going back to the 1960s, Patternz will have to load the
entire file before it realizes that it needs just the last year. That takes a lot of time, so keep your data files no longer than a year or two.
Once your screen looks like the above figure, click the Setup button.
Item 1 is perhaps the only thing you will need on this screen. If you click the button, it should setup the form like that shown.
However, since I may change the default factory setting in the future, let's take them one at a time.
Number 2 should be set to 7 days. Additional testing confirms that 7 works better than 4 or 5, so I use 7 days.
The 7 day time limit prevents Nr7 patterns from months ago having a breakout today and forcing a signal change months ago. For example, a stock with a huge
price move during the 7 days used in the Nr7 may (and actually does sometimes) take months before price moves far enough to close either above the top or below the
bottom of the pattern. Since I determine bullish/bearish signals from pattern end to the breakout, it would "color" all of the days between those two dates and perhaps change a buy signal to neutral
or a sell signal to neutral. If enough stocks had this behavior (such as during the terrorist attack of 9/11), it could change the signal landscape dramatically.
Thus, a signal must breakout within a week or it is excluded. That means a buy signal that occurred last week will remain a buy signal. Even so, the indicator reading
for the past 7 days could change over the coming week. That occurs more often than I like. So, you should consider the CPI as a weekly indicator and not a daily one.
If you check the bullish and bearish count totals that accompany the indicator (Excel spreadsheet: CPI detail),
they should tell you how difficult it will be to change a signal
from a buy to a sell or the reverse. Also, when new stocks are added to my database or existing ones disappear because of mergers and such, the count totals will change.
The signals could change over the period shown in the chart because of this, but it is unlikely unless I add/remove many securities.
I use the breakout method: 3. This forces the indicator to wait for a breakout before counting a pattern as bullish or bearish.
Since the breakout from an Nr7 can be in any direction, this is necessary.
Set the option button to 4.
I count as bullish from the end of the pattern to the breakout. The justification for this is that the smart money buys or sells over time so as not
to show their hand. It may take days or weeks for large positions to be traded.
This method tends to smooth the indicator like a moving average. Using the breakout day only as the
bullish or bearish signal results in poor performance and signals that change too frequently to be useful. Using the pattern start means two weeks of signals
would be subject to change (7 days after the breakout and 7 days for the Nr7), and that is too long.
Select the Narrow Range 7 chart pattern shown at 5. If it is not displayed, then find it in the list at 6 and
click the button at 7.
Finally, my quote data is not adjusted for dividends or special distributions (but it is for splits). Thus, your display may not exactly match mine. Also, if you
use different stocks than the ones I use, expect different results. It's actually better if you use more stocks (like the full market) because your results
will be more accurate than mine. For a list of stocks and changes to the symbol list, click the link.
-- Thomas Bulkowski
Copyright © 2007-2014 by Thomas N. Bulkowski. All rights reserved. Sarcasm is just one more service I offer.