{"slug":"us-options-expiration-dates-beijing-time","qid":"last_bar_receipt","label":"last_bar_receipt","post_title":"us-options-expiration-dates-beijing-time","post_url":"/blog/lang/zh-hans/us-options-expiration-dates-beijing-time#q-last_bar_receipt","columns":["session_date","session_label","weekday","last_regular_bar_et","last_regular_bar_beijing","utc8_close_clock","regular_bar_count"],"rows":[{"session_date":"2026-01-16","session_label":"1 月 16 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"01-17 04:59","utc8_close_clock":5,"regular_bar_count":390},{"session_date":"2026-02-20","session_label":"2 月 20 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"02-21 04:59","utc8_close_clock":5,"regular_bar_count":390},{"session_date":"2026-03-20","session_label":"3 月 20 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"03-21 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-04-17","session_label":"4 月 17 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"04-18 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-05-15","session_label":"5 月 15 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"05-16 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-06-18","session_label":"6 月 18 日","weekday":"周四","last_regular_bar_et":"15:59","last_regular_bar_beijing":"06-19 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-07-17","session_label":"7 月 17 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"07-18 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-08-21","session_label":"8 月 21 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"08-22 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-09-18","session_label":"9 月 18 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"09-19 03:59","utc8_close_clock":4,"regular_bar_count":390},{"session_date":"2026-10-16","session_label":"10 月 16 日","weekday":"周五","last_regular_bar_et":"15:59","last_regular_bar_beijing":"10-17 03:59","utc8_close_clock":4,"regular_bar_count":390}],"shape":"series","sql":"SELECT\n    toString(session_day)                                                   AS session_date,\n    concat(toString(toMonth(session_day)), ' 月 ', toString(toDayOfMonth(session_day)), ' 日') AS session_label,\n    transform(toDayOfWeek(session_day), [4, 5], ['周四', '周五'], '其他')     AS weekday,\n    formatDateTime(last_bar, '%H:%i', 'America/New_York')                   AS last_regular_bar_et,\n    formatDateTime(last_bar, '%m-%d %H:%i', 'Asia/Shanghai')                AS last_regular_bar_beijing,\n    toHour(toTimeZone(last_bar, 'Asia/Shanghai')) + 1                       AS utc8_close_clock,\n    bar_count                                                               AS regular_bar_count\nFROM\n(\n    SELECT\n        cal.third_friday                 AS third_friday,\n        max(t.d)                         AS session_day,\n        argMax(t.last_bar, t.d)          AS last_bar,\n        argMax(t.bars, t.d)              AS bar_count\n    FROM\n    (\n        SELECT addDays(month_start, ((5 - toDayOfWeek(month_start) + 7) % 7) + 14) AS third_friday\n        FROM (SELECT addMonths(toDate('2026-01-01'), arrayJoin(range(12))) AS month_start)\n    ) AS cal\n    CROSS JOIN\n    (\n        SELECT\n            toDate(toTimeZone(window_start, 'America/New_York')) AS d,\n            max(window_start)                                    AS last_bar,\n            count()                                              AS bars\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'SPY'\n          AND window_start >= toDate('2026-01-01')\n          AND window_start <  today() - 3\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 d\n    ) AS t\n    WHERE t.d = cal.third_friday OR t.d = cal.third_friday - 1\n    GROUP BY cal.third_friday\n)\nORDER BY third_friday","computed_at":"2026-10-24T21:27:27.518776+00:00","elapsed":0.364658681}