{"slug":"when-do-0dte-options-trade","qid":"last_hour_mix","label":"What the last hour trades: same-day volume by premium paid, 10am hour vs. closing hour, July 10, 2026","post_title":"When Do 0DTE Options Trade? By the Hour","post_url":"/blog/when-do-0dte-options-trade#q-last_hour_mix","columns":["premium_bucket","pct_of_10am_contracts","pct_of_3pm_contracts","pct_of_3pm_premium_dollars"],"rows":[{"premium_bucket":"under $0.10","pct_of_10am_contracts":17.1,"pct_of_3pm_contracts":33.8,"pct_of_3pm_premium_dollars":0.8},{"premium_bucket":"$0.10-0.50","pct_of_10am_contracts":27,"pct_of_3pm_contracts":34.9,"pct_of_3pm_premium_dollars":6.1},{"premium_bucket":"$0.50-2","pct_of_10am_contracts":37.4,"pct_of_3pm_contracts":19.6,"pct_of_3pm_premium_dollars":13.5},{"premium_bucket":"$2-10","pct_of_10am_contracts":15.1,"pct_of_3pm_contracts":9.1,"pct_of_3pm_premium_dollars":25.4},{"premium_bucket":"$10 and up","pct_of_10am_contracts":3.4,"pct_of_3pm_contracts":2.6,"pct_of_3pm_premium_dollars":54.2}],"shape":"ranking","sql":"SELECT multiIf(price < 0.10, 'under $0.10', price < 0.50, '$0.10-0.50', price < 2, '$0.50-2', price < 10, '$2-10', '$10 and up') AS premium_bucket,\n       round(100.0 * sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 10)\n             / sum(sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 10)) OVER (), 1) AS pct_of_10am_contracts,\n       round(100.0 * sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)\n             / sum(sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)) OVER (), 1) AS pct_of_3pm_contracts,\n       round(100.0 * sumIf(price * size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)\n             / sum(sumIf(price * size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)) OVER (), 1) AS pct_of_3pm_premium_dollars\nFROM global_markets.options_trades\nWHERE sip_timestamp >= toDateTime64('2026-07-10 13:30:00', 9)\n  AND sip_timestamp < toDateTime64('2026-07-10 20:00:00', 9)\n  AND substring(ticker, length(ticker) - 14, 6) = '260710'\n  AND toHour(toTimeZone(sip_timestamp, 'America/New_York')) IN (10, 15)\nGROUP BY premium_bucket\nORDER BY min(price)","computed_at":"2026-08-13T14:43:39.100178+00:00","elapsed":0.003446753}