{"slug":"broker-exercise-cutoff-times","qid":"strike_crossings","label":"Monthly expirations where the post close print crossed a whole dollar","post_title":"Broker Exercise Cut-Off Times Explained","post_url":"/blog/broker-exercise-cutoff-times#q-strike_crossings","columns":["ticker","expirations_measured","dollar_line_crossings"],"rows":[{"ticker":"SPY","expirations_measured":21,"dollar_line_crossings":11},{"ticker":"AAPL","expirations_measured":21,"dollar_line_crossings":10},{"ticker":"MSFT","expirations_measured":21,"dollar_line_crossings":9},{"ticker":"TSLA","expirations_measured":21,"dollar_line_crossings":8},{"ticker":"NVDA","expirations_measured":21,"dollar_line_crossings":5},{"ticker":"KO","expirations_measured":21,"dollar_line_crossings":1}],"shape":"ranking","sql":"SELECT\n    ticker,\n    count()                                      AS expirations_measured,\n    countIf(floor(close_px) != floor(post_px))   AS dollar_line_crossings\nFROM\n(\n    SELECT\n        ticker,\n        session_date,\n        argMaxIf(px, ts, et_minute >= 570 AND et_minute < 960)  AS close_px,\n        argMaxIf(px, ts, et_minute >= 960 AND et_minute < 1050) AS post_px\n    FROM\n    (\n        SELECT\n            ticker,\n            toDate(toTimeZone(window_start, 'America/New_York'))       AS session_date,\n            toHour(toTimeZone(window_start, 'America/New_York')) * 60\n              + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute,\n            toFloat64(close)                                           AS px,\n            window_start                                               AS ts\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'SPY', 'TSLA')\n          AND window_start >= today() - 730\n          AND toDayOfWeek(toDate(toTimeZone(window_start, 'America/New_York'))) = 5\n          AND toDayOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) BETWEEN 15 AND 21\n    )\n    GROUP BY ticker, session_date\n    HAVING countIf(et_minute >= 960 AND et_minute < 1050) > 0\n       AND countIf(et_minute >= 570 AND et_minute < 960) > 0\n)\nGROUP BY ticker\nORDER BY dollar_line_crossings DESC, ticker","computed_at":"2026-08-22T04:03:41.341961+00:00","elapsed":0.320565513}