Alphanume

Insights

SEC Filing-Activity Data for Quantitative Research

Alphanume Team · August 7, 2026

Use daily SEC filing counts as an activity feature, then inspect the underlying filings before assigning materiality, direction, or an economic narrative.

SEC filing-activity data can measure how intensely a public company interacted with EDGAR on a given day. Alphanume's SEC Filing Intensity dataset provides one row per ticker and observation date with the company name and filing count. It supports ticker, date, date-range, and filing-count filters, making it suitable for cross-sectional screens and time-series features.

The Filing Intensity documentation defines the count filters, pagination, ordering, and update schedule. A filing burst measures activity. It does not say whether the underlying filings are bullish, bearish, material, routine, duplicative, or related to one economic event.

Define the feature before screening

The raw feature is filing_count, the number of SEC submissions associated with a ticker on the observation date. Counts are non-negative integers. A threshold such as five can identify active days, but that threshold is a research choice rather than a standardized anomaly score. Estimate an issuer-specific or universe-level baseline if the goal is unusual activity.

Feature

Construction

Interpretation limit

daily_count

Served filing_count

Activity only

rolling_mean

Prior observations for one ticker

Sensitive to issuer reporting cadence

count_ratio

Daily count divided by prior mean

Unstable when baseline is near zero

cross_section_rank

Rank counts on the same date

Large issuers may file more routinely

Choose the baseline window and minimum history before looking at returns. A rolling measure should use only observations available before the signal date. If zero-count days are represented in the dataset, preserve them in baselines rather than calculating only over days with activity.

Retrieve a daily panel reproducibly

Use a ticker query for an issuer history or omit ticker for a market-wide date slice. Exact filing-count matching cannot be combined with range filters. For broader pulls, results are ordered by date descending and ticker ascending. Pagination requires both the date and ticker cursor values.

GET /v1/filing-intensity
date_gte=2025-01-01
date_lte=2025-12-31

for each page:
  keep ticker, name, date, filing_count
  if has_more:
    pass cursor_date=next_cursor.date
    pass cursor_ticker=next_cursor.ticker

signal[ticker, date] = filing_count >= prespecified_threshold

The dataset refreshes nightly after the trading day, with filings after the cutoff appearing in the following update. A next-session strategy should encode when the refreshed value became available. Do not assign the completed daily count to an earlier intraday timestamp.

Keep counts separate from filing content

A company can generate several filings for routine insider reports, fund ownership updates, exhibits, amendments, or related submissions. Another company may make one highly consequential 8-K. The daily count cannot rank the materiality of those two situations. Use the activity measure as a trigger to retrieve and classify the underlying documents when the economic content matters.

  • Treat the count as an attention feature rather than a directional signal.
  • Separate same-day counts from rolling changes and standardized versions.
  • Record the data availability cutoff used for each simulated decision.
  • Inspect form types and source filings for a sample of high-count days.

A robust study can compare raw counts, changes from the issuer's prior baseline, and same-day cross-sectional ranks. Publish all feature definitions. If only the strongest specification is reported after trying many thresholds and windows, the result will reflect selection as much as filing behavior.

Standardization needs a denominator rule. For a rolling z-style feature, require a minimum number of prior observations and specify how zero variance is handled. For a percentile feature, define the eligible daily universe before ranking. Small issuers, funds, and firms with recurring ownership filings can have structurally different count patterns. A pooled threshold may therefore select issuer type as much as unusual activity.

Use a simple feature registry in the research output. Store the raw count, baseline window, lag convention, threshold, and first tradable session as explicit columns. That registry keeps the source measurement separate from later model transformations and makes alternative definitions comparable without rebuilding the pull.

Control common timing and sampling failures

The central failure mode is calling a filing burst material without reading any filings. Another is claiming it preceded an event when the daily aggregate was only available after the market close. Map the refresh cutoff to the next eligible trade time and flag coincident earnings or corporate actions that may explain both the filings and the return.

Ticker histories can also be affected by symbol changes and corporate actions. Use a dated identifier map for long samples. Report missing observations and do not interpret absence from a pull as a zero unless the data contract explicitly supplies a zero row for that ticker and date.

Build one auditable intensity feature

As a concrete next action, retrieve one completed market-wide date and one full ticker history. Verify the four served fields, descending-date and ascending-ticker ordering, exact-count filter behavior, and every pagination boundary. Export raw rows plus request parameters, cursor values, response counts, and the first eligible trade session. That contract audit establishes a clean source panel before any z-score, form classification, or return model is added.