{"slug":"how-big-is-the-options-quote-feed","qid":"contract_anatomy","label":"The five busiest SPY option contracts of the session, symbol unpacked","post_title":"How Big Is the OPRA Options Quote Feed?","post_url":"/blog/how-big-is-the-options-quote-feed#q-contract_anatomy","columns":["occ_ticker","root","expiry_parsed","call_or_put","strike_usd","contracts_traded_k","expires_same_day"],"rows":[{"occ_ticker":"O:SPY260817P00775000","root":"SPY","expiry_parsed":"2026-08-17","call_or_put":"put","strike_usd":775,"contracts_traded_k":854.4,"expires_same_day":1},{"occ_ticker":"O:SPY260817P00773000","root":"SPY","expiry_parsed":"2026-08-17","call_or_put":"put","strike_usd":773,"contracts_traded_k":846.8,"expires_same_day":1},{"occ_ticker":"O:SPY260817P00774000","root":"SPY","expiry_parsed":"2026-08-17","call_or_put":"put","strike_usd":774,"contracts_traded_k":801.3,"expires_same_day":1},{"occ_ticker":"O:SPY260817C00776000","root":"SPY","expiry_parsed":"2026-08-17","call_or_put":"call","strike_usd":776,"contracts_traded_k":657.2,"expires_same_day":1},{"occ_ticker":"O:SPY260817C00775000","root":"SPY","expiry_parsed":"2026-08-17","call_or_put":"call","strike_usd":775,"contracts_traded_k":631.8,"expires_same_day":1}],"shape":"series","sql":"WITH (\n    SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker = 'SPY'\n      AND window_start >= toDateTime(today() - 10)\n      AND window_start < toDateTime(today() - 4)\n) AS session_day\nSELECT ticker AS occ_ticker,\n       any(underlying_symbol) AS root,\n       concat('20', substring(ticker, 6, 2), '-', substring(ticker, 8, 2), '-', substring(ticker, 10, 2)) AS expiry_parsed,\n       if(any(option_type) = 'C', 'call', 'put') AS call_or_put,\n       any(toFloat64(strike_price)) AS strike_usd,\n       round(sum(size) / 1e3, 1) AS contracts_traded_k,\n       if(substring(ticker, 6, 6) = formatDateTime(session_day, '%y%m%d'), 1, 0) AS expires_same_day\nFROM global_markets.options_trades\nWHERE sip_timestamp >= toDateTime(session_day)\n  AND sip_timestamp < toDateTime(session_day + 1)\n  AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'\nGROUP BY ticker\nORDER BY contracts_traded_k DESC, ticker\nLIMIT 5","computed_at":"2026-08-22T04:13:24.836749+00:00","elapsed":0.25286187}