{"slug":"how-to-read-a-futures-symbol","qid":"cycle_volume","label":"Where long-dated option volume lands, by expiry month code","post_title":"How to Read a Futures Symbol (ESZ6, CLF27)","post_url":"/blog/how-to-read-a-futures-symbol#q-cycle_volume","columns":["code_bucket","contracts_millions","expiry_dates"],"rows":[{"code_bucket":"Z (Dec)","contracts_millions":13.5,"expiry_dates":4},{"code_bucket":"F (Jan)","contracts_millions":11.22,"expiry_dates":2},{"code_bucket":"U (Sep)","contracts_millions":11.17,"expiry_dates":3},{"code_bucket":"M (Jun)","contracts_millions":9.23,"expiry_dates":5},{"code_bucket":"H (Mar)","contracts_millions":3.85,"expiry_dates":3},{"code_bucket":"Q (Aug)","contracts_millions":2.57,"expiry_dates":2},{"code_bucket":"V (Oct)","contracts_millions":2.56,"expiry_dates":2},{"code_bucket":"X (Nov)","contracts_millions":1.62,"expiry_dates":2},{"code_bucket":"N (Jul)","contracts_millions":1.33,"expiry_dates":2},{"code_bucket":"K (May)","contracts_millions":0.36,"expiry_dates":2},{"code_bucket":"G (Feb)","contracts_millions":0.05,"expiry_dates":1}],"shape":"ranking","sql":"SELECT\n    concat(\n        arrayElement(['F','G','H','J','K','M','N','Q','U','V','X','Z'], toMonth(expiration_date)),\n        ' (',\n        arrayElement(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], toMonth(expiration_date)),\n        ')'\n    )                                          AS code_bucket,\n    round(toFloat64(sum(volume)) / 1e6, 2)     AS contracts_millions,\n    countDistinct(expiration_date)             AS expiry_dates\nFROM global_markets.options_greeks\nWHERE underlying_symbol IN ('SPY', 'QQQ', 'AAPL', 'NVDA')\n  AND date >= '2026-01-02'\n  AND date <  '2026-07-01'\n  AND days_to_expiry > 120\n  AND volume > 0\n  AND iv_converged = 1\nGROUP BY toMonth(expiration_date)\nORDER BY contracts_millions DESC","computed_at":"2026-08-09T15:07:51.529243+00:00","elapsed":0.002693787}