{"slug":"options-expiration-day-clock-beijing-time","qid":"dst_clock","label":"dst_clock","post_title":"options-expiration-day-clock-beijing-time","post_url":"/blog/lang/zh-hans/options-expiration-day-clock-beijing-time#q-dst_clock","columns":["month","beijing_close_hour","sample_size"],"rows":[{"month":"2025-09","beijing_close_hour":4,"sample_size":21},{"month":"2025-10","beijing_close_hour":4,"sample_size":23},{"month":"2025-11","beijing_close_hour":5,"sample_size":18},{"month":"2025-12","beijing_close_hour":5,"sample_size":21},{"month":"2026-01","beijing_close_hour":5,"sample_size":20},{"month":"2026-02","beijing_close_hour":5,"sample_size":19},{"month":"2026-03","beijing_close_hour":4.23,"sample_size":22},{"month":"2026-04","beijing_close_hour":4,"sample_size":21},{"month":"2026-05","beijing_close_hour":4,"sample_size":20},{"month":"2026-06","beijing_close_hour":4,"sample_size":21},{"month":"2026-07","beijing_close_hour":4,"sample_size":22},{"month":"2026-08","beijing_close_hour":4,"sample_size":21}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfMonth(session_day), '%Y-%m') AS month,\n    round(avg(close_hour_bj), 2)                         AS beijing_close_hour,\n    count()                                              AS sample_size\nFROM\n(\n    SELECT\n        toDate(toTimeZone(window_start, 'America/New_York'))                         AS session_day,\n        toHour(toTimeZone(max(window_start) + toIntervalMinute(1), 'Asia/Shanghai')) AS close_hour_bj,\n        max(toHour(toTimeZone(window_start, 'America/New_York')) * 60\n            + toMinute(toTimeZone(window_start, 'America/New_York')))                AS last_minute\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= '2025-09-01 00:00:00'\n      AND window_start <  '2026-09-01 00:00:00'\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960\n    GROUP BY session_day\n    HAVING last_minute >= 955\n)\nGROUP BY month\nORDER BY month","computed_at":"2026-09-28T15:47:38.129753+00:00","elapsed":0.022039941}