STRASMORE/EXPLORE 2,595 QUERIES

form4_exercise_months

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-09-25, from the-100k-rule-for-stock-options.

as of series 24×3read in context →
form4_exercise_months — 24 rows by 3 columns, computed from US exchange, SIP and OPRA data.
monthexercise_lines_thousandsissuer_count
2024-0915.3590
2024-1011486
2024-1124813
2024-1220.1675
2025-0123684
2025-0241.2864
2025-0336.6819
2025-0414.4501
2025-0524.9737
2025-0620.6647
2025-0712496
2025-0818.2656
2025-0916.6599
2025-1013.1476
2025-1118.1646
2025-1222.1737
2026-0121.2686
2026-0240.9896
2026-0342867
2026-0418.2601
2026-0526.8818
2026-0621.9759
2026-074.4548
2026-085.9705
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 form4_exercise_months, derived from the stored result.
ColumnTypeRangeNotes
month text 24 distinct values (2024-09, 2024-10, 2024-11…)
exercise_lines_thousands number 4.4 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-100k-rule-for-stock-options
msft_grant_years ranking 11×3 → cap_by_price ranking 6×4 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → 3m10y and 2s10s spreads, monthly averages over twenty years series 241×4 → 2s10s spread, monthly average: last 20 years series 240×2 → See all 2,595 queries →