{"slug":"spacex-spcx-first-month","qid":"options_month","label":"SpaceX's options market in one row: totals, expiry structure, flagship contracts","post_title":"SPCX: SpaceX's First Month on the Public Market","post_url":"/blog/spacex-spcx-first-month#q-options_month","columns":["first_print_et","option_sessions","prints_m","distinct_contracts","contracts_traded_m","premium_notional_busd","month_put_call_ratio","max_session_put_call_ratio","expiries_traded","longest_expiry","jun18_expiry_share_pct","busiest_contract","busiest_contract_volume","busiest_contract_prints","busiest_contract_avg_premium","busiest_contract_notional_musd","top_premium_contract","top_premium_avg","top_premium_notional_musd","aapl_full_june_notional_busd","aapl_full_june_contracts_m","spcx_minus_aapl_notional_busd"],"rows":[{"first_print_et":"2026-06-16 09:30:00","option_sessions":10,"prints_m":2.18,"distinct_contracts":3199,"contracts_traded_m":10.4,"premium_notional_busd":9.15,"month_put_call_ratio":0.79,"max_session_put_call_ratio":0.987,"expiries_traded":22,"longest_expiry":"2028-12-15","jun18_expiry_share_pct":26.7,"busiest_contract":"$175 put, expiry 2026-06-18","busiest_contract_volume":203765,"busiest_contract_prints":41648,"busiest_contract_avg_premium":1.43,"busiest_contract_notional_musd":29.2,"top_premium_contract":"$225 call, expiry 2026-09-18","top_premium_avg":40.12,"top_premium_notional_musd":121.3,"aapl_full_june_notional_busd":8.84,"aapl_full_june_contracts_m":27,"spcx_minus_aapl_notional_busd":0.31}],"shape":"scalar","sql":"WITH\n    (\n        SELECT (round(sum(toFloat64(price) * size) * 100 / 1e9, 2), round(sum(size) / 1e6, 1))\n        FROM global_markets.options_trades\n        WHERE startsWith(ticker, 'O:AAPL') AND length(ticker) = 21\n          AND sip_timestamp >= toDateTime64('2026-06-01 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)\n    ) AS aapl,\n    (\n        SELECT (\n            concat('$', toString(intDiv(toUInt32OrZero(substring(ticker, 14, 8)), 1000)),\n                   if(substring(ticker, 13, 1) = 'P', ' put', ' call'),\n                   ', expiry 20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2)),\n            toUInt64(sum(size)), toUInt64(count()),\n            round(toFloat64(sum(toFloat64(price) * size)) / toFloat64(sum(size)), 2),\n            round(sum(toFloat64(price) * size) * 100 / 1e6, 1))\n        FROM global_markets.options_trades\n        WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21\n          AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)\n        GROUP BY ticker ORDER BY sum(size) DESC LIMIT 1\n    ) AS busiest,\n    (\n        SELECT (\n            concat('$', toString(intDiv(toUInt32OrZero(substring(ticker, 14, 8)), 1000)),\n                   if(substring(ticker, 13, 1) = 'P', ' put', ' call'),\n                   ', expiry 20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2)),\n            round(toFloat64(sum(toFloat64(price) * size)) / toFloat64(sum(size)), 2),\n            round(sum(toFloat64(price) * size) * 100 / 1e6, 1))\n        FROM global_markets.options_trades\n        WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21\n          AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)\n        GROUP BY ticker ORDER BY sum(toFloat64(price) * size) DESC LIMIT 1\n    ) AS premium_magnet,\n    (\n        SELECT max(pc)\n        FROM (\n            SELECT round(toFloat64(sumIf(size, substring(ticker, 13, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 13, 1) = 'C')), 3) AS pc\n            FROM global_markets.options_trades\n            WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21\n              AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)\n            GROUP BY toDate(sip_timestamp)\n        )\n    ) AS max_daily_pc\nSELECT\n    formatDateTime(toTimeZone(min(sip_timestamp), 'America/New_York'), '%Y-%m-%d %H:%i:%S') AS first_print_et,\n    uniqExact(toDate(sip_timestamp)) AS option_sessions,\n    round(count() / 1e6, 2) AS prints_m,\n    uniqExact(ticker) AS distinct_contracts,\n    round(sum(size) / 1e6, 2) AS contracts_traded_m,\n    round(sum(toFloat64(price) * size) * 100 / 1e9, 2) AS premium_notional_busd,\n    round(toFloat64(sumIf(size, substring(ticker, 13, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 13, 1) = 'C')), 2) AS month_put_call_ratio,\n    max_daily_pc AS max_session_put_call_ratio,\n    uniqExact(substring(ticker, 7, 6)) AS expiries_traded,\n    concat('20', substring(max(substring(ticker, 7, 6)), 1, 2), '-', substring(max(substring(ticker, 7, 6)), 3, 2), '-', substring(max(substring(ticker, 7, 6)), 5, 2)) AS longest_expiry,\n    round(100 * toFloat64(sumIf(size, substring(ticker, 7, 6) = '260618')) / toFloat64(sum(size)), 1) AS jun18_expiry_share_pct,\n    busiest.1 AS busiest_contract,\n    busiest.2 AS busiest_contract_volume,\n    busiest.3 AS busiest_contract_prints,\n    busiest.4 AS busiest_contract_avg_premium,\n    busiest.5 AS busiest_contract_notional_musd,\n    premium_magnet.1 AS top_premium_contract,\n    premium_magnet.2 AS top_premium_avg,\n    premium_magnet.3 AS top_premium_notional_musd,\n    aapl.1 AS aapl_full_june_notional_busd,\n    aapl.2 AS aapl_full_june_contracts_m,\n    round(round(sum(toFloat64(price) * size) * 100 / 1e9, 2) - aapl.1, 2) AS spcx_minus_aapl_notional_busd\nFROM global_markets.options_trades\nWHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21\n  AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)","computed_at":"2026-07-27T00:08:46.571186+00:00","elapsed":0.009419701}