Insights
Data for Building a Stock-Dilution Risk Screener
Alphanume Team · July 23, 2026
Build a stock-dilution risk screener from registration lifecycle, size at filing, filing activity, and attention, while keeping possible supply separate from issuance and price outcomes.
A stock-dilution risk screener should identify newly registered potential supply and its lifecycle, not predict that shares will immediately be issued or the stock will fall. Alphanume's Stock Dilution dataset tracks S-1 registration events with filing timestamp, dilutive and resale labels, registered shares, point-in-time market cap, effectiveness, withdrawal, accession number, and SEC source link.
The Stock Dilution guide explains the dataset workflow. Registration, effectiveness, withdrawal, actual issuance, and realized return are separate events. The screener can prioritize filings for research, but it is not a short signal and does not establish that authorized shares entered the market.
Start with the registration lifecycle
Each source row represents an S-1 registration as known on its filing date, then receives lifecycle updates when it becomes effective or is withdrawn. Use the filing timestamp as the public event clock and accession number as the filing identifier. Preserve the last-updated value because lifecycle fields can change later.
Feature block | Fields | Interpretation |
|---|---|---|
Registration | date, filing_timestamp, accession_number | Potential supply disclosed |
Structure | dilutive, resale, shares_offered | Nature and scale of registered shares |
Issuer size | market_cap_at_filing | Point-in-time size context |
Lifecycle | became_effective, offering_withdrawn | Later filing status |
Evidence | filing_url, last_updated | Audit source and refresh state |
A resale registration differs from a primary capital raise, and effectiveness differs from issuance. Construct separate feature flags rather than one dilution score that erases those stages. Null or indeterminate values should remain explicit.
Add activity and attention as context
Join daily SEC filing intensity around the registration to measure whether the issuer was in a broader filing burst. Join historical market cap at or before the filing rather than today's size. Wikipedia attention can add a separate public-interest measure. Each input should retain its observation date and availability rule.
GET /v1/dilution
date_gte=2025-01-01
date_lte=2025-12-31
for each registration:
event_time = filing_timestamp
size = market_cap_at_filing
filing_activity = filing_count on event date
attention = lagged Wikipedia z-score available before decision
retain dilutive, resale, shares_offered,
became_effective, effective_date,
offering_withdrawn, withdrawal_date,
accession_number, filing_url, last_updatedDo not let later effectiveness or withdrawal fields leak into the initial screen. Freeze the feature vector at the registration timestamp, then analyze lifecycle outcomes separately. If the current API response has since been enriched, a strict point-in-time reconstruction requires archived responses or source filing chronology.
Define a transparent priority score
A practical score can rank primary dilutive registrations more highly, scale registered shares relative to shares outstanding or market cap when supported, and add lagged filing-activity or attention features. Publish each component and cap extreme ratios. The goal is a review queue, not a probability of price decline.
- Keep primary and resale registrations separate.
- Use market cap measured at filing, not current market cap.
- Lag filing and attention features to their actual availability.
- Track effectiveness and withdrawal as later outcomes.
Shares registered can be large relative to issuer size, yet registration may never become effective or may not be fully issued. Corporate actions can also alter share counts. Any capacity ratio needs documented denominators and a policy for missing or split-adjusted values.
Attention and filing activity should enter as separate dimensions, not evidence that dilution is imminent. A Wikipedia z-score can reflect news unrelated to financing, while a filing cluster can consist of routine ownership forms. Lag both measures to their known availability, standardize them under a declared window, and show their raw values. This makes it possible to tell whether a high composite score came from supply capacity, small issuer size, administrative activity, or public attention.
A lifecycle table should retain registrations that never receive an observed effectiveness or withdrawal update. Those rows are open or unresolved at the research cutoff, not failed offerings and not confirmed issuance. For duration analysis, right-censor them at the frozen cutoff. Polling refreshed data can answer current status, while archived snapshots are needed to reconstruct what the screener knew earlier.
Avoid the filing-equals-dilution shortcut
The central failure mode is labeling the registration itself as realized dilution. A filing creates possible supply. Effectiveness permits a later step. Actual sales require separate evidence, and realized price movement has many causes. Report these as distinct stages and never backfill the initial signal with a later outcome.
Another failure is training on only surviving tickers with clean prices. Keep delistings, symbol changes, halts, and unavailable outcomes in the denominator. A screener that silently drops failed securities can understate the very tail risk it intends to study.
Build a twenty-filing audit queue
As a concrete next action, retrieve a completed quarter, rank primary dilutive filings with point-in-time size, and add lagged filing-activity plus attention columns. Export the top twenty with every score component, filing timestamp, accession, and source URL. Review each filing, then track effectiveness, withdrawal, separately evidenced issuance, and returns as distinct outcome columns. That audit reveals whether the score prioritizes useful cases without promising a short signal.