Insights
How to Build a Stock Dilution Screener
Alphanume Team · May 19, 2026
Turning the offering-event feed into a ranked watchlist — design choices and the trade-offs they imply.
A dilution screener is a daily-refreshed list of public companies ranked by dilution-related risk indicators. The output is not a buy/sell signal — it is a triage tool that narrows a five-thousand-name universe down to a manageable watchlist for human review or systematic strategy ingestion. The design choices below are the ones that distinguish a screener that produces useful candidates from one that buries signal in noise.
The four-component frame
A reasonable screener combines four classes of inputs:
- Recent events. Offerings, ATM activations, PIPE closings, and shelf filings within the lookback window.
- Capacity overhang. Remaining undrawn shelf capacity and outstanding warrants/convertibles that can produce future supply.
- Financial position. Cash runway, operating cash flow, and debt maturity profile.
- Market structure. Float, average volume, borrow availability, days-to-cover.
No single component is sufficient. A company with a recent offering but no future capacity may be done diluting; a company with an active ATM but ample cash may never draw on it; a fundamentally weak company with great market structure may be uninvestable from the short side regardless.
Scoring approaches
Two common approaches:
Linear scoring. Assign each input a normalized score (z-score or percentile within the universe), weight them, and rank. Simple, transparent, and reasonable for first-pass screens. The weights are subjective but can be calibrated against historical post-offering drift.
Rule-based filters. Apply hard thresholds in sequence — companies that pass all the filters are flagged. Easier to interpret per name; less effective at ranking when many candidates pass.
In practice, a hybrid works well: hard filters to remove obviously inapplicable names (no recent dilution events, sufficient cash runway, no remaining shelf capacity), followed by linear scoring on the survivors.
Concrete inputs to consider
For each input, candidate sources:
| Input | Source | Notes |
|---|---|---|
| Recent offering events | Dilution Events feed | Last 30/90/180 days |
| Remaining shelf capacity | S-3 minus cumulative takedowns | By securities type |
| Active ATM capacity | ATM facility minus utilization | From 10-Q disclosures |
| Outstanding warrants | From 10-K, 10-Q | Strike, expiration, count |
| Cash runway | Cash divided by quarterly burn | Trailing four-quarter average |
| Float | Shares outstanding minus insiders/restricted | Point-in-time |
| Borrow fee | Broker locate or third-party feed | Annualized basis |
| Days-to-cover | Short interest divided by ADV | See days-to-cover |
What to rank
A useful screener output is not just "highest dilution risk." A better-designed screen produces several ranked lists:
- Recent dilution events — companies that just issued and may show drift.
- Pre-dilution candidates — companies with cash runway issues and active shelves, likely to issue soon.
- Structural overhang — companies with significant outstanding warrants or convertibles representing future supply.
- Toxic-financing flags — names with structured convertibles or ELOC activity — see toxic and death-spiral financing.
What to exclude
Filters that improve precision:
- Market cap floor. Names below $25M market cap have execution issues that overwhelm the signal for most strategies.
- Liquidity floor. ADV below $1M produces unreliable backtests and unworkable position sizes.
- Borrow-cost ceiling. Names with borrow costs above 50% annualized typically have negative borrow-cost-adjusted returns regardless of dilution signal.
- Recent merger or going-private activity. Names with pending M&A respond to different drivers.
- Reverse-merger and shell-company structures. Often hard to model with standard data.
Backtesting the screener
Before deploying, backtest:
- Reconstruct the screener output on a point-in-time basis for each historical date in the test period. This requires that every input be available as it was known on each historical date — not as later revised. See what is point-in-time data.
- Compute forward returns over the target horizon (e.g., 30/60/90 days) for each ranked candidate.
- Use abnormal returns against a matched benchmark.
- Apply borrow-cost adjustments for short-side analysis.
- Beware survivorship bias and look-ahead bias.
Maintenance
A screener is not a one-time build. Sources drift, filings templates change, edge cases accumulate. Plan for ongoing maintenance:
- Quarterly review of screener output against subsequent realized returns to confirm signal persistence.
- Manual review of any name appearing in the top decile but not behaving as expected — diagnostic value.
- Adjustments to weights or thresholds as the universe shifts (e.g., changes in baseline borrow rates).
Where Alphanume fits
Alphanume's Dilution Events dataset provides the structured event feed and capacity-overhang fields that drive the most signal-heavy inputs in a dilution screener. Combined with point-in-time market-cap and float data, the screener pipeline becomes a query rather than an engineering project.
Related: how to find stocks to short sell using data; market-data sources for systematic short-selling research.