You are currently viewing Testing Fibonaccis (1/2)

Testing Fibonaccis (1/2)

Warning: this blog post is not appropriate for all readers. You may find it challenging or disturbing, especially if you are not open to questioning some long-held beliefs. Reader discretion is advised.

Now that we have the (obviously joking) disclaimer out of the way, I want to continue looking at Fibonacci ratios in market data. (If you haven’t already, read this post and this post for background, and, all joking aside, this will be pretty data heavy for a blog post.) What I am going to share today comes from the unpublished portion of my book; one of the bigger parts of that unpublished portion was quantitative work supporting the patterns and tendencies I trade. This work was done on a universe of 600 active stocks; 16 liquid, domestic futures markets; 6 currencies; and several variations of randomly generated price data (pure random walk, GARCH models, “scrambled” price bars, etc. The market data covers 10 years beginning in 2001.)

The first thing I did, working with daily data, was to define swings using my AlgoSwings® tool. This is one of many ways to define swings in the market, and, though I don’t show the results here, I also looked at many other specifications for swings. In addition, the AlgoSwings® model is based on market structure, looking first for a pivot defined, for a high, by N bars of lows before and after the pivot. The swing change is further qualified with a volatility filter, using 2 ATRs as a default. Both of these inputs can be changed, with the effect of filtering out more or less noise and producing more or fewer smaller swings. You will see slightly different results based on these inputs, but the results I show here today hold true across a very wide range of parameters, or even using other tools to define the swings.

Swing specifications

Next, we measure each swing as a percentage of the setup leg. This can be a bit confusing, so refer to the (admittedly pretty ugly) chart above for an example. At point D, the market has made a complete three swing move: the setup leg (A-B), a retracement (B-C), and then an extension (C-D). At point D, we define both the retracement and extension as a percentage of the setup leg. The “R: 27%” means that B-C was 27% of A-B; the E: 53% means that D-C was 53% of AB, not 53% of B-C. This is a possible point of confusion, so be clear on this: both legs B-C and C-D are measured relative to A-B, since A-B is the setup leg for the structure. At point E, we are able to define the next three legged structure, this time based off of B-C as the setup leg, and the percentages at point E show C-D and D-E as percentages of that B-C leg. Those structures are highlighted in green and red to make them stand out more clearly. Spend a few moments thinking about this, so that you are sure of what we’re measuring.

Summary statistics for all swings

This table shows the raw retracement stats for all swings in the test universe. We immediately see a problem: you could argue that retracements greater than 100% of the setup leg are not actually retracements at all, and you would be correct. (Look at the previous chart. Is C-D actually a retracement of B-C, or would a better interpretation be that C-D is continuing the uptrend and that B-C is not a setup leg for a downswing at all?) Though I did the work with and without a trend filter, applying a simple filter that removes all swings greater than 100% of the setup leg is a good idea. The next table shows the swings with the simple trend filter applied.

Summary statistics with trend filter

Two points jump out from this table: First, the real market data “look a lot like” the random sample. Though this is not any type of valid quantitative test, it is a good first step when looking at market data. If we compare against a random baseline, we want to see that the market data somehow looks significantly different from random data. Otherwise, there is a good chance that what we are looking at might simply be random, and this is bad because you cannot make money trading something that is random. (I just glossed over a very important point, but a major emphasis of the course I am preparing will be that randomness is, statistically speaking, the enemy of successful trading. Trading and analytical techniques have to be able to overcome randomness or they stand no chance of success. Much more on that concept later. (And yes, I realize that the True Believers may already be saying that of course these ratios are so important that even random number generators would be obeying them. That’s also a discussion for another time.)) Second, we can’t see any clear evidence of Fibonacci ratios in this table. The average retracement, around 65%, is not the Golden Mean, and the very high standard deviation means that we’re not even very “sure”, statistically speaking, that the mean is a valid measure.

A good next step would be to look at a histogram of the retracements. Maybe we can tease out some evidence of Fibonacci ratios there, especially if we see a bimodal distribution with peaks around some of those important ratios that traders use.

Histogram for all swings with trend filter

There seems to be no sign at all of the Golden Mean being important here. What about if we break it down by asset classes?

Histograms with trend filter, by asset class

Hmmm… this does not look good for the Fibonacci ratios. Let’s go one step further. In any analysis, we want to be careful to avoid using data from the future, that would not have been known at the time of the test. In this case, let’s lower that barrier and allow ourselves to only look at “the best” trades. Though we see no evidence of Fibonacci ratios being structurally significant in a large sample of market data, perhaps they work better in the best examples of trades. Again, there are many ways you could define this, but I added a simple set of conditions: 1) the extension is at least 25% of the setup leg, to assure adequate profit potential; 2) For a long setup, the low of the retracement must be higher than the low of the setup leg (already captured in the 100% retracement/trend filter in the earlier test); and 3) the extension must make a new high relative to the high of the setup leg (D > B). Here are the results with those additional filters:

Summary stats with “best trades” filter
Histogram with “best trades” filter
Histograms with “best trades” filter, by asset class

I think this is a good place to stop for today. Spend some time looking at these charts, and think about what they represent. For perhaps the first time, you now have an objective view of what retracement ratios really look like in the market, across a large dataset and several market regimes. I’ll come back tomorrow, and we’ll consider what these results might mean, and will also think about the limitations of any analysis and what we might have missed.


Adam Grimes has over two decades of experience in the industry as a trader, analyst and system developer. The author of a best-selling trading book, he has traded for his own account, for a top prop firm, and spent several years at the New York Mercantile Exchange. He focuses on the intersection of quantitative analysis and discretionary trading, and has a talent for teaching and helping traders find their own way in the market.

This Post Has 10 Comments

  1. Rod Simmons

    Your analysis is an incorrect application of fibonacci numbers. Thus, your conclusion is flawed. Period.

    1. Adam Grimes

      Using Fibonacci ratios to define retracements and extensions in markets is an incorrect application? Ok, Rod. Have a nice day.

      1. Rod Simmons

        You are implying Fibonacci retracements don’t work b/c Fibonacci ratios are by chance. That’s not true and you know it.

        1. Adam Grimes

          I’m not implying anything, but I am clearly saying that price action around Fibonacci ratios is indistinguishable from price action around any random number. This is based on analysis of hundreds of thousands of data points. Where does your certainty come from? It certainly is possible that I have misspecificed the test in some way and that it can be refined. I’m more than open to suggestions/discussion on that front.

          So, no, I guess I see no evidence that Fibonacci ratios are anything other than chance. If you have evidence to the contrary (understanding that the standard of proof is not example charts of where ratios work… understanding that the standard of proof at least needs to respect reasonable scientific/statistical bounds) please do share. I run into a lot of Fibonacci believers but, oddly, none of them seem to have done much research on the subject.

          Want to know the thing that will really blow your mind? You don’t need these ratios to trade successfully.

          1. Rod Simmons

            I have vaporized 3000 or more hours quantitatively verifying valid/reliable trading strategies, all with a lag except for 1 strategy so yes I would love to know yours b/c it’s probably similar to mine

          2. Adrian

            And besides this, please don’t tell us you are a big NBA fan and that you build puzzles. That combination is already reserved.

  2. SalfRaettele

    In general this might be true, but the point is that even in a random market you’ll be able to extract money from the market with a consistent approach (which might be a melt in stone Fibonacci strategy)

    1. Adam Grimes

      >even in a random market you’ll be able to extract money from the market

      With all due respect, that is completely false. In fact, it’s one of the most serious (and common) misunderstandings. In a random market, no consistent profits are possible. This idea is the foundation of a good understanding of probabilities in the market–if you’re missing this nothing else can be right.

      Sorry to disagree so strongly, but this is a very important point.

Comments are closed.