{"slug":"how-to-read-a-form-4","qid":"exercise_then_sale","label":"Form 4 filings containing a sale: with an exercise on the same document, or without","post_title":"How to Read a Form 4 Insider Trading Filing","post_url":"/blog/how-to-read-a-form-4#q-exercise_then_sale","columns":["month","exercise_and_sale_count","sale_only_count","paired_share_pct"],"rows":[{"month":"2025-08-01","exercise_and_sale_count":806,"sale_only_count":2913,"paired_share_pct":21.7},{"month":"2025-09-01","exercise_and_sale_count":678,"sale_only_count":2457,"paired_share_pct":21.6},{"month":"2025-10-01","exercise_and_sale_count":554,"sale_only_count":1646,"paired_share_pct":25.2},{"month":"2025-11-01","exercise_and_sale_count":725,"sale_only_count":2473,"paired_share_pct":22.7},{"month":"2025-12-01","exercise_and_sale_count":787,"sale_only_count":2729,"paired_share_pct":22.4},{"month":"2026-01-01","exercise_and_sale_count":548,"sale_only_count":1710,"paired_share_pct":24.3},{"month":"2026-02-01","exercise_and_sale_count":897,"sale_only_count":2740,"paired_share_pct":24.7},{"month":"2026-03-01","exercise_and_sale_count":897,"sale_only_count":3265,"paired_share_pct":21.6},{"month":"2026-04-01","exercise_and_sale_count":600,"sale_only_count":1900,"paired_share_pct":24},{"month":"2026-05-01","exercise_and_sale_count":851,"sale_only_count":3182,"paired_share_pct":21.1},{"month":"2026-06-01","exercise_and_sale_count":860,"sale_only_count":3250,"paired_share_pct":20.9},{"month":"2026-07-01","exercise_and_sale_count":603,"sale_only_count":1794,"paired_share_pct":25.2}],"shape":"series","sql":"SELECT\n    toString(toStartOfMonth(filed_on))                                    AS month,\n    countIf(has_m > 0 AND has_s > 0)                                      AS exercise_and_sale_count,\n    countIf(has_m = 0 AND has_s > 0)                                      AS sale_only_count,\n    round(100 * countIf(has_m > 0 AND has_s > 0) / countIf(has_s > 0), 1) AS paired_share_pct\nFROM\n(\n    SELECT\n        accession_number,\n        min(filing_date)            AS filed_on,\n        max(transaction_code = 'M') AS has_m,\n        max(transaction_code = 'S') AS has_s\n    FROM global_markets.stocks_form4\n    WHERE filing_date >= toDate('2025-08-01')\n      AND filing_date <  toDate('2026-08-01')\n      AND form_type = '4'\n    GROUP BY accession_number\n)\nGROUP BY month\nHAVING countIf(has_s > 0) > 0\nORDER BY month","computed_at":"2026-08-08T15:31:35.871837+00:00","elapsed":0.010484082}