STRASMORE/EXPLORE 2,170 QUERIES

Form 4 filings containing a sale: with an exercise on the same document, or without

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-08-08, from How to Read a Form 4 Insider Trading Filing.

as of series 12×4read in context →
Form 4 filings containing a sale: with an exercise on the same document, or without — 12 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthexercise_and_sale_countsale_only_countpaired_share_pct
2025-08-01806291321.7
2025-09-01678245721.6
2025-10-01554164625.2
2025-11-01725247322.7
2025-12-01787272922.4
2026-01-01548171024.3
2026-02-01897274024.7
2026-03-01897326521.6
2026-04-01600190024
2026-05-01851318221.1
2026-06-01860325020.9
2026-07-01603179425.2
Rows × columns
12 × 4
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Form 4 filings containing a sale: with an exercise on the same document, or without, derived from the stored result.
ColumnTypeRangeNotes
month date 2025-08-01 to 2026-07-01
exercise_and_sale_count number 548 to 897 count
sale_only_count number 1,646 to 3,265 count
paired_share_pct number 20.9 to 25.2 percent

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

the exact SQL behind every number
SELECT
    toString(toStartOfMonth(filed_on))                                    AS month,
    countIf(has_m > 0 AND has_s > 0)                                      AS exercise_and_sale_count,
    countIf(has_m = 0 AND has_s > 0)                                      AS sale_only_count,
    round(100 * countIf(has_m > 0 AND has_s > 0) / countIf(has_s > 0), 1) AS paired_share_pct
FROM
(
    SELECT
        accession_number,
        min(filing_date)            AS filed_on,
        max(transaction_code = 'M') AS has_m,
        max(transaction_code = 'S') AS has_s
    FROM global_markets.stocks_form4
    WHERE filing_date >= toDate('2025-08-01')
      AND filing_date <  toDate('2026-08-01')
      AND form_type = '4'
    GROUP BY accession_number
)
GROUP BY month
HAVING countIf(has_s > 0) > 0
ORDER BY month

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisHow to Read a Form 4 Insider Trading Filing
Original Form 4 documents and Form 4/A amendments, by filing month series 12×4 Share of reported Form 4 lines by transaction code, Aug 2025 to Jul 2026 ranking 7×3 Calendar days from transaction date to Form 4 filing date ranking 6×3 Share of Form 4 lines booked as indirect ownership, by transaction code ranking 6×3 Total EDGAR filings and the Form 4 share, by quarter (last 12 full quarters) table 12×6 The most common SEC form types: share of all EDGAR filings, trailing 12 months ranking 12×2 See all 2,170 queries →