STRASMORE/EXPLORE 3,214 QUERIES

close_gap_profile

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×4read in context →
close_gap_profile — 6 rows by 4 columns, computed from US exchange, SIP and OPRA data.
symbolmedian_gap_bpsp90_gap_bpsmax_gap_bps
NVDA1.815.7716.45
MSFT1.557.3847.4
AAPL1.544.916.39
JNJ1.194.9915.43
KO1.195.3220.36
SPY0.651.292.95
Rows × columns
6 × 4
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 close_gap_profile, derived from the stored result.
ColumnTypeRangeNotes
symbol text 6 distinct values (AAPL, JNJ, KO…)
median_gap_bps number 0.65 to 1.81
p90_gap_bps number 1.29 to 7.38
max_gap_bps number 2.95 to 47.4

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.ticker       AS symbol,
            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
    )
SELECT
    symbol,
    round(quantileDeterministic(0.5)(gap_bps, toUInt32(session_date)), 2) AS median_gap_bps,
    round(quantileDeterministic(0.9)(gap_bps, toUInt32(session_date)), 2) AS p90_gap_bps,
    round(max(gap_bps), 2)                                                AS max_gap_bps
FROM gaps
GROUP BY symbol
ORDER BY median_gap_bps DESC
⌘/Ctrl + Enter

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

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