{"slug":"dse-last-trade-price-vs-closing-price","qid":"close_gap_profile","label":"close_gap_profile","post_title":"dse-last-trade-price-vs-closing-price","post_url":"/blog/lang/bn/dse-last-trade-price-vs-closing-price#q-close_gap_profile","columns":["symbol","median_gap_bps","p90_gap_bps","max_gap_bps"],"rows":[{"symbol":"NVDA","median_gap_bps":1.81,"p90_gap_bps":5.77,"max_gap_bps":16.45},{"symbol":"MSFT","median_gap_bps":1.55,"p90_gap_bps":7.38,"max_gap_bps":47.4},{"symbol":"AAPL","median_gap_bps":1.54,"p90_gap_bps":4.9,"max_gap_bps":16.39},{"symbol":"JNJ","median_gap_bps":1.19,"p90_gap_bps":4.99,"max_gap_bps":15.43},{"symbol":"KO","median_gap_bps":1.19,"p90_gap_bps":5.32,"max_gap_bps":20.36},{"symbol":"SPY","median_gap_bps":0.65,"p90_gap_bps":1.29,"max_gap_bps":2.95}],"shape":"ranking","sql":"WITH\n    last_prints AS\n    (\n        SELECT\n            ticker,\n            toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,\n            argMax(close, window_start)                          AS last_regular_print\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')\n          AND window_start >= '2026-07-01 00:00:00'\n          AND window_start <  '2026-10-01 00:00:00'\n          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n               + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570\n          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60\n               + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960\n        GROUP BY ticker, session_date\n    ),\n    daily_bars AS\n    (\n        SELECT\n            ticker,\n            date       AS session_date,\n            any(close) AS daily_bar_close\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')\n          AND date >= '2026-07-01'\n          AND date <  '2026-10-01'\n        GROUP BY ticker, session_date\n    ),\n    gaps AS\n    (\n        SELECT\n            l.ticker       AS symbol,\n            l.session_date AS session_date,\n            abs(toFloat64(d.daily_bar_close) / toFloat64(l.last_regular_print) - 1) * 10000 AS gap_bps\n        FROM last_prints AS l\n        INNER JOIN daily_bars AS d\n            ON l.ticker = d.ticker AND l.session_date = d.session_date\n        WHERE toFloat64(l.last_regular_print) > 0\n    )\nSELECT\n    symbol,\n    round(quantileDeterministic(0.5)(gap_bps, toUInt32(session_date)), 2) AS median_gap_bps,\n    round(quantileDeterministic(0.9)(gap_bps, toUInt32(session_date)), 2) AS p90_gap_bps,\n    round(max(gap_bps), 2)                                                AS max_gap_bps\nFROM gaps\nGROUP BY symbol\nORDER BY median_gap_bps DESC","computed_at":"2026-10-08T15:36:53.476600+00:00","elapsed":0.006150859}