STRASMORE/EXPLORE 3,214 QUERIES

gap_distribution

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-08, from dse-last-trade-price-vs-closing-price.

as of ranking 6×3read in context →
gap_distribution — 6 rows by 3 columns, computed from US exchange, SIP and OPRA data.
gap_bucketticker_sessionsshare_of_sessions_pct
0.0 to 0.5 bps10727.9
0.5 to 2 bps14638
2 to 5 bps9023.4
5 to 10 bps266.8
10 to 25 bps143.6
25 bps and up10.3
Rows × columns
6 × 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 gap_distribution, derived from the stored result.
ColumnTypeRangeNotes
gap_bucket text 6 distinct values
ticker_sessions number 1 to 146
share_of_sessions_pct number 0.3 to 38 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
    last_prints AS
    (
        SELECT
            ticker,
            toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
            argMax(close, window_start)                          AS last_regular_print
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
          AND window_start >= '2026-07-01 00:00:00'
          AND window_start <  '2026-10-01 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 ticker, session_date
    ),
    daily_bars AS
    (
        SELECT
            ticker,
            date       AS session_date,
            any(close) AS daily_bar_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
          AND date >= '2026-07-01'
          AND date <  '2026-10-01'
        GROUP BY ticker, session_date
    ),
    gaps AS
    (
        SELECT
            l.session_date AS session_date,
            abs(toFloat64(d.daily_bar_close) / toFloat64(l.last_regular_print) - 1) * 10000 AS gap_bps
        FROM last_prints AS l
        INNER JOIN daily_bars AS d
            ON l.ticker = d.ticker AND l.session_date = d.session_date
        WHERE toFloat64(l.last_regular_print) > 0
    ),
    totals AS
    (
        SELECT count() AS all_rows
        FROM gaps
    )
SELECT
    multiIf(g.gap_bps < 0.5, '0.0 to 0.5 bps',
            g.gap_bps < 2,   '0.5 to 2 bps',
            g.gap_bps < 5,   '2 to 5 bps',
            g.gap_bps < 10,  '5 to 10 bps',
            g.gap_bps < 25,  '10 to 25 bps',
                             '25 bps and up') AS gap_bucket,
    count()                                   AS ticker_sessions,
    round(100 * count() / any(t.all_rows), 1) AS share_of_sessions_pct
FROM gaps AS g
CROSS JOIN totals AS t
GROUP BY gap_bucket
ORDER BY min(g.gap_bps)
⌘/Ctrl + Enter

আপনার AI সহকারীতে এই ডেটা নিয়ে কাজ করুন

এই পাতার ডেটাসহ, কোয়েরির জন্য প্রস্তুত অবস্থায় খোলে। বিনামূল্যে, অ্যাকাউন্ট ছাড়াই।