STRASMORE/EXPLORE 2,549 QUERIES

dst_months

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

as of series 15×4read in context →
dst_months — 15 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelnights_open_2030_ictnights_open_2130_ict
2025-07-01ก.ค. 202590
2025-08-01ส.ค. 2025210
2025-09-01ก.ย. 2025210
2025-10-01ต.ค. 2025230
2025-11-01พ.ย. 2025019
2025-12-01ธ.ค. 2025022
2026-01-01ม.ค. 2026020
2026-02-01ก.พ. 2026019
2026-03-01มี.ค. 2026175
2026-04-01เม.ย. 2026210
2026-05-01พ.ค. 2026200
2026-06-01มิ.ย. 2026210
2026-07-01ก.ค. 2026220
2026-08-01ส.ค. 2026210
2026-09-01ก.ย. 2026140
Rows × columns
15 × 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 dst_months, derived from the stored result.
ColumnTypeRangeNotes
month date 2025-07-01 to 2026-09-01
month_label text 15 distinct values (ก.ค. 2025, ก.ค. 2026, ก.พ. 2026…)
nights_open_2030_ict number 0 to 23 US dollars
nights_open_2130_ict number 0 to 22 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
        toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))   AS month_start,
        toDate(toTimeZone(window_start, 'America/New_York'))                   AS session_date,
        formatDateTime(toTimeZone(min(window_start), 'Asia/Bangkok'), '%H:%i') AS ict_open
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 430
      AND window_start <  today() - 2
      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 month_start, session_date
)
SELECT
    toString(month_start)                    AS month,
    concat(arrayElement(['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.',
                         'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],
                        toMonth(month_start)), ' ', toString(toYear(month_start))) AS month_label,
    countIf(ict_open = '20:30')              AS nights_open_2030_ict,
    countIf(ict_open = '21:30')              AS nights_open_2130_ict
FROM sessions
GROUP BY month_start
ORDER BY month_start
⌘/Ctrl + Enter

Work with this data in your AI assistant

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