← All posts
May 3, 2026 · Tapeline

Why we score 2,500 tickers, not 5,000.

Updated 14 September 2026: we now score about 11,500 US stocks and ETFs. As published in May 2026: A third-party market-data feed covers thousands of US tickers. We actively score ~2,500 by daily dollar-volume — here's why that cutoff exists, what we do with the rest, and why bigger isn't better.

Update, 14 September 2026: an unfiltered scan (liquidity floor and leveraged-fund filter switched off) returned 11,501 US stocks and ETFs on 13 September 2026, so the figure is now about 11,500. The 7 September note below gave the count on that day.

Update, 7 September 2026 — we were wrong, and the number is now ~6,900.

The argument below defends a 2,500-ticker cutoff on liquidity grounds. The cutoff was real, but it was not the liquidity filter this post describes. It was a configuration limit on how many symbols our worker refreshed each cycle — and because a ticker with no price refresh has no daily move, and every ranked view requires one, it quietly became a limit on what we could show.

That stranded 3,633 already-scored tickers, including TSM, Toyota, Sony and HubSpot. Searching "TSM" on Tapeline returned nothing. It is fixed; an unfiltered scan now returns ~6,900.

This post stays up unedited below, because a published argument we have since disproved is exactly the sort of thing we would want to read on someone else's site. The liquidity reasoning still holds for the default view, which applies a $1M/day floor you can switch off.

The data feed (a third-party market-data feed) gives us coverage of every listed US security — the full liquid US universe, after filtering out OTC. We actively score the top ~2,500 by daily dollar-volume. Roughly half the new-user feedback is "why isn't $XYZ scored?" — so here's the reasoning, written once.

The filter is liquidity

The 2,500 are picked by daily dollar-volume — price × volume — and the cutoff lands well below the S&P MidCap 400, deep into small-cap territory. Everything below has bid-ask spreads wide enough that the "score" stops representing anything actionable. A 90 score on a $0.15 stock that trades 80,000 shares a day is a fiction; you can't get in or out at that price without moving the tape against yourself.

The factors aren't equally available below the cutoff

Trend, momentum, and macro work fine on any ticker with a year of bars. Fundamentals and insider Form 4 are sparse for sub-$200M caps — small companies just file less often, and analyst coverage thins out. Forcing a score across the entire liquid US universe would mean thousands of confidence values landing under 40%. That's noise, not signal — exactly the experience we're trying to replace.

What we do with the rest

The full universe table is auto-populated weekly from a third-party market-data feed's reference API. We use it for: watchlist tracking (you can watch any ticker, scored or not), per-ticker pages with price and 1-day change, news feeds with sentiment tagging, and ranking — so when liquidity grows on a name, it gets promoted into the active 2,500 automatically on the next refresh cycle.

Why not just score the whole universe?

Two reasons. First, the noise above. Second, a third-party data feed's free tier is 60 calls/minute — enough for the fundamentals refresh on ~2,500 names but not the full universe. A bigger universe means a bigger a third-party data feed bill, not a better product. We'll only expand if customer behaviour says the marginal names are actually being scanned.

The 2,500 covers basically every US name a retail trader is plausibly considering: every S&P 500 + every NASDAQ-100 + every Russell 1000 component, plus the most actively-traded sector and commodity ETFs. If your watchlist already lives in that range — which most do — Tapeline scores everything you care about.

See it in the scanner.

30-day Premium trial — starting it takes a card, $0 is charged that day, and you can cancel online any time before the day-30 charge. Signing up is an email and a password, and lands you on the free plan. Or read the public record instead: the daily Top 10, the full scorecard and the raw CSV/JSON need no account at all. The scoring formula above runs on every scored US stock and ETF on each worker pass during US market hours, over prices delayed about 15 minutes.