{"slug":"the-10-am-rule-in-stocks","qid":"open_share","label":"open_share","post_title":"the-10-am-rule-in-stocks","post_url":"/blog/the-10-am-rule-in-stocks#q-open_share","columns":["symbol","range_share_pct","volume_share_pct"],"rows":[{"symbol":"KO","range_share_pct":62.2,"volume_share_pct":14.2},{"symbol":"NVDA","range_share_pct":60.3,"volume_share_pct":18.4},{"symbol":"AAPL","range_share_pct":60.2,"volume_share_pct":17.6},{"symbol":"MSFT","range_share_pct":59.9,"volume_share_pct":17.7},{"symbol":"QQQ","range_share_pct":46.1,"volume_share_pct":14.1},{"symbol":"SPY","range_share_pct":38.8,"volume_share_pct":11.3}],"shape":"ranking","sql":"WITH bars AS (\n    SELECT\n        ticker,\n        toDate(toTimeZone(window_start, 'America/New_York'))            AS trade_day,\n        toHour(toTimeZone(window_start, 'America/New_York')) * 60\n            + toMinute(toTimeZone(window_start, 'America/New_York'))    AS et_minute,\n        high,\n        low,\n        volume\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'MSFT', 'NVDA', 'KO')\n      AND window_start >= '2023-01-01'\n      AND window_start <  '2026-01-01'\n),\nregular AS (\n    SELECT *\n    FROM bars\n    WHERE et_minute >= 570 AND et_minute < 960\n),\nper_day AS (\n    SELECT\n        ticker,\n        trade_day,\n        max(high)                       AS day_high,\n        min(low)                        AS day_low,\n        sum(volume)                     AS day_volume,\n        maxIf(high, et_minute < 600)    AS open_high,\n        minIf(low, et_minute < 600)     AS open_low,\n        sumIf(volume, et_minute < 600)  AS open_volume,\n        countIf(et_minute < 600)        AS open_bars\n    FROM regular\n    GROUP BY ticker, trade_day\n    HAVING open_bars >= 25\n       AND day_high > day_low\n       AND day_volume > 0\n)\nSELECT\n    ticker AS symbol,\n    round(avg(100 * toFloat64(open_high - open_low) / toFloat64(day_high - day_low)), 1) AS range_share_pct,\n    round(avg(100 * toFloat64(open_volume) / toFloat64(day_volume)), 1)                  AS volume_share_pct\nFROM per_day\nGROUP BY ticker\nORDER BY range_share_pct DESC","computed_at":"2026-09-26T15:10:53.963344+00:00","elapsed":0.004654584}