{"slug":"market-recap-week-2026-07-20","qid":"week_options","label":"Options contracts, same-day share, and call share by session, July 20-24","post_title":"Market Recap: Week of July 20, 2026","post_url":"/blog/market-recap-week-2026-07-20#q-week_options","columns":["date","contracts_m","pct_0dte","pct_call","pct_expiring_jul24"],"rows":[{"date":"2026-07-20","contracts_m":64,"pct_0dte":40.2,"pct_call":55.3,"pct_expiring_jul24":15.1},{"date":"2026-07-21","contracts_m":57.3,"pct_0dte":29.5,"pct_call":53.9,"pct_expiring_jul24":17},{"date":"2026-07-22","contracts_m":55.8,"pct_0dte":36.1,"pct_call":56.4,"pct_expiring_jul24":19.9},{"date":"2026-07-23","contracts_m":66.2,"pct_0dte":26.4,"pct_call":53.4,"pct_expiring_jul24":26.4},{"date":"2026-07-24","contracts_m":71.1,"pct_0dte":49,"pct_call":53.5,"pct_expiring_jul24":49}],"shape":"series","sql":"SELECT toString(toDate(sip_timestamp)) AS date,\n       round(toFloat64(sum(size)) / 1e6, 1) AS contracts_m,\n       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = formatDateTime(toDate(sip_timestamp), '%y%m%d')) / sum(size), 1) AS pct_0dte,\n       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'C') / sum(size), 1) AS pct_call,\n       round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260724') / sum(size), 1) AS pct_expiring_jul24\nFROM global_markets.options_trades\nWHERE sip_timestamp >= '2026-07-20 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'\nGROUP BY toDate(sip_timestamp)\nORDER BY toDate(sip_timestamp)","computed_at":"2026-08-12T14:47:57.316456+00:00","elapsed":0.002909692}