STRASMORE/EXPLORE 2,648 QUERIES

intraday_path

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-26, from when-do-index-funds-trade.

as of series 32×3read in context →
intraday_path — 32 rows by 3 columns, computed from US exchange, SIP and OPRA data.
et_timevoo_change_pctqqq_change_pct
04:00-0.02-0.02
04:30-0.05-0.04
05:00-0.09-0.07
05:300.150.17
06:000.170.24
06:300.280.37
07:000.310.41
07:300.350.45
08:000.370.45
08:300.440.5
09:000.40.45
09:300.320.49
10:000.050.15
10:30-0.1-0.15
11:000.040.02
11:300-0.03
12:000.060
12:300.07-0.01
13:00-0.04-0.1
13:300.02-0.07
14:000.07-0.02
14:300.05-0.11
15:00-0.02-0.16
15:300.03-0.13
16:000.12-0.05
16:300.12-0.02
17:000.13-0.08
17:300.09-0.1
18:000.11-0.08
18:300.16-0.02
19:000.12-0.06
19:300.14-0.04
Rows × columns
32 × 3
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 intraday_path, derived from the stored result.
ColumnTypeRangeNotes
et_time text 32 distinct values (04:00, 04:30, 05:00…)
voo_change_pct number -0.1 to 0.44 percent
qqq_change_pct number -0.16 to 0.5 percent

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
    bars AS
    (
        SELECT
            ticker,
            toTimeZone(window_start, 'America/New_York') AS et,
            toFloat64(close)                             AS px
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('VOO', 'QQQ')
          AND window_start >= toDateTime('2026-09-15 04:00:00')
          AND window_start <  toDateTime('2026-09-16 04:00:00')
    ),
    firsts AS
    (
        SELECT
            ticker,
            argMin(px, et) AS open_px
        FROM bars
        GROUP BY ticker
    )
SELECT
    formatDateTime(toStartOfInterval(b.et, INTERVAL 30 MINUTE), '%H:%i')                                  AS et_time,
    round(100 * (argMaxIf(b.px, b.et, b.ticker = 'VOO') / anyIf(f.open_px, f.ticker = 'VOO') - 1), 2)     AS voo_change_pct,
    round(100 * (argMaxIf(b.px, b.et, b.ticker = 'QQQ') / anyIf(f.open_px, f.ticker = 'QQQ') - 1), 2)     AS qqq_change_pct
FROM bars AS b
INNER JOIN firsts AS f ON f.ticker = b.ticker
GROUP BY et_time
HAVING countIf(b.ticker = 'VOO') > 0
   AND countIf(b.ticker = 'QQQ') > 0
ORDER BY et_time
⌘/Ctrl + Enter

Work with this data in your AI assistant

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

More from this analysiswhen-do-index-funds-trade
daily_range series 31×3 → daily_prints series 16×3 → spread_cost ranking 6×3 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → 3m10y and 2s10s spreads, monthly averages over twenty years series 241×4 → See all 2,648 queries →