STRASMORE/EXPLORE 3,256 QUERIES

session_clock_lagos

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

as of series 14×6read in context →
session_clock_lagos — 14 rows by 6 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelopen_lagosclose_lagosopen_lagos_hoursclose_lagos_hours
2025-09Sep 202514:3021:0014.521
2025-10Oct 202514:3021:0014.521
2025-11Nov 202515:3022:0015.522
2025-12Dec 202515:3022:0015.522
2026-01Jan 202615:3022:0015.522
2026-02Feb 202615:3022:0015.522
2026-03Mar 202614:3021:0014.521
2026-04Apr 202614:3021:0014.521
2026-05May 202614:3021:0014.521
2026-06Jun 202614:3021:0014.521
2026-07Jul 202614:3021:0014.521
2026-08Aug 202614:3021:0014.521
2026-09Sep 202614:3021:0014.521
2026-10Oct 202614:3021:0014.521
Rows × columns
14 × 6
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 session_clock_lagos, derived from the stored result.
ColumnTypeRangeNotes
month text 14 distinct values (2025-09, 2025-10, 2025-11…)
month_label text 14 distinct values (Apr 2026, Aug 2026, Dec 2025…)
open_lagos text 2 distinct values (14:30, 15:30)
close_lagos text 2 distinct values (21:00, 22:00)
open_lagos_hours number 14.5 to 15.5 US dollars
close_lagos_hours number 21 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.

SELECT
    formatDateTime(day, '%Y-%m')      AS month,
    argMax(month_label, day)          AS month_label,
    argMax(open_label, day)           AS open_lagos,
    argMax(close_label, day)          AS close_lagos,
    argMax(open_hours, day)           AS open_lagos_hours,
    argMax(close_hours, day)          AS close_lagos_hours
FROM
(
    SELECT
        day,
        formatDateTime(day, '%b %Y')                                    AS month_label,
        formatDateTime(regular_open, '%H:%i')                           AS open_label,
        formatDateTime(regular_close, '%H:%i')                          AS close_label,
        round(toHour(regular_open) + toMinute(regular_open) / 60, 2)    AS open_hours,
        round(toHour(regular_close) + toMinute(regular_close) / 60, 2)  AS close_hours
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York'))                AS day,
            toTimeZone(min(window_start), 'Africa/Lagos')                       AS regular_open,
            toTimeZone(max(window_start) + toIntervalMinute(1), 'Africa/Lagos') AS regular_close
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 400
          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 day
        HAVING count() >= 380
    )
)
GROUP BY month
ORDER BY month
⌘/Ctrl + Enter

Work with this data in your AI assistant

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