STRASMORE/EXPLORE 3,293 QUERIES
Full options quote history: clean NBBO bid/ask snapshots for any US option contract at the interval you choose, by SQL API, $79 a month. See the options quotes plan

Form 4 lines coded M (derivative exercise), by month

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-11-07, from The $100,000 Rule for Stock Options (ISOs).

as of series 24×3read in context →
Form 4 lines coded M (derivative exercise), by month — 24 rows by 3 columns, computed from US exchange, SIP and OPRA data.
monthexercise_lines_thousandsissuer_count
2024-1124813
2024-1220.1675
2025-0123684
2025-0241.2864
2025-0336.6819
2025-0414.4501
2025-0524.9738
2025-0620.6647
2025-0712496
2025-0818.2656
2025-0916.6599
2025-1013.2476
2025-1118.1647
2025-1222.1737
2026-0121.2687
2026-0240.9896
2026-0342868
2026-0418.2602
2026-0526.8819
2026-0622762
2026-074.5552
2026-086709
2026-095.2584
2026-103.8497
Rows × columns
24 × 3
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 lines coded M (derivative exercise), by month, derived from the stored result.
ColumnTypeRangeNotes
month text 24 distinct values (2024-11, 2024-12, 2025-01…)
exercise_lines_thousands number 3.8 to 42
issuer_count number 476 to 896 count

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.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    formatDateTime(toStartOfMonth(toDate(transaction_date)), '%Y-%m') AS month,
    round(count() / 1000, 1)                                          AS exercise_lines_thousands,
    countDistinct(issuer_cik)                                         AS issuer_count
FROM global_markets.stocks_form4
WHERE transaction_code = 'M'
  AND toDate(transaction_date) >= toStartOfMonth(today() - 730)
  AND toDate(transaction_date) <  toStartOfMonth(today())
GROUP BY month
ORDER BY month
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisThe $100,000 Rule for Stock Options (ISOs)
What $100,000 of grant-date value covered, by grant year (MSFT) ranking 11×3 → Shares that $100,000 of grant-date value covers, by share price ranking 6×4 → Share of reported AAPL volume marked short, by session series 65×3 → One full 61 day wash sale window on the tape: AAPL, Dec 1 2025 through Jan 30 2026 series 42×3 → Final trading days by month, rolling three years series 32×3 → How many trading sessions fit inside a 61 day wash sale window series 30×4 → See all 3,293 queries →