last_bar_receipt
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-10-24, from us-options-expiration-dates-beijing-time.
| session_date | session_label | weekday | last_regular_bar_et | last_regular_bar_beijing | utc8_close_clock | regular_bar_count |
|---|---|---|---|---|---|---|
| 2026-01-16 | 1 月 16 日 | 周五 | 15:59 | 01-17 04:59 | 5 | 390 |
| 2026-02-20 | 2 月 20 日 | 周五 | 15:59 | 02-21 04:59 | 5 | 390 |
| 2026-03-20 | 3 月 20 日 | 周五 | 15:59 | 03-21 03:59 | 4 | 390 |
| 2026-04-17 | 4 月 17 日 | 周五 | 15:59 | 04-18 03:59 | 4 | 390 |
| 2026-05-15 | 5 月 15 日 | 周五 | 15:59 | 05-16 03:59 | 4 | 390 |
| 2026-06-18 | 6 月 18 日 | 周四 | 15:59 | 06-19 03:59 | 4 | 390 |
| 2026-07-17 | 7 月 17 日 | 周五 | 15:59 | 07-18 03:59 | 4 | 390 |
| 2026-08-21 | 8 月 21 日 | 周五 | 15:59 | 08-22 03:59 | 4 | 390 |
| 2026-09-18 | 9 月 18 日 | 周五 | 15:59 | 09-19 03:59 | 4 | 390 |
| 2026-10-16 | 10 月 16 日 | 周五 | 15:59 | 10-17 03:59 | 4 | 390 |
- Rows × columns
- 10 × 7
- Period covered
- to
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
session_date |
date | 2026-01-16 to 2026-10-16 | |
session_label |
text | 10 distinct values (1 月 16 日, 10 月 16 日, 2 月 20 日…) | |
weekday |
text | 2 distinct values (周五, 周四) | |
last_regular_bar_et |
text | 1 distinct value (15:59) | |
last_regular_bar_beijing |
text | 10 distinct values (01-17 04:59, 02-21 04:59, 03-21 03:59…) | |
utc8_close_clock |
number | 4 to 5 | US dollars |
regular_bar_count |
number | every row is 390 | count |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
SELECT
toString(session_day) AS session_date,
concat(toString(toMonth(session_day)), ' 月 ', toString(toDayOfMonth(session_day)), ' 日') AS session_label,
transform(toDayOfWeek(session_day), [4, 5], ['周四', '周五'], '其他') AS weekday,
formatDateTime(last_bar, '%H:%i', 'America/New_York') AS last_regular_bar_et,
formatDateTime(last_bar, '%m-%d %H:%i', 'Asia/Shanghai') AS last_regular_bar_beijing,
toHour(toTimeZone(last_bar, 'Asia/Shanghai')) + 1 AS utc8_close_clock,
bar_count AS regular_bar_count
FROM
(
SELECT
cal.third_friday AS third_friday,
max(t.d) AS session_day,
argMax(t.last_bar, t.d) AS last_bar,
argMax(t.bars, t.d) AS bar_count
FROM
(
SELECT addDays(month_start, ((5 - toDayOfWeek(month_start) + 7) % 7) + 14) AS third_friday
FROM (SELECT addMonths(toDate('2026-01-01'), arrayJoin(range(12))) AS month_start)
) AS cal
CROSS JOIN
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
max(window_start) AS last_bar,
count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDate('2026-01-01')
AND window_start < today() - 3
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
) AS t
WHERE t.d = cal.third_friday OR t.d = cal.third_friday - 1
GROUP BY cal.third_friday
)
ORDER BY third_friday
在你的 AI 助手中使用这些数据
打开即可查询,已带上本页数据。免费,无需账号。