{"slug":"when-do-0dte-options-trade","qid":"calls_puts","label":"Same-day calls vs. puts by ET hour, and the put share of 0DTE volume: July 10, 2026","post_title":"When Do 0DTE Options Trade? By the Hour","post_url":"/blog/when-do-0dte-options-trade#q-calls_puts","columns":["et_hour","call_contracts_m","put_contracts_m","put_share_pct"],"rows":[{"et_hour":"09:00","call_contracts_m":2.91,"put_contracts_m":1.56,"put_share_pct":34.9},{"et_hour":"10:00","call_contracts_m":4.1,"put_contracts_m":3.09,"put_share_pct":43},{"et_hour":"11:00","call_contracts_m":3.36,"put_contracts_m":2.44,"put_share_pct":42.1},{"et_hour":"12:00","call_contracts_m":2.37,"put_contracts_m":1.62,"put_share_pct":40.6},{"et_hour":"13:00","call_contracts_m":2.06,"put_contracts_m":1.44,"put_share_pct":41.1},{"et_hour":"14:00","call_contracts_m":1.74,"put_contracts_m":1.28,"put_share_pct":42.5},{"et_hour":"15:00","call_contracts_m":2.19,"put_contracts_m":1.57,"put_share_pct":41.7}],"shape":"ranking","sql":"SELECT formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_hour,\n       round(sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'C') / 1e6, 2) AS call_contracts_m,\n       round(sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'P') / 1e6, 2) AS put_contracts_m,\n       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'P') / sum(size), 1) AS put_share_pct\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'\nGROUP BY et_hour\nORDER BY et_hour","computed_at":"2026-08-13T14:43:38.913538+00:00","elapsed":0.00282775}