{"slug":"etf-premium-and-discount-to-nav","qid":"session_moves","label":"How far seven ETFs travel in a regular session, first half of 2026","post_title":"ETF Premium and Discount to NAV, Explained","post_url":"/blog/etf-premium-and-discount-to-nav#q-session_moves","columns":["ticker","median_move_pct","p90_move_pct"],"rows":[{"ticker":"FXI","median_move_pct":0.433,"p90_move_pct":1.267},{"ticker":"EWJ","median_move_pct":0.433,"p90_move_pct":1.343},{"ticker":"SPY","median_move_pct":0.42,"p90_move_pct":1.13},{"ticker":"EFA","median_move_pct":0.401,"p90_move_pct":1.387},{"ticker":"LQD","median_move_pct":0.161,"p90_move_pct":0.44},{"ticker":"HYG","median_move_pct":0.1,"p90_move_pct":0.379},{"ticker":"AGG","median_move_pct":0.099,"p90_move_pct":0.293}],"shape":"ranking","sql":"WITH sessions AS\n(\n    SELECT\n        ticker,\n        toDate(toTimeZone(window_start, 'America/New_York'))  AS session_date,\n        argMin(toFloat64(open),  window_start)                AS px_open,\n        argMax(toFloat64(close), window_start)                AS px_close\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('FXI', 'EWJ', 'EFA', 'SPY', 'HYG', 'LQD', 'AGG')\n      AND window_start >= '2026-01-02 00:00:00'\n      AND window_start <  '2026-07-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    HAVING px_open > 0\n)\nSELECT\n    ticker,\n    round(quantileExact(0.5)(abs(px_close / px_open - 1) * 100), 3) AS median_move_pct,\n    round(quantileExact(0.9)(abs(px_close / px_open - 1) * 100), 3) AS p90_move_pct\nFROM sessions\nGROUP BY ticker\nORDER BY median_move_pct DESC","computed_at":"2026-08-06T04:10:54.325096+00:00","elapsed":0.003949942}