32
HARMONIC PATTERNS, THEIR CONSTITUENT RATIOS, AND THEIR HISTORICAL PREDICTIVE ACCURACY Contact [email protected] http://www.harmonicpatterns.com (Flash Front End) A few years ago, I became interested in trading using Harmonic Patterns. After using the patterns as a day trader for a while, I decided to explore the possibility of determining the accuracy of the various patterns by back testing them. I used about 10 different products & data feeds in order to compile the historical data and put it into a usable format for analysis. The end result is a meticulously compiled SQL Server database with 16 tables, the largest of which has 17 million rows containing data for 7,000+ Stocks from all major exchanges from 1985-2007. The smaller tables contain all of the stocks which met the criteria for a Harmonic pattern at some point in the past. After a year or so of writing queries against the data, I have come up with, what I believe is the first quantitative analysis of the historical accuracy of the most popular harmonic patterns. I have calculated the percent increase/decrease in stock price for the patterns and ALL of their ratios. For example, I have determined the average percent increase for all stocks which met the same criteria on the same date, e.g. [Bullish Gartley with a ratio of (0.618/0.382/1.270) and volume > 5000]. The percent increase has been calculated for Date +1 Month, Date + 2 Months, Date + 3 Months, 6 Months, and 1 Year. For Bearish patterns, the percent increase will almost always be a negative number (a percent decrease). I have also calculated the same for the internal ratios of the patterns. All of my results are available for purchase in either Excel or SQL Server format. Please see pricing details at the end of this article. THE GOLDEN RATIO

Historical Performance Harmonic Patterns

Embed Size (px)

DESCRIPTION

This document details the methods by which I have determined the historical accuracy of various Harmonic Trading Patterns and their inherent Fibonacci Ratios. All popular patterns including Gartley, Bat, Crab and Butterfly have been analyzed using a variety of methods; mainly by running queries in a sql server database and exporting the results to excel spreadsheets. I currently use this analysis in my Forex Trading.

Citation preview

Page 1: Historical Performance Harmonic Patterns

HARMONIC PATTERNS, T HEIR CONSTITUENT RAT IOS, AND THEIR HISTORICAL PREDICTIV E ACCURACY

Contact – [email protected]

http://www.harmonicpatterns.com (Flash Front End)

A few years ago, I became interested in trading using Harmonic Patterns. After using the patterns as a day trader for a while, I decided to explore the

possibility of determining the accuracy of the various patterns by back testing them. I used about 10 different products & data feeds in order to

compile the historical data and put it into a usable format for analysis. The end result is a meticulously compiled SQL Server database with 16 tables,

the largest of which has 17 million rows containing data for 7,000+ Stocks from all major exchanges from 1985-2007. The smaller tables contain all

of the stocks which met the criteria for a Harmonic pattern at some point in the past. After a year or so of writing queries against the data, I have

come up with, what I believe is the first quantitative analysis of the historical accuracy of the most popular harmonic patterns. I have calculated the

percent increase/decrease in stock price for the patterns and ALL of their ratios. For example, I have determined the average percent increase for all

stocks which met the same criteria on the same date, e.g. [Bullish Gartley with a ratio of (0.618/0.382/1.270) and volume > 5000]. The percent

increase has been calculated for Date +1 Month, Date + 2 Months, Date + 3 Months, 6 Months, and 1 Year. For Bearish patterns, the percent increase

will almost always be a negative number (a percent decrease). I have also calculated the same for the internal ratios of the patterns. All of my results

are available for purchase in either Excel or SQL Server format. Please see pricing details at the end of this article.

THE GOLDEN RATIO

Page 2: Historical Performance Harmonic Patterns

http://en.wikipedia.org/wiki/Golden_ratio

In mathematics and the arts, two quantities are in the golden ratio if the ratio between the sum of those quantities and the larger one is the same as the

ratio between the larger one and the smaller. The golden ratio is an irrational mathematical constant, approximately 1.6180339887.

At least since the Renaissance, many artists and architects have proportioned their works to approximate the golden ratio—especially in the form of

the golden rectangle, in which the ratio of the longer side to the shorter is the golden ratio—believing this proportion to be aesthetically pleasing.

Mathematicians have studied the golden ratio because of its unique and interesting properties.

The golden ratio is often denoted by the Greek letter Φ (phi). The figure of a golden section illustrates the geometric relationship that defines this

constant. Expressed algebraically:

This equation has as its unique positive solution the algebraic irrational number.

FIBONACCI NUMBERS AND RATIOS:

Primary Ratios:

0.618

1.618

Derived Ratios:

Page 3: Historical Performance Harmonic Patterns

0.382

0.447

0.500

0.707

0.786

0.886

1.270

1.414

2.000

2.240

2.618

3.140

3.618

ARCHITECTURE OF THE SQL SERVER DATABASE.

The primary fact table ―Stocks‖ includes the following columns:

[Symbol] [nvarchar](7)

[Volume] [bigint] ,

[Date] [smalldatetime] ,

[Open] [decimal](9, 2) ,

[High] [decimal](9, 2) ,

[Low] [decimal](9, 2) ,

[Close] [decimal](9, 2) ,

[Date28] [smalldatetime] ,

[Open28] [decimal](9, 2) ,

[High28] [decimal](9, 2) ,

[Low28] [decimal](9, 2) ,

[Close28] [decimal](9, 2) ,

[Date56] [smalldatetime] ,

[Open56] [decimal](9, 2) ,

[High56] [decimal](9, 2) ,

[Low56] [decimal](9, 2) ,

[Close56] [decimal](9, 2) ,

[Date91] [smalldatetime] ,

[Open91] [decimal](9, 2) ,

[High91] [decimal](9, 2) ,

[Low91] [decimal](9, 2) ,

[Close91] [decimal](9, 2) ,

[Date182] [smalldatetime] ,

[Open182] [decimal](9, 2) ,

[High182] [decimal](9, 2) ,

[Low182] [decimal](9, 2) ,

[Close182] [decimal](9, 2) ,

[Date364] [smalldatetime] ,

[Open364] [decimal](9, 2) ,

[High364] [decimal](9, 2) ,

[Low364] [decimal](9, 2) ,

[Close364] [decimal](9, 2) ,

Page 4: Historical Performance Harmonic Patterns

Below, you can see the various Patterns tables and the design of the AB=CD tables:

Here are the columns from the [AB=CDMin1MonthMax3Months table].

I decided that the best way to analyze the patterns was to slot them into specific time frames:

Patterns which took at least 1 month to form but did not exceed 3 months.

Patterns which took at least 3 months to form before but did not exceed 1 year.

Patterns which took at least 1 year to form before but did not exceed 4 years.

All of my calculations are based on completed patterns. You will notice in the chart illustrations that there are predicted reversal prices where the

pattern completes. These prices were calculated before the actual completion of the pattern. They are the points at which, should the stock reach this

price, a pattern will be confirmed. At some future date, the stock hit this price in the proper time frame and the pattern was verified. This is when the

chart is drawn. There are actually a few different predicted reversal prices for each pattern. You can see in the Bat chart below that, in addition to the

1.618 BC projection price, there is also a 0.886 XA retracement price. For an ideal Bat (or Crab, Gartley, etc…), these various price predictions

should be relatively close to one another. I am most interested in looking for the historical performance of the different patterns, their constituent

ratios, and some lesser ratios. Because many of the popular harmonic patterns tend to contain an internal AB=CD pattern as well, I have calculated

the historical performance for these internal patterns as well as their parent pattern.

My findings are presented in several formats.

Excel spreadsheets

SQL Server 2005 database

Single large flat file (.csv)

While I have done some extensive analysis, there is data in the main SQL database which could be analyzed further. For example, the internal ratios

of the completed patterns contain their own predicted reversal points. E.g.

Page 5: Historical Performance Harmonic Patterns

If you decide to purchase the SQL Server database, you will get all of this data. In addition, there is historical data for daily and weekly patterns, and

Potential Reversal Zones (PRZ’s). In my analysis, I have concentrated on daily patterns.

Prices for the SQL database and the spreadsheets are listed at the end of this document.

First, we will look at the Bat pattern.

BAT

“The Bat pattern is a precise harmonic pattern which incorporates the 0.886XA retracement as the defining element in the Potential Reversal Zone

(PRZ). The B point retracement must be less than a 0.618, preferably a 0.50 or 0.382 of the XA leg. The Bat utilizes a minimum 1.618BC projection.

In addition, the AB=CD pattern within the Bat is extended and usually requires a 1.270AB=CD calculation. It is an incredibly accurate pattern and

requires a smaller stop loss than most patterns.” Source: www.harmonictrader.com

In this screenshot you can see the various Bat ratios for the X-A Leg (0.500), A-B Leg (0.886) , and B-C Leg (1.168) retracements/projections.

Bat Ratios 0.382/0.382/2.618

0.382/0.447/2.618

0.382/0.500/2.618

0.382/0.618/2.618

0.382/0.707/2.240

0.382/0.707/2.618

0.382/0.786/2.240

0.382/0.786/2.618

0.382/0.886/2.000

0.382/0.886/2.240

0.382/0.886/2.618

0.500/0.382/2.240

0.500/0.382/2.618

0.500/0.447/2.240

0.500/0.447/2.618

0.500/0.500/2.000

0.500/0.500/2.240

0.500/0.500/2.618

0.500/0.618/1.618

0.500/0.618/2.000

0.500/0.618/2.240

0.500/0.618/2.618

0.500/0.707/1.618

0.500/0.707/2.000

0.500/0.707/2.240

0.500/0.707/2.618

0.500/0.786/1.618

0.500/0.786/2.000

0.500/0.786/2.240

0.500/0.786/2.618

0.500/0.886/1.618

0.500/0.886/2.000

0.500/0.886/2.240

0.500/0.886/2.618

In these screenshots, you can see the structure of the SQL table with the columns.

Page 6: Historical Performance Harmonic Patterns

- The ―ratio‖ column corresponds to the values above.

- The .886XA column delineates a 0.886XA Retracement.

- The [AB=CDAllRatios] column holds the values for the AB=CD ratios WITHIN the Bat pattern.

- The [BC-AllRatios] column holds the values for the internal BC ratios WITHIN the Bat.

Page 7: Historical Performance Harmonic Patterns

You will see that for each pattern, there are distinct ratios, or a series of different ratios which are crucial for determining the validity of the particular

pattern. As an example, for the Bat pattern you have the ratio for the three retracements/projections. E.g. 0.500/0.886/1.618. For a Bat with this ratio,

there is a particular predicted reversal price. In addition, there is the crucial 0.886XA Retracement and its associated retracement price. Within the

Bat itself, there will usually be an AB=CD pattern. I have found however that many Bat patterns do not follow this paradigm. If you find an AB=CD

pattern within the Bat, it must be one of the following ratios:

1.270AB=CD (this implies a 1.270 [or 127%] projection of the BC leg at point D (Shown below)

1.618AB=CD (this implies a 1.618 [or 161%] projection of the BC leg at point D.

AB=CD

Page 8: Historical Performance Harmonic Patterns

Now take a look at a subset of ALL stocks in the ―BatMin1YearMax4Years‖ table. There are 1501 entries in this table. While not an overwhelming

number of entries, rare patterns like these long period ones should NOT be discounted. I have often found them to be more predictive of a reversal

than shorter period patterns.

The following is the output from a SQL query against the main “Stocks” table with symbol = “CENT” and date = 11/14/2006

Page 9: Historical Performance Harmonic Patterns

** Volumes are represented as actual, not in hundreds as seen in some software. Also, volumes will often vary slightly depending on the data feed. e.g. Esignal,

Yahoo Finance, etc…

The following is a row in the “BatMin1YearMax4Years” with the various ratios, and whether it is a Bullish or Bearish pattern on

11/14/2006. The overall Bat ratio in this particular row is 0.382/0.382/2.618. This is a Bearish prediction

So, you can see that on 11/14/2006 the close price was 18.36. This is the date on which the stock completed a Bat pattern with a ratio of

0.382/0.382/2.618, and which took between 1-4 years to form. This stock declined mildly over the course of a few months after the completion of the

pattern. The reversals may not be apparent for several months (especially for a long period pattern), hence the closing prices 28, 56, 91, 182, and 364

days later are calculated to check the percent increase/decrease over varying time frames.

For our analysis, we want to look at the performance of a pool of stocks, not just a single stock. As a result, we run a query which compares these

values to the values in the main ―Stocks‖ fact table. As you may recall, the Stocks fact table contains the Symbol, Date, Volume, Open, High, Low,

and Close as well as the OHLC for Date+28, Date+56 etc…

Here is the query which will return ALL matches between the Bat3 table (synonym for Min1YearMax4Years) and the Stocks table. Matches are

determined by a combination of Symbol & Date. This forms the primary key. **Important to note that it is this type of query which I used to create the

derived views in the SQL Database. Ultimately, all queries which compare data from the Harmonic Patterns tables to the Stocks table have been used to create the

derived views. It is these views that are used to find the final, desired results- e.g. % increase/decrease over time for the patterns.

select TOP 21223 bat3.symbol, CONVERT(char(10),bat3.date,121) as [date],

Volume,

stocks.[close] as [Close],

bat3.bullishbearish as [Bullish-Or-Bearish-Pattern?],

Ratio,

[.886XA] as [0.886XA-Ratio],

[BC-AllRatios] as [BC-Ratio],

[AB=CDAllRatios] as [AB=CD-Ratio],

[.886XAReversalPrice] as [0.886XA-RetracementPredictedReversalPoint],

[BC-AllRatiosReversalPrice] as [BC-Ratio-PredictedReversalPoint],

[AB=CDAllRatiosReversalPrice] as [AB=CD-Ratio-PredictedReversalPoint],

Page 10: Historical Performance Harmonic Patterns

CONVERT(char(10),stocks.date28,121) as [Date+1Month],

stocks.close28

as [Close+1Month],

cast(round((stocks.close28 - stocks.[close]) / stocks.[close],4)*100 as money)

as [%Change1MonthLater],

stocks.close56 as [Close+2Months],

cast(round((stocks.close56 - stocks.[close]) / stocks.[close],4)*100 as money)

as [%Change2MonthsLater],

stocks.close91 as [Close+3Months],

cast(round((stocks.close91 - stocks.[close]) / stocks.[close],4)*100 as money)

as [%Change3MonthsLater],

stocks.close182 as [Close+6Months],

cast(round((stocks.close182 - stocks.[close]) / stocks.[close],4)*100 as money)

as [%Change6MonthsLater],

stocks.close364 as [Close+1Year],

cast(round((stocks.close364 - stocks.[close]) / stocks.[close],4)*100 as money)

as [%Change1YearLater]

from bat3 inner join

stocks on

bat3.symbol = stocks.symbol

and bat3.date = stocks.date

where stocks.[close] <> 0

and stocks.volume > 5000.0

--and ratio = '0.382/0.382/2.618'

and DailyWeekly = 'daily'

--and [AB=CDAllRatios] = '1.270AB=CD'

order by date

Here is a partial representation of the results:

Page 11: Historical Performance Harmonic Patterns

For the highlighted stock ―HEW‖, on day 1, this was a bearish Bat prediction. You can see that after 1 month it had not yet taken a downturn. Two

months later it was into the downturn and continued for at least 6 months.

Our first table ―BatMin1YearMax4Years‖, contained 1501 values however, when cross referencing this against the main Stocks table (which was

compiled from a different source), there are only 671 rows returned. **These discrepancies are often due to the fact that the data for the tables was

compiled at different times and stocks will often change their ticker symbol or become delisted entirely. Volume filtering on the main table can also

Page 12: Historical Performance Harmonic Patterns

play a role. We can therefore only check the performance of this pool of stocks. Were we to further reduce the criteria, perhaps by specifying a

minimum average volume over 10 days and a specific Bat ratio, we would reduce the number of returned matches. I have already thrown out millions

of rows of data from highly volatile stocks such as small Pharmaceuticals and stocks with tiny volumes.

Here is a query which will analyze the average % increase of all stocks with the following criteria:

*Note. This query is comparing data from two tables – Stocks & Bat1 (Bat1 is a synonym for BatMin1MonthMax3Months). This harmonic table

contains MANY more matches than the previous one for very long term [1-4 years] patterns). It will check all 7,000 ticker symbols over 20 years (17

million rows) in order to find those in which there is a match between the [symbol – date] from Stocks and the same [symbol – date] in the Bat1

table. It will then filter for the following criteria and return the results.

Bullish

Volume > 5000

Ratio = '0.382/0.382/2.618'

select bat1.symbol, CONVERT(char(10),bat1.date,121) as [Date], bat1.bullishbearish,

Volume,bat1.ratio,

[AB=CDAllRatios] as [AB-CD_ratio],

stocks.[close] as [close],

[.886XAReversalPrice],

CONVERT(char(10),stocks.date28,121) as [date+1Month],

stocks.close28

as [close+1Month],

round((stocks.close28 - stocks.[close]) / stocks.[close],4)*100

as [%change1Month],

stocks.close56 as [close+2Months],

round((stocks.close56 - stocks.[close]) / stocks.[close],4)*100

as [%change2Months],

stocks.close91 as [close+3Months],

round((stocks.close91 - stocks.[close]) / stocks.[close],4)*100

as [%change3Months],

stocks.close182 as [close+6Months],

round((stocks.close182 - stocks.[close]) / stocks.[close],4)*100

as [%change6Months],

stocks.close364 as [close+1Year],

round((stocks.close364 - stocks.[close]) / stocks.[close],4)*100

as [%change1Year]

into #9

from bat1 inner join

stocks on

bat1.symbol = stocks.symbol

and bat1.date = stocks.date

where stocks.[close] <> 0

and stocks.volume > 5000.0

and ratio = '0.382/0.382/2.618'

and DailyWeekly = 'daily'

Page 13: Historical Performance Harmonic Patterns

and bullishbearish = 'bullish'

--and [AB=CDAllRatios] = '1.270AB=CD'

order by date,bullishbearish

select

count("%change1Month") as [#Matches1Month],

cast(round(avg("%change1Month"),2) as money) as [Avg%Change1Month],

count("%change2Months") as [#Matches2Months],

cast(round(avg("%change2Months"),2) as money) as [Avg%Change2Months],

count("%change3Months") as [#Matches3Months],

cast(round(avg("%change3Months"),2) as money) as [Avg%Change3Months],

count("%change6Months") as [#Matches6Months],

cast(round(avg("%change6Months"),2) as money) as [Avg%Change6Months],

count("%change1Year")as [#Matches1Year],

cast(round(avg("%change1Year"),2) as money) as [Avg%Change1Year]

from #9

Here are the query results:

We see a nice confirmation of the bullish prediction and an average increase of 6.86% after 1 month, 12.46% after 2 months.

NOTE**

There will be times when you will find very favorable results when looking at a certain ratio of a certain pattern over a certain time frame. If, in this

situation the number of matches is small, it could be indicative of two things:

1. The pattern is one that rarely occurs yet is highly accurate

2. The pattern rarely occurs and when it does, the limited # of matches skews the results

Remember, the reason there are only 41 matches is because we are filtering on ONE particular ratio, namely 0.382/0.382/2.618. Were we to look for matches and % increase for a different ratio, we may see that there are many more entries in the result set. For example, if we look for bullish matches for Bat1 (synonym for BatMin1MonthMax3Months) and a ratio of 0.500/0.886/1.618 we will see many more matches in the result set. There are typically many more matches for this particular ratio of the Bat.

With 600+ matches, you can see a nice confirmation of a bullish prediction because month over month, the % increases grows.

Because there are different criteria & ratios that can be scanned for when looking at these patterns, let us take an example where we are looking for

the % price increase (should be a negative #) for a bearish ―BatMin3MonthsMax1Year‖ pattern. The synonym in the SQL database is Bat2.

We will be looking not at the overall Bat ratio, but at the AB=CD ratio within the Bat pattern. So, here we have a confirmed Bat pattern but we would

like to see if this internal AB=CD ratio is one that might prove to be even more accurate than the overall Bat Ratio of 0.500/0.886/1.618

Page 14: Historical Performance Harmonic Patterns

Recall that for the AB=CD patterns within a Bat pattern, the accepted ratios are:

1.270AB=CD

1.618AB=CD

AB=CD

We will be looking at the 1.270AB=CD pattern within the Bat with a bearish prediction. You can see that the 0.382/0.382/2.618 ratio is

commented out (green text)

select bat2.symbol, CONVERT(char(10),bat2.date,121) as [Date],

bat2.bullishbearish,

Volume,bat2.ratio,

[AB=CDAllRatios] as [AB-CD_ratio],

stocks.[close] as [close],

[.886XAReversalPrice],

CONVERT(char(10),stocks.date28,121) as [date+1Month],

stocks.close28

as [close+1Month],

round((stocks.close28 - stocks.[close]) / stocks.[close],4)*100

as [%change1Month],

stocks.close56 as [close+2Months],

round((stocks.close56 - stocks.[close]) / stocks.[close],4)*100

as [%change2Months],

stocks.close91 as [close+3Months],

round((stocks.close91 - stocks.[close]) / stocks.[close],4)*100

as [%change3Months],

stocks.close182 as [close+6Months],

round((stocks.close182 - stocks.[close]) / stocks.[close],4)*100

as [%change6Months],

stocks.close364 as [close+1Year],

round((stocks.close364 - stocks.[close]) / stocks.[close],4)*100

as [%change1Year]

into #1

from bat2 inner join

stocks on

bat2.symbol = stocks.symbol

and bat2.date = stocks.date

where stocks.[close] <> 0

and stocks.volume > 5000.0

--and ratio = '0.382/0.382/2.618'

and DailyWeekly = 'daily'

and bullishbearish = 'bearish'

and [AB=CDAllRatios] = '1.270AB=CD'

order by date,bullishbearish

select

count("%change1Month") as [#Matches1Month],

cast(round(avg("%change1Month"),2) as money) as [Avg%Change1Month],

count("%change2Months") as [#Matches2Months],

cast(round(avg("%change2Months"),2) as money) as [Avg%Change2Months],

count("%change3Months") as [#Matches3Months],

Page 15: Historical Performance Harmonic Patterns

cast(round(avg("%change3Months"),2) as money) as [Avg%Change3Months],

count("%change6Months") as [#Matches6Months],

cast(round(avg("%change6Months"),2) as money) as [Avg%Change6Months],

count("%change1Year")as [#Matches1Year],

cast(round(avg("%change1Year"),2) as money) as [Avg%Change1Year]

from #1

Here is a snapshot of the query results:

We can interpret these results in two ways.

1. There is a bearish trend when considering time frames up to 3 months after the completion of the pattern but we see that it is modest. Also, at

6 months, the average % increase for all 943 matches is 2.57. Because we were scanning for bearish, we would have liked to have seen a

negative number here but again, there are always other mitigating factors. This is one reason to rely on multiple technical and/or

fundamental indicators to make buy and sell decisions.

2. The results may be better if we scan for 1.618AB=CD

A query to return the Bearish 1.618 AB=CD pattern within the Bat returns the following:

Here we have many more matches for this AB=CD ratio. We can see that the average % increase for a bearish prediction is somewhat lower than the

1.270 ratio. This is a good sign because, despite having a larger pool of stocks in the result set, the bearish prediction is still valid and the results are

more compelling than the 1.270 AB=CD (higher negative numbers – greater percent decrease)

DERIVED VIEWS

If you recall, I have created all of the Patterns tables already. They are populated with all historical pattern matches for most of the common

harmonic patterns.

Page 16: Historical Performance Harmonic Patterns

In addition I have created derived views in which the joins and queries against the Stocks table have already been performed and in which the

historical performance of each individual stock has been pre-calculated. It is then easier to query against these derived views in order to get the %

increase/decrease for a large pool of stocks.

Once again, here are the primary harmonic

tables:

Here are the derived views

Of course, there is no apparent difference when looking at the tables and derived views graphically.

A deeper look at one of the tables might help. Let’s take a look at the AB=CDMin1MonthMax3Months. (The synonym for this table is AB1)

- Now the derived view for this table.

Page 17: Historical Performance Harmonic Patterns

Here is a subset of the outcome from the derived view. Notice that most of the bullish and bearish predictions are quite nice. There are 45,274

matches in this view.

Page 18: Historical Performance Harmonic Patterns

After obtaining this data for all patterns, it is trivial to run a query against it to get the average % increase for every possible combination of harmonic

pattern, ratio, and secondary ratio - and to filter for things like bullish, bearish, volume and more. I have already done this and exported all of the

results to excel spreadsheets. Here is an example which you can download: Butterfly Sample

GARTLEY

http://www.investopedia.com/terms/g/gartley.asp

Page 19: Historical Performance Harmonic Patterns

Gartley Ratios

0.618/0.382/1.270

0.618/0.382/1.414

0.618/0.382/1.618

0.618/0.447/1.270

0.618/0.447/1.414

0.618/0.447/1.618

0.618/0.500/1.270

0.618/0.500/1.414

0.618/0.500/1.618

0.618/0.618/1.270

0.618/0.618/1.414

0.618/0.618/1.618

0.618/0.707/1.270

0.618/0.707/1.414

0.618/0.707/1.618

0.618/0.786/1.270

0.618/0.786/1.414

0.618/0.786/1.618

0.618/0.886/1.270

0.618/0.886/1.414

0.618/0.886/1.618

Page 20: Historical Performance Harmonic Patterns
Page 21: Historical Performance Harmonic Patterns

CRAB

―The Crab is a Harmonic pattern discovered by Scott Carney in 2000. This pattern is one of the most precise of all the Harmonic patterns. The critical

aspect of this pattern is the tight Potential Reversal Zone created by the 1.618 of the XA leg and an extreme (2.24, 2.618, 3.14, 3.618) projection of

Page 22: Historical Performance Harmonic Patterns

the BC leg. The pattern requires a very small stop loss and usually provides an almost exact reversal in the Potential Reversal Zone.‖

Source: www.harmonictrader.com

Crab Ratios

0.382/0.382/1.618

0.382/0.382/2.000

0.382/0.382/2.240

0.382/0.382/2.618

0.382/0.382/3.140

0.382/0.382/3.618

0.382/0.447/1.618

0.382/0.447/2.000

0.382/0.447/2.240

0.382/0.447/2.618

0.382/0.447/3.140

0.382/0.447/3.618

0.382/0.500/1.618

0.382/0.500/2.000

0.382/0.500/2.240

0.382/0.500/2.618

0.382/0.500/3.140

0.382/0.500/3.618

0.382/0.618/1.618

0.382/0.618/2.000

0.382/0.618/2.240

0.382/0.618/2.618

0.382/0.618/3.140

0.382/0.618/3.618

0.382/0.707/1.618

0.382/0.707/2.000

0.382/0.707/2.240

0.382/0.707/2.618

0.382/0.707/3.140

0.382/0.707/3.618

0.382/0.786/1.618

0.382/0.786/2.000

0.382/0.786/2.240

0.382/0.786/2.618

0.382/0.786/3.140

0.382/0.786/3.618

0.382/0.886/1.618

Crab Ratios

0.382/0.886/2.000

0.382/0.886/2.240

0.382/0.886/2.618

0.382/0.886/3.140

0.382/0.886/3.618

0.447/0.382/1.618

0.447/0.382/2.000

0.447/0.382/2.240

0.447/0.382/2.618

0.447/0.382/3.140

0.447/0.382/3.618

0.447/0.447/1.618

0.447/0.447/2.000

0.447/0.447/2.240

0.447/0.707/2.240

0.500/0.382/3.618

0.500/0.447/3.618

0.500/0.500/3.618

0.500/0.618/3.618

0.500/0.707/3.618

0.500/0.786/3.140

0.500/0.786/3.618

0.500/0.886/3.140

0.500/0.886/3.618

0.618/0.382/3.618

0.618/0.447/3.618

0.618/0.500/3.140

0.618/0.707/3.140

0.618/0.707/3.618

0.618/0.786/2.618

0.618/0.786/3.140

0.618/0.786/3.618

0.618/0.886/2.240

0.618/0.886/2.618

0.618/0.886/3.140

0.886/0.382/2.618

0.886/0.382/3.140

0.886/0.382/3.618

0.886/0.447/2.240

0.886/0.447/2.618

0.886/0.447/3.140

Page 23: Historical Performance Harmonic Patterns

AB=CD

―The AB=CD pattern is a price structure where each price leg is equivalent. In other words, the difference in stock price between points A and B is

the same between points C and D. Despite the AB and CD legs representing the same difference in price, the retracement of the AB leg at point C can

be any value. We are only interested in those values where the retracement amount = one of the Fibonacci ratios. In an ideal AB=CD, the C point

must retrace to either a 0.618 or 0.786 of the AB leg. This retracement sets up the BC projection that should converge at the completion of the

AB=CD pattern and be either a 1.27 or 1.618. A 0.618 retracement at the C point will result in a 1.618 BC projection to point D. A 0.786 retracement

at the C point will result in a 1.27 projection. The most important consideration to remember is that the BC projection should converge closely with

Page 24: Historical Performance Harmonic Patterns

the completion of the AB=CD. The completion of the AB=CD is the point at which the difference in stock price between points C and D has equaled

the difference in stock price between points A and B.‖ Source: www.harmonictrader.com

AB=CD Pattern [.382/2.240]

[.500/2.000]

[.618/1.618]

[.707/1.414]

[.786/1.270]

[AB=CD]

Page 25: Historical Performance Harmonic Patterns
Page 26: Historical Performance Harmonic Patterns

BUTTERFLY

―The structure of the Butterfly pattern was discovered by Bryce Gilmore. In my experience, I believe an Ideal Butterfly Pattern, which requires

specific Fibonacci in the structure - including a mandatory 0.786 retracement of the XA leg as the B point - offers more precise Potential Reversal

Zones (PRZ). In addition, the Butterfly pattern must include an AB=CD pattern to be a valid signal. Frequently, the AB=CD pattern will possess an

extended CD leg that is 1.27 or 1.618 of the AB leg. Although this is an important requirement for a valid trade signal, the most critical number in the

pattern is the 1.27 XA leg. The XA calculation is usually complemented by an extreme (2.00, 2.24, 2.618) BC projection. These numbers create a

specific Potential Reversal Zone (PRZ) that can yield powerful reversals, especially when the pattern is in all-time (new highs/new lows) price

levels‖. Source: www.harmonictrader.com

Page 27: Historical Performance Harmonic Patterns

Butterfly Ratios

0.786/0.382/1.618

0.786/0.382/2.000

0.786/0.382/2.240

0.786/0.447/1.618

0.786/0.447/2.000

0.786/0.447/2.240

0.786/0.500/1.618

0.786/0.500/2.000

0.786/0.500/2.240

0.786/0.618/1.618

0.786/0.618/2.000

0.786/0.618/2.240

0.786/0.707/1.618

0.786/0.707/2.000

0.786/0.707/2.240

0.786/0.786/1.618

0.786/0.786/2.000

0.786/0.786/2.240

0.786/0.886/1.618

0.786/0.886/2.000

0.786/0.886/2.240

Page 28: Historical Performance Harmonic Patterns

Harmonic Patterns and their Constituent Harmonic Ratios

AB=CD Pattern Bat Ratios Crab Ratios Crab Ratios Gartley Ratios Butterfly Ratios

[.382/2.240] 0.382/0.382/2.618 0.382/0.382/1.618 0.382/0.786/3.140 0.618/0.382/1.270 0.786/0.382/1.618

[.500/2.000] 0.382/0.447/2.618 0.382/0.382/2.000 0.382/0.786/3.618 0.618/0.382/1.414 0.786/0.382/2.000

[.618/1.618] 0.382/0.500/2.618 0.382/0.382/2.240 0.382/0.886/1.618 0.618/0.382/1.618 0.786/0.382/2.240

[.707/1.414] 0.382/0.618/2.618 0.382/0.382/2.618 0.382/0.886/2.000 0.618/0.447/1.270 0.786/0.447/1.618

Page 29: Historical Performance Harmonic Patterns

[.786/1.270] 0.382/0.707/2.240 0.382/0.382/3.140 0.382/0.886/2.240 0.618/0.447/1.414 0.786/0.447/2.000

[AB=CD] 0.382/0.707/2.618 0.382/0.382/3.618 0.382/0.886/2.618 0.618/0.447/1.618 0.786/0.447/2.240

0.382/0.786/2.240 0.382/0.447/1.618 0.382/0.886/3.140 0.618/0.500/1.270 0.786/0.500/1.618

0.382/0.786/2.618 0.382/0.447/2.000 0.382/0.886/3.618 0.618/0.500/1.414 0.786/0.500/2.000

0.382/0.886/2.000 0.382/0.447/2.240 0.447/0.382/1.618 0.618/0.500/1.618 0.786/0.500/2.240

0.382/0.886/2.240 0.382/0.447/2.618 0.447/0.382/2.000 0.618/0.618/1.270 0.786/0.618/1.618

0.382/0.886/2.618 0.382/0.447/3.140 0.447/0.382/2.240 0.618/0.618/1.414 0.786/0.618/2.000

0.500/0.382/2.240 0.382/0.447/3.618 0.447/0.382/2.618 0.618/0.618/1.618 0.786/0.618/2.240

0.500/0.382/2.618 0.382/0.500/1.618 0.447/0.382/3.140 0.618/0.707/1.270 0.786/0.707/1.618

0.500/0.447/2.240 0.382/0.500/2.000 0.447/0.382/3.618 0.618/0.707/1.414 0.786/0.707/2.000

0.500/0.447/2.618 0.382/0.500/2.240 0.447/0.447/1.618 0.618/0.707/1.618 0.786/0.707/2.240

0.500/0.500/2.000 0.382/0.500/2.618 0.447/0.447/2.000 0.618/0.786/1.270 0.786/0.786/1.618

0.500/0.500/2.240 0.382/0.500/3.140 0.447/0.447/2.240 0.618/0.786/1.414 0.786/0.786/2.000

0.500/0.500/2.618 0.382/0.500/3.618 0.447/0.707/2.240 0.618/0.786/1.618 0.786/0.786/2.240

0.500/0.618/1.618 0.382/0.618/1.618 0.500/0.382/3.618 0.618/0.886/1.270 0.786/0.886/1.618

0.500/0.618/2.000 0.382/0.618/2.000 0.500/0.447/3.618 0.618/0.886/1.414 0.786/0.886/2.000

0.500/0.618/2.240 0.382/0.618/2.240 0.500/0.500/3.618 0.618/0.886/1.618 0.786/0.886/2.240

0.500/0.618/2.618 0.382/0.618/2.618 0.500/0.618/3.618

0.500/0.707/1.618 0.382/0.618/3.140 0.500/0.707/3.618

0.500/0.707/2.000 0.382/0.618/3.618 0.500/0.786/3.140

0.500/0.707/2.240 0.382/0.707/1.618 0.500/0.786/3.618

0.500/0.707/2.618 0.382/0.707/2.000 0.500/0.886/3.140

0.500/0.786/1.618 0.382/0.707/2.240 0.500/0.886/3.618

0.500/0.786/2.000 0.382/0.707/2.618 0.618/0.382/3.618

0.500/0.786/2.240 0.382/0.707/3.140 0.618/0.447/3.618

0.500/0.786/2.618 0.382/0.707/3.618 0.618/0.500/3.140

0.500/0.886/1.618 0.382/0.786/1.618 0.618/0.500/3.618

0.500/0.886/2.000 0.382/0.786/2.000 0.618/0.618/3.140

0.500/0.886/2.240 0.382/0.786/2.240 0.618/0.618/3.618

0.500/0.886/2.618 0.382/0.786/2.618 0.618/0.707/2.618

0.618/0.707/3.140

0.618/0.707/3.618

0.618/0.786/2.618

0.618/0.786/3.140

0.618/0.786/3.618

0.618/0.886/2.240

0.618/0.886/2.618

0.618/0.886/3.140

0.886/0.382/2.618

0.886/0.382/3.140

0.886/0.382/3.618

0.886/0.447/2.240

0.886/0.447/2.618

0.886/0.447/3.140

0.886/0.500/2.240

0.886/0.500/2.618

0.886/0.618/2.000

0.886/0.618/2.240

Page 30: Historical Performance Harmonic Patterns

0.886/0.618/2.618

0.886/0.707/2.000

0.886/0.707/2.240

0.886/0.786/1.618

0.886/0.786/2.000

0.886/0.786/2.240

0.886/0.886/1.618

0.886/0.886/2.000

In case anyone is interested, there are actually about 210 Crab ratios. Since I was looking at 20 years worth of data, I thought it prudent to discard

those which rarely or never occurred. For example 0.886/0.886/3.618

CLOSING REMARKS

You may have found all of this reading to be tedious (if you got this far) and wonder how you can make use of these findings. I am selling the data in

several different ways. You can purchase spreadsheets with the completed analysis or you can purchase the entire SQL server database. Remember

that if you purchase the database, in addition to the Harmonic Pattern tables, you are actually getting another very valuable thing which can be used

independently of this application, namely, the main Stocks table.

Let me point out the benefit of having such a table. The data contains historical stock market data in one, clean, verified relational database.

This table resides in a SQL Server 2005 database and contains 17 million rows of Stock Market data from 1985-2007. Exchanges include AMEX, NASDAQ, NYSE, and OTCBB . Columns include: Ticker, Date, Open, High, Low, Close, Volume + OHLC +28,+56,+91,+182,+364 days

A person with sufficient knowledge of relational databases can take this table and make use of it for their own financial application. Someone who is not familiar with SQL Server or Oracle can use MS Access to view this table.

As I mentioned earlier, there are many more calculations that can be made against this data.

Drawbacks of other historical data sources:

- Many sources of historical data such as Yahoo Finance only allow you to download a very limited number of symbols at once. To attempt to gather

years of historical stock data in this fashion is prohibitively time consuming.

- Other sources will allow you to buy historical data for thousands of ticker symbols but the data will often reside in thousands of separate excel

spreadsheets or comma separated files (.csv format). The data from these sources needs to be combined and/or imported if one is desirous of

organizing it in a fashion which lends itself to complex analysis such as in a relational database or data warehouse. Opening up thousands of

individual spreadsheets to look for data is highly impractical.

Page 31: Historical Performance Harmonic Patterns

- Data which is contained in Metastock, Telechart, Quicken, .PRN-format or other proprietary programs are often very difficult to cleanly export to

ASCII (.txt or .csv). Unusual characters, spaces, varying date formats, and misaligned data is often a problem, and yet, even if the investor/analyst is

successful in exporting the data properly, he or she is left with a gigantic and unwieldy .txt or .csv file.

You can look far and wide on the internet and rarely find a place to purchase historical stock data contained in one SQL database. Here are a few

examples to illustrate my point:

Thousands of Individual Files - $250.00

Another Example of Same

.CSV and SQL Server Files-Databases

PRODUCTS & PRICING

1. All 5 spreadsheets with the historical performance of AB=CD, Bat, Gartley, Crab, and Butterfly matches with all time frames and ratios.

Price = $99.00. Click HERE for an example.

2. All of the spreadsheets from #1 above along with my personal analysis of the most valuable patterns and ratios. Price = $149.00.

3. SQL Server 2005 database with ―Stocks‖ and Harmonic tables including derived views. Also, all of the spreadsheets summarizing the

historical accuracies of all of the patterns and ratios. Price $499.00.

4. SQL Server 2005 database with ONLY the main Stocks table. If you purchase this, I will send you an updated database which has 22 million

rows and includes 13,000 Stocks, Indices, and ETF’s from 1988-2008. Exchanges include NYSE, NASDAQ, AMEX, and OTCBB. Columns

include Ticker, Date, Volume, Open, High, Low, and Close. Price $499.00.

5. One large .csv file (comma separated value). This file contains the same data as #4 above but has been exported from SQL Server into a flat

file. You would import this into your SQL/Oracle Server or MS Access 2003-2007. Price $99.00.

Click HERE to purchase any of the above products.

DISCLAIMER

While every effort has been made to discard junk data such as highly volatile stocks and those with small average volumes, there is no guarantee that

in these results, there is no skewed data. It will be up to the individual investor to determine which of the patterns he or she wishes to follow when

scanning for current harmonic patterns. Then, using a real-time or end-of-day application, you would take the result set and make buy and sell

decisions after looking at other technical indicators which compliment the results. If you purchase the individual spreadsheets, you will have a basic

framework upon which to base certain trading decisions.

You may decide that the Gartley patterns are the ones which are the most accurate for the time frames you are interested in, or, you may be content to

use the simpler AB=CD patterns.

Of course, you will need a program which scans for real time (or end of day) patterns. Far and away the best application for this is the ―Harmonic

Analyzer‖. www.harmonicanalyzer.com. Perhaps you are only interested in looking at the Fibonacci ratios themselves because you use some charting

program which only gives you this option. In this case, you will have to analyze the spreadsheets closely and made a determination as to which ratios

Page 32: Historical Performance Harmonic Patterns

to use. The purpose of this application and the results was NOT to look at generalized Fibonacci ratios, but rather, those contained within Harmonic

patterns. Nonetheless, this data may be useful for a more general investment strategy. Generalized Fibonacci ratios and their historical performance

are analyzed as part of our fledgling OLAP application: www.olaptrader.com. These Harmonic pattern results will be included in the OLAP cube in

addition to hundreds of other technical indicators.

It is also very important to keep in mind that there are a tremendous number of other technical indicators which can and should be used in

conjunction with these results when you are making current investment decisions (hence, the OLAP application which we are developing). You may

tend to favor RSI or Bollinger bands and/or Fundamental analysis. Overall market trend should never be disregarded although; some would argue

that Harmonic Pattern analysis (especially in very small time frames such as hours or minutes) is independent of larger market or macroeconomic

factors. These results indicate a % change over time. The average percentage will always be lower (for Bullish predictions) in a Bear market and

higher (for Bullish predictions) in a Bull market; however, the relative % change is what is important when looking at patterns and ratios. These

relative percentages are not affected by macroeconomic factors or overall market trend. Most of the results from this pattern analysis come from the

2003-2007 time frame. This was primarily a bull market so the % changes could be skewed higher depending on the time frame of the patterns you

are looking at. Keep in mind that it is not the actual % increase or decrease that is most important. Finding the patterns which have higher percent

increases (for Bullish predictions) and decreases (for Bearish predictions) than their cousins will provide exactly what the investor needs to

filter out the poor performers. Volume quotes from Yahoo Finance, Etrade and other sources are sometimes inconsistent. I have found that the volumes in the main Stocks table are

most accurately reflected on ―BigCharts‖ – www.bigcharts.com. In many of the popular applications or websites used for stock market analysis, you

will often find that the actual volume has been divided by 100 and represented in this fashion. I have multiplied the volumes by 100 to ―correct‖ this.

Trend analysis is not impacted by slight volume discrepancies so long as the data is consistent for the particular data feed from which it came.

Many stocks, funds, and indices have changed names, ticker symbols, moved to lesser exchanges such OTCBB or Pink Sheets, or been delisted

entirely, however, you can be assured that the data presented here is reflective of the ticker symbol at that point in time. Regarding harmonictrader.com, I have no affiliation with this website or its owner. As such, any information that I am providing for use in harmonic

trading has not been seen or sanctioned by this company. They are quoted and hyperlinked to where appropriate.

TERMS AND CONDITIONS:

All products, services, and Web content, including images, text, flash, and data are owned by HarmonicPatterns.com. You may not re-distribute,

display, license, or sell any Products and Services or Components purchased from HarmonicPatterns.com unless you have written authorization.

Please contact me if you intend to use the SQL Server database for commercial use so that you can receive the fee structure.

Spreadsheets, SQL databases, and queries are provided "as is" without warrantee of any kind, either express or implied. You assume the entire risk as

to the accuracy and the use of the data. HarmonicPatterns.com makes no specific recommendations pertaining to trading or investing. Accordingly,

HarmonicPatterns.com shall have no liability to you for any actions taken based on the data provided.