{"slug":"spx-vs-spy-options","qid":"spy_dte_volume","label":"SPY option volume by days to expiry, trailing six weeks","post_title":"SPX vs SPY Options: Which One to Trade","post_url":"/blog/spx-vs-spy-options#q-spy_dte_volume","columns":["days_to_expiry_bucket","contracts_traded_millions","share_of_volume_pct"],"rows":[{"days_to_expiry_bucket":"0 to 1 days","contracts_traded_millions":38.04,"share_of_volume_pct":31.1},{"days_to_expiry_bucket":"2 to 7 days","contracts_traded_millions":41.91,"share_of_volume_pct":34.2},{"days_to_expiry_bucket":"8 to 30 days","contracts_traded_millions":23.56,"share_of_volume_pct":19.2},{"days_to_expiry_bucket":"31 to 90 days","contracts_traded_millions":12.74,"share_of_volume_pct":10.4},{"days_to_expiry_bucket":"over 90 days","contracts_traded_millions":6.22,"share_of_volume_pct":5.1}],"shape":"ranking","sql":"SELECT\n    bucket                                              AS days_to_expiry_bucket,\n    round(contracts / 1e6, 2)                           AS contracts_traded_millions,\n    round(100 * contracts / sum(contracts) OVER (), 1)  AS share_of_volume_pct\nFROM\n(\n    SELECT\n        multiIf(days_to_expiry <= 1,  '0 to 1 days',\n                days_to_expiry <= 7,  '2 to 7 days',\n                days_to_expiry <= 30, '8 to 30 days',\n                days_to_expiry <= 90, '31 to 90 days',\n                                      'over 90 days')  AS bucket,\n        min(days_to_expiry)                            AS bucket_floor,\n        sum(volume)                                    AS contracts\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND date >= today() - 45\n      AND volume > 0\n    GROUP BY bucket\n)\nORDER BY bucket_floor","computed_at":"2026-08-22T04:22:05.187562+00:00","elapsed":0.063149793}