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.
| symbol | median_gap_bps | p90_gap_bps | max_gap_bps |
|---|---|---|---|
| NVDA | 1.81 | 5.77 | 16.45 |
| MSFT | 1.55 | 7.38 | 47.4 |
| AAPL | 1.54 | 4.9 | 16.39 |
| JNJ | 1.19 | 4.99 | 15.43 |
| KO | 1.19 | 5.32 | 20.36 |
| SPY | 0.65 | 1.29 | 2.95 |
- Rows × columns
- 6 × 4
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
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
আপনার AI সহকারীতে এই ডেটা নিয়ে কাজ করুন
এই পাতার ডেটাসহ, কোয়েরির জন্য প্রস্তুত অবস্থায় খোলে। বিনামূল্যে, অ্যাকাউন্ট ছাড়াই।