The Debate

Technical analysis is like Marmite: you either love it or hate it. If you are an investor who bases research on fundamentals you most likely believe it's all just a hoax. If you are a technical analyst you believe in the power of time series data, you think it's much more methodical and procedural than fundamentals analysis gives it credit for.

I fall into the latter camp. I believe that stock price time series hold a wealth of hidden information, and I am convinced that technical analysis can provide a measurable edge in the market. To test that conviction I built a stock pattern detection system that scans about 6,000 stocks daily across NYSE and NASDAQ, covering 16 bullish chart pattern types. Over the course of building, tuning and operating this system I studied over 370,000 pattern detection events.

There is a lot of knowledge about chart patterns out there that is outdated. In fact, some of the conventional wisdom about chart patterns is simply wrong, a fact that even the technical trading community does not quite acknowledge. I will share these insights with you here.

My name is Rene. I spent my 30 year career in data, first on the consumption side (mostly in analysis and finance) and gradually shifted to the data preparation phase where I spent most of the second half of my career. Throughout my career, I grew my technical skills leading software and data engineering teams at Amazon, Groupon, Integral Ad Science and Paylocity. At Amazon we had a saying: "In god we trust, everybody else brings data!" I have lived true to the principle that data needs to guide your learning journey, not anecdotes.

Why Most Pattern Analysis Falls Short

Many analysts are skeptical of chart pattern analysis. Quite a bit of that criticism is justified. Let me explain: research into stock patterns is aged. Literature provides patterns that fit the geometric requirements perfectly. However, the documentation lacks information around pattern performance such as win rate (how many times does a pattern work out as predicted) and market beat rate (how many times is the subsequent return greater than what the market exhibited). When traders track their performance, their individual number of trades is quite small. Furthermore, it’s not clear if their performance is driven by the potential of the patterns they work with or by the trader’s instincts to execute a flawless entry and exit.

I am convinced that stock price time series data holds valuable information that, if extracted using rigorous statistical methods, can give traders a genuine edge. Doing this on thousands of charts quickly and consistently requires automation.

That is exactly what I built: A system that scans thousands of stocks for 16 bullish chart patterns daily. Any pattern detected gets scored across three independent dimensions: Structure, Volume and Breakout Readiness. I invested heavily into the search for the right statistical signals for each pattern type. I am sharing in this article what I learned from this work. Some of it truly surprised me.

The Methodology

As mentioned, the system scans about 6,000 stocks across NASDAQ and NYSE every trading day, looking for bullish chart patterns such as Ascending Triangles, Bull Flags, Cup and Handle, Double Bottoms, Volatility Compression patterns and others.

Scoring is an integral part of the system. After detection we create a composite score that measures how likely the stock is to perform a bullish breakout in the subsequent two weeks. The scoring model has three dimensions:

  1. Structure: Here we assess the geometry of the pattern and how likely a long breakout will occur.
  2. Volume: This component analyzes the volume patterns and predicts the long breakout probability based on the volume metrics we determined predictive for the pattern.
  3. Breakout Readiness: We use a separate set of metrics to determine how likely it is that a long breakout will occur in the subsequent three days.

Detections that score the highest on all three components represent the opportunities with the highest likelihood to lead to a favorable long breakout in the near future.

Revised models are rigorously tested and validated before being promoted to production (I will discuss this in more detail in finding #4).

Finding #1: Textbook Perfect Patterns Underperform

The first version of the scoring model exclusively rewarded compliance to textbook-perfect pattern geometry. The more compliant a pattern was with the textbook scenario - the higher the score. My assumption was that the cleanest patterns would create the best returns.

But the data showed a different story: Once the first set of models was built and we assessed performance, we found something counterintuitive for the Bullish Pennant detector: patterns with the highest possible structure score showed a market beat rate of 48% (effectively a coin flip). However, patterns with mid-level structure scores - so imperfect, but still recognizable patterns - had a market beat rate of 64%. The same was true for other patterns as well: Breakaway Gap 46% vs. 54%, Bullish Engulfing 33% vs. 52%, Double Bottom 47% vs. 55%. What we consistently saw was that textbook-perfect patterns were performing worse than patterns with slight imperfections.

We further found that pattern characteristics that were used as confirmations such as resistance-touch frequency, perfect trendlines and evenness of a base were consistently tied to lower performance. When we looked at the number of resistance-touches we found the opposite trend: 2 touches yielded a 55% beat rate, for 3 to 4 touches the market beat rate dropped to 48%, 5 touches it fell to 42%, and 6 or more touches were at 35%.

I believe that this can be explained by the fact that stock patterns have gone mainstream. If everybody knows them, the picture-perfect patterns have lost their edge. Retail traders, professional traders, investment bank algorithms - they all act on the same signal. The trade becomes crowded and the information gets priced in as soon as the pattern becomes visible. Stop losses are clustered around obvious levels, creating additional risk for those trades.

On the other hand the patterns with slight imperfections like an uneven base, a slightly non-linear trendline, a candle that is slightly negative when strictly positive candles are required, all make those opportunities less visible to automatic scanners. The result is less competition and a better risk/reward setup, resulting ultimately in a better trade.

The resulting conclusion is not to ignore patterns all together. Just avoid textbook-perfect setups. Instead, focus on the patterns that are a little harder to spot because they slightly deviate from the textbook scenario. This will allow you to avoid crowded trades and earn better rewards.

Finding #2: Volume Direction Beats Volume Magnitude

Conventional wisdom states that daily trade volume significantly above the daily average indicates a breakout. But the numbers show a more nuanced story:

I have learned that volume spikes on days when the stock price moves up are more predictive of a long breakout than raw volume magnitude. It’s important to call out that only the top volume days matter. If you are looking at a period of 20 days and you have three or more of the top five volume days seeing price increases it’s a good indicator that the stock will break out long.

Some trading platforms show that distinction: red volume bars for intervals where the price drops and green volume bars where the price increases. The relationship is so stable, that we have included this in the volume score for multiple pattern detectors.

Consider this scenario: You have two stocks. Stock A sees explosive volumes (3 to 5 times the average) for a few days with the highest volume days happening when the price drops while stock B sees higher volumes (say 1.5x to 2.0x) and almost all high volume days are on days the stock price rose. In that scenario we will predict that a short breakout is more likely for stock A while a long breakout is more likely for stock B.

This led to the generation of a new volume metric, I call Net Distribution. The metric usually takes the top 25% of volume days for a period and counts how many days the price went up vs. down. The percentage of up vs. down days we feed into our volume score for quite a few detectors.

I recommend not just looking at volume magnitude but also to analyze what the price moves were during those high-volume days. If for more than half of those days the price went up - this should give you higher confidence that the breakout is expected to be upward.

Finding #3: Not All Patterns Are Created Equal

Do you have a favorite chart pattern? If so - why did you pick that pattern? Plenty of people I spoke with gave me reasons similar to “It works for me.”. In surprisingly few cases did I get specific numbers.

When I first built the pattern detector I too assumed that every pattern has the same performance potential. What surprised me was that this is not the case: I had to accept that some patterns show consistently lower performance than others. While most of the top performing detectors (Bull Flag, Three White Soldiers, Ascending and Symmetrical Triangle) are only on iteration two or three, most low performing patterns (Rounding Bottom, Double Bottom, Post Collapse Recovery, Cup & Handle and Higher Lows Volume Spike) are already on iteration five or six.

My favorite of the 16 patterns is the Bull Flag pattern. The reason is that high quality patterns are found quite frequently (about two to three per day), with a strong market beat rate (about 72%) and a solid return (about 6.4% for successful breakouts).

On the other hand, we have not had great success with the Bullish Engulfing pattern. Even after multiple optimizations of the scoring model, strong detections are found infrequently (about once every five trading days), with a low market beat rate (about 60%) and low returns on successful breakouts (about 2.7%).

Below is a table of our latest backtest which covers a period of 8 months (April 2025 - Nov 2025), providing you performance metrics for the patterns the system covers.

Pattern Category Detections / Day % of Total Detections Market Beat Rate Return on Win
Ascending Triangle Continuation 1.2 9.6% 64% 5.6%
Breakaway Gap Momentum 0.5 4.3% 66% 3.4%
Bull Flag Continuation 2.6 21.1% 72% 6.4%
Bullish Engulfing Candle Stick 0.2 1.6% 60% 2.7%
Bullish Pennant Continuation 0.5 3.9% 66% 4.2%
Cup Handle Continuation 0.1 1.2% 60% 8.3%
Double Bottom Reversal 0.4 3.3% 55% 4.1%
Falling Wedge Reversal 0.8 6.4% 61% 6.2%
Flat Base Continuation 0.4 3.1% 65% 4.3%
Higher Lows Volume Spike Momentum 1.6 12.5% 60% 5.2%
Inverse Head And Shoulders Reversal 0.5 4.0% 68% 5.8%
Post Collapse Recovery Reversal 0.1 1.0% 58% 4.3%
Rounding Bottom Reversal 0.3 2.5% 54% 4.3%
Symmetrical Triangle Continuation 0.2 1.6% 68% 6.0%
Three White Soldiers Candle Stick 2.3 18.1% 70% 5.5%
Volatility Compression Momentum 0.8 6.1% 62% 3.2%

This data shows that continuation patterns are the most effective and you should probably spend most of your screening time focusing on those patterns.

Finding #4: If something looks too good to be true …

If you have tried trading stocks yourself you have probably encountered this: You are detecting a pattern or a trend in the data. Your analysis is solid; you are testing it multiple different ways - all are successes. Next you try a live trade and you fail miserably.

I have gone through that same journey: Built an improved scoring model, found some surprising relationships in the data and it all looks great. I did one final test of the model on newer data and the model failed miserably.

There is a term for this: overfitting. You run into this issue when you find a one-off pattern in a data set, you cannot replicate it in another dataset. You essentially modeled what was basically noise.

The learning is this: If it’s too good to be true, it usually is.

What does that mean to you? Overfitting is a deep topic, but there are simple steps each of us can take to protect from overfitting. First and foremost: be suspicious of the findings. Validate your findings on multiple datasets, the easiest way is by splitting the one dataset you use into multiple smaller ones. Confirm that the magnitude and direction of the findings is about the same across each of the smaller data sets.

This is what I do now: Every model goes through rigorous testing: I split my data into three different subsets (Train, Test, Validate). Only training data is used for model development. Results need to show the same magnitude and the same direction across all three datasets. In addition I create random samples of the overall data set and validate results across each of those. When conducting an analysis, any data point consisting of less than 50 observations is ignored. Any configuration values set for a model are round values now.

I also use advanced statistical methods to ensure that multi-variable models detect real trends and are not just modeling out noise. Only models that pass all these tests are promoted to production.

What This Means for Your Portfolio

Let me distill the findings into four practical takeaways you can apply to your own analysis.

Stop chasing picture perfect setups. When you see textbook perfect patterns, maybe because someone alerted you on social media, you should ignore it and move on. A setup that has slight imperfection and that nobody is talking about is the one you should focus on. These setups will offer you better risk/rewards because there is less competition.

Add volume direction to your analysis. When evaluating a pattern review whether high volume days are mostly days where the stock price rose or where the stock price dropped. By focusing on long opportunities where high volume days coincided with price increases you can reduce the percentage of failing patterns.

Be pattern selective. If you have a favorite pattern and are not as successful as you wanted to be, assess whether the pattern you picked could be the problem. Consider adding an additional pattern by picking one from the list we shared earlier.

Assess your trading process with data. Irrespective of whether you use a systematic scan tool or you are scanning charts manually, you should track your performance. You can only improve what you can measure. You should start simple by tracking the date, ticker, pattern, entry, target, stop, result, market beat. As you track this data you will start asking additional questions which will lead to more metrics and plenty of learnings.

My overall message is this: technical analysis works, but only if approached with the same rigor investment analysts apply fundamentals analysis. There is plenty of data out there you can use to find real signals. Finding them requires process, discipline and a decent dose of skepticism.

What Comes Next

Throughout my work developing a stock pattern detection platform, I have collected a rich set of data which holds plenty of learnings worth sharing. My belief in technical analysis and chart patterns will continue to push me deeper into the topic. I will share key learnings along the way.

If there are specific questions you have, please post them in the comments. My research already gained me a lot of insights in individual pattern performance, understanding by pattern what predicts a successful/failed breakout, learnings about market regimes and more.

I would also love to hear your thoughts about the article: What surprised you? Where does your data disagree? What have you learned that I did not touch on? How do you measure your performance?


Disclaimer: StockDataAnalytics.com is a financial data and analytics service. The information provided through our platform, including stock pattern detection, entry zones, stop losses, and price targets, is for informational and educational purposes only and does not constitute financial advice, investment advice, trading advice, or any other type of advice. We are not registered investment advisors, broker-dealers, or financial planners. Past performance of any pattern or recommendation does not guarantee future results. All investments involve risk, including the possible loss of principal. You should consult with a qualified financial advisor before making any investment decisions. By using our service, you acknowledge that all trading decisions are made at your own risk.