STRASMORE/EXPLORE 2,749 QUERIES

spring_flip

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-09-28, from us-daylight-saving-switch-in-beijing-time.

as of series 10×4read in context →
spring_flip — 10 rows by 4 columns, computed from US exchange, SIP and OPRA data.
session_datebeijing_openbeijing_closetime_diff_hours
2026-03-0222:3005:0013
2026-03-0322:3005:0013
2026-03-0422:3005:0013
2026-03-0522:3005:0013
2026-03-0622:3005:0013
2026-03-0921:3004:0012
2026-03-1021:3004:0012
2026-03-1121:3004:0012
2026-03-1221:3004:0012
2026-03-1321:3004:0012
Rows × columns
10 × 4
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for spring_flip, derived from the stored result.
ColumnTypeRangeNotes
session_date date 2026-03-02 to 2026-03-13
beijing_open text 2 distinct values (21:30, 22:30)
beijing_close text 2 distinct values (04:00, 05:00)
time_diff_hours number 12 to 13

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(et_date)                                               AS session_date,
    formatDateTime(toTimeZone(reg_open, 'Asia/Shanghai'), '%H:%i')  AS beijing_open,
    formatDateTime(toTimeZone(reg_close, 'Asia/Shanghai'), '%H:%i') AS beijing_close,
    toHour(toTimeZone(reg_open, 'Asia/Shanghai'))
        - toHour(toTimeZone(reg_open, 'America/New_York'))          AS time_diff_hours
FROM
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York'))      AS et_date,
        minIf(window_start, et_minute >= 570 AND et_minute < 960) AS reg_open,
        addMinutes(maxIf(window_start, et_minute >= 570 AND et_minute < 960), 1) AS reg_close
    FROM
    (
        SELECT
            window_start,
            toHour(toTimeZone(window_start, 'America/New_York')) * 60
                + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime('2026-03-02 06:00:00', 'UTC')
          AND window_start <  toDateTime('2026-03-14 06:00:00', 'UTC')
    )
    GROUP BY et_date
    HAVING countIf(et_minute >= 570 AND et_minute < 960) > 0
)
ORDER BY session_date
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.