The CANSLIM trading system is William O’Neil’s seven-part screen for catching a growth stock before its biggest advance, and the acronym names the seven tests in order: C for current quarterly earnings, A for annual earnings, N for a new product or a new price high, S for supply and demand, L for leader versus laggard, I for institutional sponsorship, and M for market direction. O’Neil, who wrote it as CAN SLIM in his own books, built the screen so no single strong number could carry a trade on its own.
A grower posts a 38% quarterly EPS jump, the stock gaps to a 52-week high on triple-average volume, and three brokers raise targets the next morning. I have watched that exact tape pattern produce both a 200% runner and a six-week false breakout that gave back every cent. The difference, almost always, is whether the broader market was in an uptrend the day the buyer pressed the button. That is the single sharpest lesson the CANSLIM trading system teaches: any one filter can be faked. Seven filters in series, applied top-down, are much harder to fake.
The CANSLIM trading system at a glance
William O’Neil built the framework after studying every major US winner from 1880 to the mid-1990s. He found the same fingerprint repeating: explosive earnings, a new product or new high, a tight base, leadership in a leading group, fund accumulation, and an uptrending market. The acronym is a checklist, not a ranking. A stock that scores 6 of 7 but fails M is, in O’Neil’s data, a losing trade most of the time. You can read the lineage in this William O’Neil profile, which sits behind everything below.
Here is the whole screen on one line each: the letter, what it tests, and the practical threshold O’Neil published for it.
| Letter | What it screens | Practical threshold |
|---|---|---|
| C | Current quarterly earnings | EPS up 25% or more year over year, and accelerating versus the prior quarter |
| A | Annual earnings growth | 25% or more compounded over three-plus years, return on equity near 17% |
| N | New product, management, or price high | A breakout to a new high out of a proper base |
| S | Supply and demand | Breakout volume 40% or more above the 50-day average, with a manageable float |
| L | Leader versus laggard | Relative-strength rating 80+ (prefer 90+), inside a top industry group |
| I | Institutional sponsorship | A few quality funds owning it, the fund count rising quarter over quarter |
| M | Market direction | Enter only in a confirmed uptrend, step aside once distribution stacks up |
The order of the letters matters less than the sequence of decisions. C and A are the fundamental screen. N defines the chart setup. S, L, and I are the tape and ownership confirmation. M is the master switch that turns the whole system on or off.
C and A: the earnings filters that kill pretenders
C is current quarterly earnings per share up at least 25% year over year. O’Neil’s later research raised that bar: he wanted to see acceleration, meaning the most recent quarter’s growth rate is higher than the one before it. A grower posting 28%, 35%, 52% over three sequential quarters is the model. A grower posting 80%, 60%, 30% is decelerating, and the CANSLIM trading system treats it as a degrading setup even though the absolute number is still large.
Worked, the C check is simpler than the numbers suggest. In O’Neil’s own account, Syntex in 1963 posted quarterly earnings up in the triple-digit percentages just before a large advance, and that surge was his trigger to act. You rarely get a number that dramatic. What you line up instead is the last three quarterly reports, confirming the growth rate is climbing rather than fading before you flag the name.
A is annual EPS growth of 25% or more compounded over the prior three years, with return on equity ideally above 17%. The point of stacking C on top of A is to separate a one-quarter pop (often a buyback or a tax credit) from a multi-year compounder. Home Depot through the 1980s is the textbook A case: annual earnings that compounded at a high double-digit rate year after year as the chain expanded, not one lucky twelve months. To run the check, pull three or more years of annual EPS and confirm the compounding actually held.
What this filter does NOT signal is value. CANSLIM is a growth system. A stock that screens well here is rarely cheap on a P/E basis, and a value investor using the same screen will conclude the system buys overpriced names. That criticism is correct on its own terms and misses the point: the system is paying for proven acceleration, not for a margin of safety.
N: a new high is not a sell signal in this system
N covers a new product, new management, a new industry condition, or a new price high. The price-high half is the one that trips most newcomers. Buying a stock at a 52-week or all-time high feels wrong to anyone trained to buy low. O’Neil’s data showed the opposite: stocks that go on to advance 100%+ over the next 12 to 24 months almost always emerge from a base that breaks to a new high on volume.
Apple in the mid-2000s is a clean worked N. A new product line, the iPod and then the iPhone, drove earnings and pushed the stock out of a base to a run of new highs. The check is the chart, not the press release: confirm the new high comes on a base breakout with the product story behind it, so the buy is the emergence from consolidation and not an already-extended run.
The textbook misread is to treat the breakout day as the only signal. In my saved chart library, the cleanest CANSLIM winners spent five to twelve weeks building the base BEFORE the breakout, and the day-of buying simply confirmed what the prior accumulation had been pricing. A breakout without that prior base is a momentum trade with no risk anchor, and it does not belong to this system.
S: low float and volume on accumulation days
S is supply and demand. The simplest reading is that a smaller float (the share count actually available to trade) moves faster on the same dollar inflow. O’Neil favored floats under 30 million in the original work, though the threshold has loosened as average market cap has grown. The more durable expression of S is the volume signature: on the breakout day, volume should run at least 40% above the 50-day average, and the base itself should show more up-volume days than down-volume days. I look for that ratio explicitly. A base with eight accumulation days and three distribution days has a different character from a base with the inverse split, even if the price chart looks identical. The tape work behind that read is covered in volume confirmation on breakout candles.
The S check comes straight off the volume bars, and it is the most mechanical of the seven. Mark the breakout day against the 50-day average and confirm volume is running well above it, then tally the base: more up-volume weeks than down says institutions were accumulating into the consolidation. That footprint is the tell O’Neil’s model-book studies kept finding beneath the biggest winners.
What S does NOT signal is liquidity safety. A low-float name can be a fast mover up and an equally fast mover down. The CANSLIM trading system pairs S with M and with the protective stop precisely because the same float that lets it run 30% in a week can let it give back 15% in a session.
L: leaders versus laggards in leading sectors
L is the relative-strength filter. O’Neil’s published rule was to restrict buys to stocks with an Investor’s Business Daily Relative Strength rating of 80 or higher on a 0 to 99 scale, and to prefer the 90+ band. RS rank is a price-only measure: it compares a stock’s 12-month price performance against every other stock in the universe. The 90+ band means the name is in the top decile.
A worked L check reads two numbers together: the relative-strength rating and the stock’s industry-group rank. A 95-rated leader inside a top-ranked group passes. A 95-rated name in a group ranked down the list fails L just as clearly as a 70-rated laggard, because the group is carrying too much dead weight for the leader to pull against. The mechanics of that group read are in sector rotation through relative strength.
The 5-week relative-strength LINE on the chart (the cumulative ratio of the stock to the index, plotted as a separate line) is the leading version of this signal. When the RS line breaks out to a new high BEFORE price does, the CANSLIM trading system treats it as an early-warning buy candidate. I have seen that lead come in as tight as four sessions and as wide as a month.
I: institutional sponsorship without crowding
I requires at least a few quality funds to own the stock and, ideally, for the fund count to be rising quarter over quarter. The reason is mechanical, not social. Funds are the only buyers large enough to power a multi-month advance, and they accumulate over weeks because they cannot move size in a single print. A name with rising institutional ownership has a queue of forced future buyers built into the tape.
The worked I check is the direction of the fund count, not its headline size. Pull two or three quarters of ownership data: a name where the number of holding funds climbs quarter over quarter is being accumulated, which is what you want as a base forms. O’Neil’s documented winners tended to show that rising-sponsorship pattern in the quarters before the breakout, while the count was still building and well short of saturated.
The trap on this filter is the over-owned name. A stock with 95% of the float held by institutions has nobody left to buy and a long lineup of potential sellers. O’Neil’s preferred reading is a few quality holders adding to positions, not a saturated cap table. What I does NOT signal is endorsement of the business. Funds rotate. The signal degrades the moment the fund count stops rising.
M: market direction, the filter that prevents catastrophe
M is the single most important letter in the acronym and the one most often skipped. O’Neil’s own back-testing showed that roughly three out of four stocks move with the general market. A perfectly-screened C-A-N-S-L-I name still loses money most of the time if the major indexes are in a correction. The corollary is that the M filter alone, applied as a step-aside rule, prevents the largest drawdowns the system can take.
M is a repeatable process you can run on the indexes in any regime, and it rests on two counts and one invalidation rule.
The first count turns the system on. After the market has been falling and then attempts to rally off a low, you wait for a follow-through day: somewhere between the fourth and seventh session of that attempt, a major index (Nasdaq, S&P 500, or Dow) closes up around 1.5% or more on volume heavier than the day before. That is O’Neil’s signal that institutions are committing, and the green light to start acting on breakouts.
The second count warns you off. A distribution day is a session where an index closes down at least 0.2% on higher volume than the prior day, the fingerprint of funds selling into strength. Count them in a rolling window of about 25 sessions; once you reach roughly five or six inside that window, institutional selling has stacked up and the uptrend is under real pressure, the cue to stop adding and raise cash.
The invalidation rule keeps the signal honest. A follow-through day fails if the index quickly reverses and undercuts the low that set up the rally attempt, which voids the buy signal rather than confirming it. Distribution days age out of the count once they pass the far edge of the 25-session window, and a fresh follow-through day after a pullback resets the tally. A stalling session, heavy volume with almost no upward progress at the highs, counts on the distribution side even when the index closes flat.
This is also the filter that explains the system’s worst stretches. CANSLIM under-performs in long value-led markets and is structurally exposed to bear phases because every position is, by construction, a high-beta growth name. The M switch is what keeps that exposure from becoming a portfolio-ending loss.
Which base patterns does the CANSLIM trading system favor?
O’Neil required price to consolidate before the breakout. He wrote up three canonical bases.
- Cup-with-handle. Duration 7 to 65 weeks, depth 8% to 30%, handle 1 to 2 weeks and no more than 12% deep. The handle must form in the upper half of the cup, never near the lows.
- Flat base. Duration at least 5 weeks, depth no more than 15%. Often forms as a continuation pattern after a stock has already run from a prior cup-with-handle.
- Double bottom. Two distinct lows where the second dips slightly below the first by 0.5% to 2%, shaking out weak holders before the rally to the pivot.
The reason for the tightness requirement is mechanical. A base that wobbles 35% from high to low is full of recent buyers who are sitting on losses. Every rally back into supply meets selling. A base that holds inside 15% has fewer such sellers, so the breakout meets less overhead. What the base patterns do NOT signal is timing on their own. A textbook cup-with-handle in a market under distribution is still a losing setup more often than not. The pattern is a necessary condition. M is the sufficient one.
The 5-week relative-strength line as a leading signal
The relative-strength line plots the stock’s price divided by the S&P 500, normalized. Drawn on the same chart as price, it usually tracks roughly with the stock. O’Neil’s published edge was that during the base, the RS line frequently breaks to a new 52-week high BEFORE price breaks out of the base. That divergence (RS at new high, price still inside the base) means the stock is out-performing the index even while consolidating, and the breakout is statistically more likely.
The narrow operational detail is the 5-week window. O’Neil specifically highlighted the RS line behavior in the FINAL five weeks of the base, not the multi-year line. A RS line that has been at new highs for a year is less informative than one that just broke to a new high in the last 25 sessions. I scan that window first. The deeper mechanics of why that lead exists are covered in factor momentum: relative-strength is a known persistent edge in cross-sectional return data, and the 5-week window is short enough to be a current signal and long enough to filter noise.
Why concentration beats diversification in the CANSLIM trading system
O’Neil’s published guidance was 4 to 6 positions for most accounts, and never more than 10. The reasoning is honest: a CANSLIM-grade stock is rare. If the screen is working correctly, only a handful of names per quarter clear all seven filters. Splitting capital into 25 positions to feel diversified means most of the book is in second-tier setups that should not have been bought in the first place.
The trade-off is volatility. A 5-position book where one stock owns 30% of capital will have larger drawdowns than a 25-position book. Traders who run the CANSLIM strategy accept that in exchange for a higher hit rate on the names actually bought, and pair the concentration with the M filter so the book is mostly in cash during corrections. The discipline of concentrating into proven winners runs all the way back to Jesse Livermore’s lessons, which O’Neil studied directly.
When does the CANSLIM trading system underperform?
Three honest weaknesses, each tied to a structural feature of the system.
First, value-led markets. The 2000 to 2007 stretch and several windows since have favored slow-compounder dividend names over high-growth breakouts. CANSLIM under-performs there by design. The earnings-acceleration filter screens out the very names that lead those tapes.
Second, range-bound markets. The system needs a trending tape to deliver. A six-month index range with no follow-through day and no five-day distribution cluster leaves the M switch in an ambiguous state. O’Neil’s solution was to stay mostly in cash. That is correct and unsatisfying.
Third, the early bear phase. The M filter catches bears once distribution has accumulated, but the first 5% of an index decline can happen before the count gets there. A position bought the week before that decline starts can sit through the full early leg before the system signals the exit. The protective stop, not the M switch, handles that case.
How I read the CANSLIM trading system today
When I run the seven filters across my saved chart library, the names that actually delivered the multi-year moves shared three features almost without exception. They broke out from a base under 25% deep. They carried an IBD RS rating of 90 or higher at the pivot. And they did it after a follow-through day on the index, not during a distribution cluster. The other three filters (C, A, I) sorted out the fundamentals behind that price action. The base pattern and the M switch did most of the timing work.
The educational point is that the seven filters are not redundant. Each one removes a different failure mode. C and A remove fundamental pretenders. N anchors the chart to a real breakout, not a momentum chase. S filters for the volume signature that real accumulation leaves. L keeps the trader in the leading names of the leading group. I confirms that the smart money is in the same trade. M decides whether the system is even on. Strip any one of them and you have a system with a hole in it. A trader using the CANSLIM framework might find the M filter alone, applied as a step-aside rule, does the heaviest lifting in long-run results.
Learn the pattern. Ride the trend. Keep the gains.
Educational content only. Not investment advice. Trading involves risk. You are responsible for your decisions.
Get the free Market Wisdom e-book
Join Trends and Breakouts — historical winners, breakout studies, and risk lessons. No spam, unsubscribe anytime.
