← All strategies

CAN SLIM (price-action proxy)

✕ Avoid

Stock picking — S&P 500 members

William O'Neil's CAN SLIM system, but only the legs computable from price history (Leader momentum + Market direction). The fundamentals legs (quarterly/annual EPS growth, institutional ownership, shares outstanding, new-product story) aren't available from Alpaca market data and need a manual check before acting on a pass here.

View 6-month backtest → View 1-year backtest →

New backtests are run by the owner.

How it works

An illustration of the rules on made-up prices, not real data.

Long-run result — 2015–2026, point-in-time S&P 500 membership

Annual return

6.8%

SPY 13.9%

Worst drawdown

-29.2%

SPY -33.7%

Its apparent edge was survivorship bias — bias-free it trailed SPY by ~7%/yr.

Growth of $100,000 vs the same amount in SPY, 2015–2026

From the latest backtest run (to 2026-10-19): 5.7%/yr vs SPY 13.6%/yr; worst drop -29.2% vs -33.7%. Log scale, so equal percentage moves look the same size. Hover for values.

Rules

  1. Price within 15% of its 52-week high ("L" — leader)
  2. Relative Strength vs S&P 500 ≥ 70 ("L" — leader)
  3. Price above the 50-day moving average (short-term uptrend)
  4. 200-day MA trending up for at least 1 month (sponsorship proxy for "I")
  5. S&P 500 (SPY) above its own 50-day MA ("M" — confirmed market uptrend)

Assessment

  • + Objective, checkable momentum + market-timing filter
  • + O'Neil's exit discipline is wired in directly — 20-25% profit take, 7.5% stop-loss, and the 8-week hold rule for early +20% spikes
  • + Cheap to run — no fundamentals data needed for this subset
  • − Not the real CAN SLIM — C/A (EPS growth), N (story), S/I (share count, institutional ownership) are skipped entirely; this only tests 2 of 7 legs
  • − A pass here is a momentum/market-timing signal, not a growth-stock pick — still requires a manual EPS/fundamentals check before buying
  • − Like Minervini, will whipsaw in choppy/sideways markets since it has no fundamentals filter to avoid low-quality breakouts