{"slug":"market-recap-2026-06-29","qid":"options_flow","label":"One row for the whole options day: volume, 0DTE, the holiday-shifted week","post_title":"Market Recap: June 29, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-06-29#q-options_flow","columns":["option_prints_m","contracts_m","call_pct_of_volume","same_day_expiry_pct","thu_jul2_expiry_contracts_m","fri_jul3_expiry_prints","premarket_prints","premarket_prints_label","premarket_non_index_prints","premarket_underlyings","spy_contracts_m","qqq_contracts_m","top_contract_underlying","top_contract_strike","top_contract_type","top_contract_expiry","top_contract_volume","top_contract_volume_label","top_contract_avg_price","top_strike_minus_spy_close"],"rows":[{"option_prints_m":11.04,"contracts_m":66.33,"call_pct_of_volume":55.7,"same_day_expiry_pct":35.8,"thu_jul2_expiry_contracts_m":10.73,"fri_jul3_expiry_prints":0,"premarket_prints":40621,"premarket_prints_label":"40,621","premarket_non_index_prints":0,"premarket_underlyings":"RUTW, SPX, SPXW, VIX, VIXW, XSP","spy_contracts_m":12.01,"qqq_contracts_m":7.32,"top_contract_underlying":"SPY","top_contract_strike":741,"top_contract_type":"C","top_contract_expiry":"2026-06-29","top_contract_volume":788133,"top_contract_volume_label":"788,133","top_contract_avg_price":0.474,"top_strike_minus_spy_close":0.12}],"shape":"scalar","sql":"WITH\n    (\n        SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),\n                any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),\n                sum(size), count(), round(avg(toFloat64(price)), 3))\n        FROM global_markets.options_trades\n        WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'\n        GROUP BY ticker\n        ORDER BY sum(size) DESC\n        LIMIT 1\n    ) AS top_contract,\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-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00'\n    ) AS spy_regular_close\nSELECT\n    round(count() / 1e6, 2) AS option_prints_m,\n    round(toFloat64(sum(size)) / 1e6, 2) AS 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) = '260629') / sum(size), 1) AS same_day_expiry_pct,\n    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,\n    countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,\n    countIf(sip_timestamp < '2026-06-29 13:30:00') AS premarket_prints,\n    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(sip_timestamp < '2026-06-29 13:30:00'))), '[0-9]{1,3}'), ',')) AS premarket_prints_label,\n    countIf(sip_timestamp < '2026-06-29 13:30:00'\n        AND underlying_symbol NOT IN ('SPX', 'SPXW', 'XSP', 'RUTW', 'VIX', 'VIXW')) AS premarket_non_index_prints,\n    arrayStringConcat(arraySort(groupUniqArrayIf(underlying_symbol, sip_timestamp < '2026-06-29 13:30:00')), ', ') AS premarket_underlyings,\n    round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,\n    round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,\n    top_contract.1 AS top_contract_underlying,\n    top_contract.2 AS top_contract_strike,\n    top_contract.3 AS top_contract_type,\n    top_contract.4 AS top_contract_expiry,\n    top_contract.5 AS top_contract_volume,\n    reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_label,\n    round(top_contract.7, 3) AS top_contract_avg_price,\n    round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close\nFROM global_markets.options_trades\nWHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'","computed_at":"2026-07-26T05:43:04.690345+00:00","elapsed":5.386374254}