{"slug":"best-stocks-for-day-trading-options","qid":"ranked","label":"ranked","post_title":"best-stocks-for-day-trading-options","post_url":"/blog/best-stocks-for-day-trading-options#q-ranked","columns":["symbol","avg_daily_contracts_millions","expirations_next_2_weeks","atm_30d_iv_pct"],"rows":[{"symbol":"SPY","avg_daily_contracts_millions":3.16,"expirations_next_2_weeks":10,"atm_30d_iv_pct":12.9},{"symbol":"NVDA","avg_daily_contracts_millions":2.33,"expirations_next_2_weeks":6,"atm_30d_iv_pct":31},{"symbol":"QQQ","avg_daily_contracts_millions":2.15,"expirations_next_2_weeks":10,"atm_30d_iv_pct":17.9},{"symbol":"TSLA","avg_daily_contracts_millions":1.49,"expirations_next_2_weeks":6,"atm_30d_iv_pct":43.1},{"symbol":"AAPL","avg_daily_contracts_millions":0.99,"expirations_next_2_weeks":6,"atm_30d_iv_pct":24.6},{"symbol":"IWM","avg_daily_contracts_millions":0.97,"expirations_next_2_weeks":10,"atm_30d_iv_pct":17.7},{"symbol":"IBIT","avg_daily_contracts_millions":0.79,"expirations_next_2_weeks":6,"atm_30d_iv_pct":34.2},{"symbol":"TLT","avg_daily_contracts_millions":0.71,"expirations_next_2_weeks":6,"atm_30d_iv_pct":11.1},{"symbol":"INTC","avg_daily_contracts_millions":0.63,"expirations_next_2_weeks":6,"atm_30d_iv_pct":68.6},{"symbol":"AMZN","avg_daily_contracts_millions":0.57,"expirations_next_2_weeks":6,"atm_30d_iv_pct":31.8},{"symbol":"MU","avg_daily_contracts_millions":0.54,"expirations_next_2_weeks":5,"atm_30d_iv_pct":59.5},{"symbol":"META","avg_daily_contracts_millions":0.46,"expirations_next_2_weeks":6,"atm_30d_iv_pct":39.8},{"symbol":"GLD","avg_daily_contracts_millions":0.45,"expirations_next_2_weeks":10,"atm_30d_iv_pct":23.2},{"symbol":"MSTR","avg_daily_contracts_millions":0.42,"expirations_next_2_weeks":2,"atm_30d_iv_pct":65.9},{"symbol":"EWZ","avg_daily_contracts_millions":0.42,"expirations_next_2_weeks":3,"atm_30d_iv_pct":45.6}],"shape":"ranking","sql":"WITH\n    (\n        SELECT max(date)\n        FROM global_markets.options_greeks\n        WHERE date >= today() - 40\n    ) AS last_session\nSELECT\n    underlying_symbol                                            AS symbol,\n    round(sum(volume) / countDistinct(date) / 1e6, 2)            AS avg_daily_contracts_millions,\n    countDistinctIf(expiration_date,\n                    date = last_session\n                    AND expiration_date <= last_session + 14)    AS expirations_next_2_weeks,\n    round(avgIf(implied_volatility,\n                date = last_session\n                AND iv_converged = 1\n                AND underlying_close > 0\n                AND days_to_expiry BETWEEN 20 AND 45\n                AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03) * 100, 1) AS atm_30d_iv_pct\nFROM global_markets.options_greeks\nWHERE date IN\n    (\n        SELECT date\n        FROM global_markets.options_greeks\n        WHERE date >= today() - 40\n        GROUP BY date\n        ORDER BY date DESC\n        LIMIT 20\n    )\n  AND volume > 0\n  AND underlying_symbol NOT IN ('SPCX')\n  AND underlying_symbol IN\n    (\n        SELECT DISTINCT ticker\n        FROM global_markets.stocks_daily_aggs\n        WHERE date >= today() - 40\n    )\nGROUP BY underlying_symbol\nHAVING countIf(date = last_session\n               AND iv_converged = 1\n               AND underlying_close > 0\n               AND days_to_expiry BETWEEN 20 AND 45\n               AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03) > 0\nORDER BY sum(volume) DESC\nLIMIT 15","computed_at":"2026-09-20T15:08:56.297813+00:00","elapsed":3.611287309}