{"slug":"best-stocks-for-day-trading-options","qid":"spread_pin","label":"spread_pin","post_title":"best-stocks-for-day-trading-options","post_url":"/blog/best-stocks-for-day-trading-options#q-spread_pin","columns":["symbol","median_spread_pct_of_premium","median_spread_dollars","contracts_in_sample"],"rows":[{"symbol":"QQQ","median_spread_pct_of_premium":1.07,"median_spread_dollars":0.05,"contracts_in_sample":4},{"symbol":"IWM","median_spread_pct_of_premium":1.72,"median_spread_dollars":0.03,"contracts_in_sample":4},{"symbol":"AAPL","median_spread_pct_of_premium":2.53,"median_spread_dollars":0.03,"contracts_in_sample":3},{"symbol":"SPY","median_spread_pct_of_premium":3.07,"median_spread_dollars":0.15,"contracts_in_sample":5},{"symbol":"KO","median_spread_pct_of_premium":11.43,"median_spread_dollars":0.07,"contracts_in_sample":3}],"shape":"ranking","sql":"SELECT\n    q.underlying                                                                          AS symbol,\n    round(quantileDeterministic(0.5)(q.spread_pct, toUInt64(q.sequence_number)), 2)       AS median_spread_pct_of_premium,\n    round(quantileDeterministic(0.5)(q.spread_dollars, toUInt64(q.sequence_number)), 3)   AS median_spread_dollars,\n    countDistinct(q.ticker)                                                               AS contracts_in_sample\nFROM\n(\n    SELECT\n        ticker,\n        sequence_number,\n        multiIf(startsWith(ticker, 'O:SPY'),  'SPY',\n                startsWith(ticker, 'O:QQQ'),  'QQQ',\n                startsWith(ticker, 'O:IWM'),  'IWM',\n                startsWith(ticker, 'O:AAPL'), 'AAPL',\n                                              'KO')                             AS underlying,\n        toFloat64(substring(ticker, length(ticker) - 7)) / 1000                 AS strike,\n        toFloat64(ask_price - bid_price)                                        AS spread_dollars,\n        toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price) * 200 AS spread_pct\n    FROM global_markets.cache_options_quotes\n    WHERE ticker IN ('O:SPY241220C00580000', 'O:SPY241220C00583000', 'O:SPY241220C00586000', 'O:SPY241220C00589000', 'O:SPY241220C00592000',\n                     'O:QQQ241220C00510000', 'O:QQQ241220C00513000', 'O:QQQ241220C00516000', 'O:QQQ241220C00519000', 'O:QQQ241220C00522000',\n                     'O:IWM241220C00217000', 'O:IWM241220C00219000', 'O:IWM241220C00221000', 'O:IWM241220C00223000', 'O:IWM241220C00225000',\n                     'O:AAPL241220C00245000', 'O:AAPL241220C00247500', 'O:AAPL241220C00250000', 'O:AAPL241220C00252500', 'O:AAPL241220C00255000',\n                     'O:KO241220C00061000', 'O:KO241220C00062000', 'O:KO241220C00062500', 'O:KO241220C00063000', 'O:KO241220C00064000')\n      AND sip_timestamp >= '2024-12-19 15:00:00'\n      AND sip_timestamp <  '2024-12-19 15:30:00'\n      AND bid_price > 0\n      AND ask_price > bid_price\n) AS q\nINNER JOIN\n(\n    SELECT\n        ticker              AS underlying,\n        toFloat64(close)    AS session_close\n    FROM global_markets.stocks_daily_aggs\n    WHERE date = '2024-12-19'\n      AND ticker IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'KO')\n) AS c ON c.underlying = q.underlying\nWHERE abs(q.strike / c.session_close - 1) < 0.015\nGROUP BY q.underlying\nHAVING count() > 0\nORDER BY median_spread_pct_of_premium","computed_at":"2026-09-20T15:09:00.398157+00:00","elapsed":0.005385913}