{"slug":"market-recap-2026-07-09","qid":"baseline_options_flow","label":"Options tape: prints, contracts, call %, 0DTE share vs Wednesday, top contracts","post_title":"Market Recap: July 9, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-09#q-baseline_options_flow","columns":["option_prints_m","contracts_m","jul8_contracts_m","call_pct_of_volume","pct_0dte","jul8_pct_0dte","spy_regular_close","top1_und","top1_strike","top1_type","top1_contracts_k","top1_avg_px","top1_is_0dte","top2_und","top2_strike","top2_type","top2_is_0dte","top3_und","top3_strike","top3_type","top3_is_0dte","top1_moneyness"],"rows":[{"option_prints_m":9.99,"contracts_m":58.85,"jul8_contracts_m":63.26,"call_pct_of_volume":58,"pct_0dte":28.7,"jul8_pct_0dte":38.7,"spy_regular_close":751.64,"top1_und":"SPY","top1_strike":751,"top1_type":"C","top1_contracts_k":846.6,"top1_avg_px":0.526,"top1_is_0dte":1,"top2_und":"SPY","top2_strike":752,"top2_type":"C","top2_is_0dte":1,"top3_und":"SPY","top3_strike":750,"top3_type":"C","top3_is_0dte":1,"top1_moneyness":-0.64}],"shape":"scalar","sql":"WITH\n    (\n        SELECT (groupArray(und), groupArray(strike), groupArray(typ), groupArray(vol), groupArray(avg_px), groupArray(is_0dte))\n        FROM (\n            SELECT any(underlying_symbol) AS und, any(toFloat64(strike_price)) AS strike, any(option_type) AS typ,\n                   sum(size) AS vol, round(avg(toFloat64(price)), 3) AS avg_px,\n                   if(substring(ticker, length(ticker) - 14, 6) = '260709', 1, 0) AS is_0dte\n            FROM global_markets.options_trades\n            WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'\n            GROUP BY ticker\n            ORDER BY vol DESC\n            LIMIT 3\n        )\n    ) AS top3,\n    (\n        SELECT round(toFloat64(argMax(close, window_start)), 2)\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'\n    ) AS spy_regular_close,\n    (\n        SELECT round(toFloat64(sum(size)) / 1e6, 2)\n        FROM global_markets.options_trades\n        WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'\n    ) AS jul8_contracts_m,\n    (\n        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260708') / sum(size), 1)\n        FROM global_markets.options_trades\n        WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'\n    ) AS jul8_pct_0dte\nSELECT\n    round(count() / 1e6, 2) AS option_prints_m,\n    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,\n    jul8_contracts_m,\n    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,\n    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260709') / sum(size), 1) AS pct_0dte,\n    jul8_pct_0dte,\n    spy_regular_close,\n    top3.1[1] AS top1_und, top3.2[1] AS top1_strike, top3.3[1] AS top1_type,\n    round(toFloat64(top3.4[1]) / 1e3, 1) AS top1_contracts_k, top3.5[1] AS top1_avg_px, top3.6[1] AS top1_is_0dte,\n    top3.1[2] AS top2_und, top3.2[2] AS top2_strike, top3.3[2] AS top2_type, top3.6[2] AS top2_is_0dte,\n    top3.1[3] AS top3_und, top3.2[3] AS top3_strike, top3.3[3] AS top3_type, top3.6[3] AS top3_is_0dte,\n    round(toFloat64(top3.2[1]) - spy_regular_close, 2) AS top1_moneyness\nFROM global_markets.options_trades\nWHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'","computed_at":"2026-07-26T06:01:34.834711+00:00","elapsed":0.006465498}