{"slug":"market-recap-2026-07-30","qid":"baseline_options_quote_tape","label":"Options NBBO tape: total updates vs the stock tape, plus the SPY root slice, July 30","post_title":"Market Recap: July 30, 2026, The Day in Numbers","post_url":"/blog/market-recap-2026-07-30#q-baseline_options_quote_tape","columns":["jul30_options_bn","options_to_stock_ratio","jul30_spy_options_m"],"rows":[{"jul30_options_bn":10.32,"options_to_stock_ratio":18.4,"jul30_spy_options_m":441}],"shape":"scalar","sql":"WITH\n    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_options_rows,\n    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_stock_quote_rows\nSELECT\n    round(jul30_options_rows / 1e9, 2) AS jul30_options_bn,\n    round(jul30_options_rows / jul30_stock_quote_rows, 1) AS options_to_stock_ratio,\n    round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00') / 1e6, 0) AS jul30_spy_options_m","computed_at":"2026-08-02T00:07:15.825441+00:00","elapsed":297.850040126}