STRASMORE/EXPLORE 3,094 QUERIES

dst_switch_trace

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-05, from us-stock-market-hours-moscow-time.

as of series 20×5read in context →
dst_switch_trace — 20 rows by 5 columns, computed from US exchange, SIP and OPRA data.
session_datemsk_openmsk_closemsk_open_decimalmsk_close_decimal
2026-02-2317:3000:0017.524
2026-02-2417:3000:0017.524
2026-02-2517:3000:0017.524
2026-02-2617:3000:0017.524
2026-02-2717:3000:0017.524
2026-03-0217:3000:0017.524
2026-03-0317:3000:0017.524
2026-03-0417:3000:0017.524
2026-03-0517:3000:0017.524
2026-03-0617:3000:0017.524
2026-03-0916:3023:0016.523
2026-03-1016:3023:0016.523
2026-03-1116:3023:0016.523
2026-03-1216:3023:0016.523
2026-03-1316:3023:0016.523
2026-03-1616:3023:0016.523
2026-03-1716:3023:0016.523
2026-03-1816:3023:0016.523
2026-03-1916:3023:0016.523
2026-03-2016:3023:0016.523
Rows × columns
20 × 5
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 dst_switch_trace, derived from the stored result.
ColumnTypeRangeNotes
session_date date 2026-02-23 to 2026-03-20
msk_open text 2 distinct values (16:30, 17:30)
msk_close text 2 distinct values (00:00, 23:00)
msk_open_decimal number 16.5 to 17.5 US dollars
msk_close_decimal number 23 to 24 US dollars

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.

WITH
    sessions AS
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS sess,
            min(window_start)                                    AS first_bar
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime('2026-02-23 00:00:00')
          AND window_start <  toDateTime('2026-03-21 00:00:00')
          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 sess
    )
SELECT
    toString(sess)                                                                            AS session_date,
    formatDateTime(toTimeZone(first_bar, 'Europe/Moscow'), '%H:%i')                           AS msk_open,
    formatDateTime(toTimeZone(first_bar + toIntervalMinute(390), 'Europe/Moscow'), '%H:%i')   AS msk_close,
    round(toHour(toTimeZone(first_bar, 'Europe/Moscow'))
          + toMinute(toTimeZone(first_bar, 'Europe/Moscow')) / 60, 2)                         AS msk_open_decimal,
    round(toHour(toTimeZone(first_bar, 'Europe/Moscow'))
          + toMinute(toTimeZone(first_bar, 'Europe/Moscow')) / 60 + 6.5, 2)                   AS msk_close_decimal
FROM sessions
ORDER BY sess
⌘/Ctrl + Enter

Работайте с этими данными в своём ИИ-ассистенте

Открывается готовым к запросам, с данными этой страницы. Бесплатно, без аккаунта.