{"slug":"etf-premium-and-discount-to-nav","qid":"intraday_shape","label":"Average minute bar range by ET clock time, second quarter 2026","post_title":"ETF Premium and Discount to NAV, Explained","post_url":"/blog/etf-premium-and-discount-to-nav#q-intraday_shape","columns":["et_time","spy_range_bps","efa_range_bps","hyg_range_bps"],"rows":[{"et_time":"09:30","spy_range_bps":7.06,"efa_range_bps":6.47,"hyg_range_bps":2.53},{"et_time":"09:45","spy_range_bps":6.56,"efa_range_bps":5.86,"hyg_range_bps":1.81},{"et_time":"10:00","spy_range_bps":6.13,"efa_range_bps":5.85,"hyg_range_bps":1.77},{"et_time":"10:15","spy_range_bps":5.63,"efa_range_bps":5.35,"hyg_range_bps":1.59},{"et_time":"10:30","spy_range_bps":5.85,"efa_range_bps":5.4,"hyg_range_bps":1.72},{"et_time":"10:45","spy_range_bps":5.33,"efa_range_bps":4.96,"hyg_range_bps":1.58},{"et_time":"11:00","spy_range_bps":4.78,"efa_range_bps":4.79,"hyg_range_bps":1.51},{"et_time":"11:15","spy_range_bps":4.62,"efa_range_bps":4.74,"hyg_range_bps":1.46},{"et_time":"11:30","spy_range_bps":4.59,"efa_range_bps":5.34,"hyg_range_bps":1.39},{"et_time":"11:45","spy_range_bps":4.32,"efa_range_bps":4.19,"hyg_range_bps":1.4},{"et_time":"12:00","spy_range_bps":4.02,"efa_range_bps":3.84,"hyg_range_bps":1.3},{"et_time":"12:15","spy_range_bps":3.79,"efa_range_bps":3.37,"hyg_range_bps":1.21},{"et_time":"12:30","spy_range_bps":3.89,"efa_range_bps":3.51,"hyg_range_bps":1.27},{"et_time":"12:45","spy_range_bps":3.56,"efa_range_bps":2.96,"hyg_range_bps":1.23},{"et_time":"13:00","spy_range_bps":3.85,"efa_range_bps":3.47,"hyg_range_bps":1.29},{"et_time":"13:15","spy_range_bps":3.84,"efa_range_bps":3.46,"hyg_range_bps":1.31},{"et_time":"13:30","spy_range_bps":3.79,"efa_range_bps":3.43,"hyg_range_bps":1.27},{"et_time":"13:45","spy_range_bps":3.43,"efa_range_bps":2.88,"hyg_range_bps":1.21},{"et_time":"14:00","spy_range_bps":3.86,"efa_range_bps":3.42,"hyg_range_bps":1.31},{"et_time":"14:15","spy_range_bps":3.54,"efa_range_bps":3.18,"hyg_range_bps":1.13},{"et_time":"14:30","spy_range_bps":3.4,"efa_range_bps":2.97,"hyg_range_bps":1.27},{"et_time":"14:45","spy_range_bps":3.49,"efa_range_bps":3,"hyg_range_bps":1.28},{"et_time":"15:00","spy_range_bps":3.66,"efa_range_bps":3.35,"hyg_range_bps":1.3},{"et_time":"15:15","spy_range_bps":3.43,"efa_range_bps":2.95,"hyg_range_bps":1.21},{"et_time":"15:30","spy_range_bps":3.7,"efa_range_bps":3.15,"hyg_range_bps":1.33},{"et_time":"15:45","spy_range_bps":5.18,"efa_range_bps":4.28,"hyg_range_bps":1.93}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfFifteenMinutes(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS et_time,\n    round(avgIf(range_bps, ticker = 'SPY'), 2) AS spy_range_bps,\n    round(avgIf(range_bps, ticker = 'EFA'), 2) AS efa_range_bps,\n    round(avgIf(range_bps, ticker = 'HYG'), 2) AS hyg_range_bps\nFROM\n(\n    SELECT\n        window_start,\n        ticker,\n        (toFloat64(high) - toFloat64(low)) / toFloat64(close) * 10000 AS range_bps\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'EFA', 'HYG')\n      AND window_start >= '2026-04-01 00:00:00'\n      AND window_start <  '2026-07-01 00:00:00'\n      AND close > 0\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)\nGROUP BY et_time\nHAVING countIf(ticker = 'SPY') > 0\n   AND countIf(ticker = 'EFA') > 0\n   AND countIf(ticker = 'HYG') > 0\nORDER BY et_time","computed_at":"2026-08-06T04:10:54.593231+00:00","elapsed":0.003285006}