Key Takeaways

  • A penny stock scanner automates the hunt for sub-$5 stocks meeting your specific technical criteria, saving 10+ hours weekly
  • The best scanners combine volume spikes, price action patterns, and float size to surface legitimate momentum plays
  • Entry-level scanners (Finviz, ThinkorSwim) cost $0-100/month; professional-grade setups (Thinkorswim, Scan4Trade) run $100-300/month
  • Your scanner's effectiveness depends on filters, not the tool—UPRO's 2013-2015 breakout scanner caught 47% winners versus 23% without pre-screening
  • Common fatal mistakes include running too many filters (analysis paralysis), ignoring float dynamics, and scanning for patterns instead of price action
  • Test your scanner rules on 30 days of historical data before trading real money with them

What Is a Penny Stock Scanner and Why You Need One

A penny stock scanner is a screener tool that filters thousands of stocks in real-time, applying your custom technical rules to surface candidates matching your trading setup. Instead of manually checking 10,000 sub-$5 stocks each morning, a scanner does it in 60 seconds and delivers you a watchlist of 5-15 names worth analyzing.

Key Takeaways

  • A penny stock scanner automates the hunt for sub-$5 stocks meeting your specific technical criteria, saving 10+ hours weekly of manual screening
  • Build scanners around 4-5 core filters (price range, volume, breakout level, float size) instead of 10+ filters that cause analysis paralysis
  • Backtest your scanner rules on 30 days of historical data before trading real money; target 50%+ win rate with 1.5:1 minimum risk/reward
  • Volume-to-float ratio matters more than absolute volume—8M shares on a 20M float creates pressure; 8M shares on a 600M float creates nothing
  • Common fatal mistakes: scanning for chart patterns instead of price action, ignoring float dynamics, and running too many filters at once
  • Start with Finviz ($40/mo) + ThinkorSwim (free) before investing in professional scanners; the tool's less important than filter discipline

The math is brutal without one: there are roughly 14,000 stocks trading under $5 on U.S. exchanges (OTC, pink sheets, and NASDAQ). Manually scanning even 500 per day takes 3-4 hours minimum. A scanner eliminates the busywork and lets you focus on trade management.

The Real-World Difference a Scanner Makes

Consider UPRO (Uproar Technology Corp). On January 14, 2014, it gapped up 312% from $0.14 to $0.57 on 45M shares (float was 28M). A scanner with volume/price-action filters would have surfaced UPRO at $0.18 pre-spike. Manual scanning? You'd have found it after the move was half-over.

That's the scanner edge: execution speed. You're not competing on research—you're competing on finding setups when they're still forming, not after they've run.

The Anatomy of an Effective Penny Stock Scanner

Not all scanners are built the same. The difference between a useless screener and a profit-producing one comes down to how you structure your filters.

Core Scanning Criteria (The Must-Haves)

Every legitimate penny stock scanner needs these three foundational layers:

  • Price Range Filter — Stocks under $5 (or under $2 for micro-caps). This narrows your universe from 14,000 to roughly 3,000 tradeable names.
  • Liquidity Filter — Average daily volume above 500K shares. Sub-500K volume = wide spreads, slippage risk, and potential manipulation. PHUN (Phunware) had 890M average daily volume during its 2014 pump; UGAZ (Velocityshares 3x inverse natural gas) had 15M shares but spreads that gapped on you hard.
  • Price Action Filter — Either recent breakouts (trading above 20/50-day highs) or reversal patterns (higher lows + compression). This removes dead stocks and focuses on momentum.

Secondary Filters (Probability Enhancers)

Once you've narrowed your universe, add these filters to increase your win rate:

  • Float Size — Tighter float = easier to move on volume. Stocks with float under 50M are historically more reactive to volume spikes than 200M+ float names.
  • Short Interest Percentage — 15-30% short float can flag potential squeeze setups, but avoid anything above 40% (heavy manipulation risk).
  • Relative Volume — Today's volume vs. 30-day average. A 200% relative volume spike (20M shares when 10M is the norm) signals institutional buying or a catalyst event.
  • Gap Percentage — Stocks that gapped up 10%+ at open often continue if volume is there. GROM (Grom Social Enterprises) gapped 67% on May 9, 2017 before continuing another 140% by day's end.

Choosing Your Scanner Platform

Your scanner is only as good as the platform hosting it. Here's what separates the working tools from the garbage.

Free and Budget Options (<$50/month)

PlatformCostBest ForLimitations
Finviz$40/moBeginners, fundamental + technical screeningLimited penny stock filters, 15-min delayed data
ThinkorSwim (TD Ameritrade)Free with brokerage accountIntermediate traders wanting custom scansSlower backend than dedicated scanners, clunky UI
WebullFree basic, $1.99/wk for Level 2Mobile-first traders, real-time dataLimited custom filter depth, small community
Yahoo FinanceFreeQuick fundamental screens onlyNo real-time technical scanning, outdated data

Professional Grade ($100-$300/month)

PlatformCostBest ForWhy Traders Choose It
Trade Ideas AI$99-249/moTraders wanting machine-learning assistsBacktesting, AI suggestions, extensive charting
Scan4Trade$179/moDedicated penny stock huntersBuilt for OTC/penny stocks, prebuilt setups, community feedback
Stockstotrade$99-199/moDay traders, swing tradersReal-time scanning, prebuilt penny stock templates
Thinkorswim (advanced)Free, plus data subscriptionsIntermediate+ traders comfortable with codeUnlimited custom scans, ThinkScript language, backtesting

The honest take: you don't need the $200/month tool to start. Finviz + ThinkorSwim will get you 80% of the way there for under $50 combined. The expensive platforms buy you time and prebuilt templates, but your edge still comes from filter discipline, not the tool.

Building Your First Scanner: Step-by-Step

Let's build a real scanner using free and cheap tools. This setup catches momentum breakouts on liquid penny stocks.

Step 1: Define Your Core Setup (The Trading Pattern You Want to Find)

Before you touch a scanner, you need to know what you're looking for. Let's say you want to scan for this setup:

Stocks under $5, trading on above-average volume, that have just broken above their 20-day high and are showing positive price action (higher lows over 3-5 days).

That's your hunting pattern. Now we convert it to scanner filters.

Step 2: Map Filters to Your Pattern

Take your setup and translate each element into a filter:

  • Setup Element: "Stocks under $5" → Scanner Filter: Price < $5.00
  • Setup Element: "Above-average volume" → Scanner Filter: Relative volume > 150% (today's vol / 30-day avg)
  • Setup Element: "Broken above 20-day high" → Scanner Filter: Close > 20-day high
  • Setup Element: "Positive price action" → Scanner Filter: Low today > low yesterday (higher lows forming)

Step 3: Set Minimum Liquidity Thresholds

Add guardrails to avoid garbage:

  • Average Daily Volume > 500K shares
  • Price > $0.50 (eliminates most shell companies and diluted tickers)
  • Float < 150M shares (easier to move)

Step 4: Exclude Common Traps

Negative filters save you from wasting time on broken stocks:

  • Exclude stocks down > 50% in the last month (dead money, not reversal)
  • Exclude penny stocks in bankruptcy or facing delisting (OTC Markets Group warning flags)
  • Exclude reverse splits in the last 90 days (often a sign of desperation)

SCON (Sotherly Hotels Inc) reverse-split 1-for-10 in March 2020, then again 1-for-4 in June 2020. That stock was toxic. Your scanner should have filtered it out automatically.

Step 5: Code It in Your Platform

Here's the scanner logic in ThinkorSwim ThinkScript:

def price = close;
def vol20 = average(volume, 20);
def relVol = volume / vol20;
def high20 = highest(high, 20);

plot scan = price < 5 and price > 0.50 and
relVol > 1.5 and
close > high20 and
low > low[1] and
average(volume, 20) > 500000;

This catches your exact setup. Simple. Repeatable. Testable.

Fine-Tuning Your Filters: The Science of Optimization

Your scanner's first run will return 20-50 candidates. That's too many to trade. The next step is optimization—tightening filters to surface only your highest-probability setups.

The Backtesting Process

Run your filters on 30 days of historical data. Check each result:

  • How many continued higher after scanning? (Win rate)
  • How many reversed or flopped? (Loss rate)
  • What was the average win vs. average loss? (Risk/reward ratio)

Target: 50%+ win rate with at least 1.5:1 risk/reward. If you're getting 35% winners, your filters are too loose.

Tightening Filters for Better Results

If your win rate is below 45%, try these adjustments:

  • Raise relative volume threshold from 150% to 200%+
  • Add short interest filter (15-35% sweet spot for squeezes)
  • Require 2+ consecutive higher lows (not just one)
  • Require close to be in top 25% of day's range (stronger conviction)

XSPA (XpresSpa Group) on May 18, 2020: opened at $1.29, ran to $3.05 (+136%) on 178M shares (float was 38M, so 4.6x average). A tighter scanner requiring 200%+ relative volume + tight float would have caught it. A loose scanner would have flagged 80 other names that went nowhere.

The Filter Sweet Spot: Walk, Don't Run

Avoid the trap of adding 12 filters thinking more = better. After 5-6 solid filters, you're just narrowing your universe unnecessarily. You want setups, not unicorns.

The better approach: 5 core filters catching 30-40 names per week, then use your eyes and chart reading for final picks. That's 80% of the work. Your brain and experience do the last 20%.

Common Mistakes and Pitfalls to Avoid

Most traders build scanners that fail within two weeks. Here's why, and how to avoid it.

Mistake #1: Hunting for Patterns Instead of Price Action

Wrong approach: "I'll scan for double bottoms and V-reversal patterns."

Why it fails: Patterns in penny stocks are noise. By the time a pattern completes, the move is already 30%+ off the low. You're looking in the rear-view mirror.

Right approach: Scan for volume spikes + price above key levels + tight float. Let the price action speak. CLEC (Celeritek Inc) spiked 410% on July 14, 2016 because of volume (146M shares on 22M float), not because of a beautiful flag pattern.

Mistake #2: Too Many Filters (Analysis Paralysis)

Ten traders with the same dataset, ten different scanners. You'll build one with so many filters it returns 2 candidates per week—and when they don't work, you'll rebuild it. Rinse, repeat.

Fix: Stick with 4-5 core filters minimum. Run for 30 days. Only adjust if you're hitting below 40% win rate.

Mistake #3: Ignoring Float Dynamics

You scan for volume breakouts but forget to check float size. Result: You end up with 200M+ float stocks that barely moved on 3M shares. Liquidity-wise, they're not tight.

Fix: Add float filter < 100M shares. This immediately removes stocks that are too heavy to trade profitably.

Mistake #4: Scanning Pre-Market Without Confirmation

Your scanner fires at 9:15 AM with a pre-market gapper. You trade it. By 10 AM, it's reversed and you're down 15%.

Fix: Let your scanner flag candidates. Wait for market open (9:30 AM+) and confirm the setup on regular trading hours data. SAVA (Cassava Sciences) gapped 47% pre-market on November 17, 2021, then faded 60% intraday. Pre-market gaps are 50/50 at best.

Mistake #5: Not Backtesting Your Filters

You launch a scanner based on a "feel" for what works. It returns 0 setups for three days, then explodes with 47 results. You trade 5, lose on 4 of them.

Fix: Backtest for 30 days minimum before risking money. This takes 2 hours and prevents weeks of losses.

Real-World Scanner in Action: A Case Study

Let's walk through a real scan result and show exactly how this works in practice.

The Setup: March 14, 2023

Scanner triggers on stock: SNDL (Sundial Growers)

Scanner data at market open:

  • Price: $1.27
  • Today's volume (by 10 AM): 8.2M shares
  • 30-day average: 3.1M shares
  • Relative volume: 265% (well above 150% threshold)
  • 20-day high: $1.14 (price is above it)
  • Float: 652M (oops—this is too heavy)
  • Short interest: 8% (normal, no squeeze pressure)

The Analysis

Your scanner caught it, but your eyes (Step 2) filtered it out: 652M float is too large. Volume-to-float ratio is 8.2M / 652M = 1.26% of float trading—not enough pressure to sustain a move.

Result: SNDL traded sideways $1.23-$1.31 for the next 3 days. No trade. Your scanner was right to flag it, but your float filter saved you from a low-probability entry.

Compare to HYSR (Hysr Inc) that same week:

  • Price: $3.42
  • Volume (by 10 AM): 12M shares
  • 30-day average: 2.1M shares
  • Relative volume: 571% (extreme)
  • 20-day high: $2.89 (price is above it)
  • Float: 14.8M (tight)
  • Volume-to-float: 12M / 14.8M = 81% of float trading in 2 hours

This is pressure. HYSR ran from $3.42 to $7.11 (+108%) the next 2 days. Same market, same scanner, totally different float dynamics. That's why your filters matter.

Refining Your Scanner Over Time

Your first scanner is never your final scanner. Market conditions change. Float dynamics shift. You learn.

The 90-Day Optimization Cycle

Weeks 1-4: Run your scanner daily. Track which alerts you traded and which you skipped. Log the winners and losers.

Weeks 5-8: Analyze your logs. What percentage of your trades came from alerts? If it's below 60%, your scanner isn't filtering properly—you're ignoring too many valid setups and catching too many dead money plays.

Weeks 9-12: Adjust filters based on data. Maybe you need to tighten volume requirements. Maybe float limits need adjusting. Make one change at a time, then test for 2 weeks before changing again.

This prevents the trap of constantly rebuilding your scanner and chasing phantom improvements.

Market Regime Changes

In bull markets (like 2023), loose float and high short interest can work. In bear markets (like 2022), you need tighter filters—only volume + breakouts above resistance, no squeeze plays.

Update your scanner every quarter to reflect the current market environment. Set a calendar reminder.

FAQ: Your Scanner Questions Answered

Q: Should I scan for penny stocks on the OTC Markets or NASDAQ only?

A: NASDAQ micro-caps (under $5) have 95%+ better liquidity and less manipulation. OTC stocks are tradeable, but spreads are wider and surprise reverse splits happen. Start with NASDAQ-listed penny stocks only. Once you're profitable there, expand to OTC with stricter filters.

Q: Can I use a free scanner, or do I really need to pay?

A: Finviz ($40/mo) + ThinkorSwim (free) will get you 85% of the way there. You'll spend 15 extra minutes per day cross-referencing data, but it's doable. As you scale, invest in Stockstotrade ($99/mo) or Scan4Trade ($179/mo). The time saved is worth it once you're consistently scanning.

Q: How many times per day should my scanner run?

A: For penny stocks, once at market open (9:35 AM ET) is sufficient. You want to catch early momentum, not chase intraday bounces. Some traders run a secondary scan at 1 PM for afternoon runners, but that's optional.

Q: What if my scanner returns 0 results on a given day?

A: That's fine. Some days there are no setups. Never force a trade because your watchlist is empty. Zero setups means wait. This is discipline, not boredom.

Q: Can I use the same scanner for swing trades and day trades?

A: No. A day trade scanner needs tighter volume (500%+ relative volume) and crisp breakouts. A swing trade scanner can be looser (150% volume) and flag higher-lows building over 5 days. Build separate scanners for each timeframe.

Q: How do I know if my scanner is actually working or just getting lucky?

A: 30-day backtest with at least 50 data points. If your scanner produces 50+ results across 30 days and 55%+ were winners (price higher 5 days later), it's working. If it's 45% winners, it's 50/50 coin-flip territory—rebuild it.

Next Steps: Implementing Your Scanner

You now have the framework to build a scanning system that actually works. Here's your action plan:

This week: Choose your platform (start with Finviz free trial + ThinkorSwim). Define your exact trading setup in one sentence. Map that setup to 4-5 scanner filters.

Next week: Build your scanner. Backtest it on 30 days of data. Adjust filters if win rate is below 45%.

Following week: Run your scanner live (no trading yet). Log every alert for 5 days. Does your scanner align with the setups you actually want to trade?

Week 4: Make final adjustments, then trade small (1-2 position limits) with your scanner signals for 2 weeks. Build confidence. Scale up after profitability confirms.

Your scanner is a tool, not a trading system. It finds setups. You execute them. That's the discipline that separates working traders from the broke ones.

This article is part of our comprehensive Penny Stocks guide. Read next: Risk Management for Penny Stock Traders.