{"slug":"asx-options-expiry-and-settlement","qid":"expiry_morning_trace","label":"expiry_morning_trace","post_title":"asx-options-expiry-and-settlement","post_url":"/blog/asx-options-expiry-and-settlement#q-expiry_morning_trace","columns":["et_time","distance_from_open_bps"],"rows":[{"et_time":"09:30","distance_from_open_bps":10.5},{"et_time":"09:31","distance_from_open_bps":13.9},{"et_time":"09:32","distance_from_open_bps":21.4},{"et_time":"09:33","distance_from_open_bps":31.1},{"et_time":"09:34","distance_from_open_bps":21.8},{"et_time":"09:35","distance_from_open_bps":28.8},{"et_time":"09:36","distance_from_open_bps":29.5},{"et_time":"09:37","distance_from_open_bps":34.8},{"et_time":"09:38","distance_from_open_bps":35.7},{"et_time":"09:39","distance_from_open_bps":35.5},{"et_time":"09:40","distance_from_open_bps":23.3},{"et_time":"09:41","distance_from_open_bps":28.2},{"et_time":"09:42","distance_from_open_bps":35.4},{"et_time":"09:43","distance_from_open_bps":37.2},{"et_time":"09:44","distance_from_open_bps":42.2},{"et_time":"09:45","distance_from_open_bps":46.5},{"et_time":"09:46","distance_from_open_bps":50.1},{"et_time":"09:47","distance_from_open_bps":42.9},{"et_time":"09:48","distance_from_open_bps":33.8},{"et_time":"09:49","distance_from_open_bps":28.8},{"et_time":"09:50","distance_from_open_bps":31.3},{"et_time":"09:51","distance_from_open_bps":37.9},{"et_time":"09:52","distance_from_open_bps":27.9},{"et_time":"09:53","distance_from_open_bps":25.3},{"et_time":"09:54","distance_from_open_bps":18.3},{"et_time":"09:55","distance_from_open_bps":13.6},{"et_time":"09:56","distance_from_open_bps":15.8},{"et_time":"09:57","distance_from_open_bps":26},{"et_time":"09:58","distance_from_open_bps":35.1},{"et_time":"09:59","distance_from_open_bps":35.3},{"et_time":"10:00","distance_from_open_bps":33.6},{"et_time":"10:01","distance_from_open_bps":29.8},{"et_time":"10:02","distance_from_open_bps":24.3},{"et_time":"10:03","distance_from_open_bps":32.4},{"et_time":"10:04","distance_from_open_bps":32.2},{"et_time":"10:05","distance_from_open_bps":30.3},{"et_time":"10:06","distance_from_open_bps":32.2},{"et_time":"10:07","distance_from_open_bps":30.6},{"et_time":"10:08","distance_from_open_bps":25.1},{"et_time":"10:09","distance_from_open_bps":28.3},{"et_time":"10:10","distance_from_open_bps":20.9},{"et_time":"10:11","distance_from_open_bps":23.6},{"et_time":"10:12","distance_from_open_bps":17},{"et_time":"10:13","distance_from_open_bps":14.6},{"et_time":"10:14","distance_from_open_bps":9},{"et_time":"10:15","distance_from_open_bps":6.5},{"et_time":"10:16","distance_from_open_bps":2.8},{"et_time":"10:17","distance_from_open_bps":1.2},{"et_time":"10:18","distance_from_open_bps":3.5},{"et_time":"10:19","distance_from_open_bps":2.7},{"et_time":"10:20","distance_from_open_bps":6.8},{"et_time":"10:21","distance_from_open_bps":7.3},{"et_time":"10:22","distance_from_open_bps":6.9},{"et_time":"10:23","distance_from_open_bps":7.5},{"et_time":"10:24","distance_from_open_bps":1.3},{"et_time":"10:25","distance_from_open_bps":1.8},{"et_time":"10:26","distance_from_open_bps":5.5},{"et_time":"10:27","distance_from_open_bps":7.8},{"et_time":"10:28","distance_from_open_bps":5},{"et_time":"10:29","distance_from_open_bps":8.9},{"et_time":"10:30","distance_from_open_bps":3.9}],"shape":"series","sql":"WITH\n(\n    SELECT argMin(toFloat64(open), window_start)\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2026-05-15')\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n) AS opening_print\nSELECT\n    formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_time,\n    round(abs(toFloat64(close) / opening_print - 1) * 10000, 1)           AS distance_from_open_bps\nFROM global_markets.delayed_stocks_minute_aggs\nWHERE ticker = 'SPY'\n  AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2026-05-15')\n  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n       + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 630\nORDER BY et_time","computed_at":"2026-09-30T15:30:23.025330+00:00","elapsed":0.005028923}