STRASMORE/EXPLORE 2,648 QUERIES

open_share

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-26, from the-10-am-rule-in-stocks.

as of ranking 6×3read in context →
open_share — 6 rows by 3 columns, computed from US exchange, SIP and OPRA data.
symbolrange_share_pctvolume_share_pct
KO62.214.2
NVDA60.318.4
AAPL60.217.6
MSFT59.917.7
QQQ46.114.1
SPY38.811.3
Rows × columns
6 × 3
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for open_share, derived from the stored result.
ColumnTypeRangeNotes
symbol text 6 distinct values (AAPL, KO, MSFT…)
range_share_pct number 38.8 to 62.2 percent
volume_share_pct number 11.3 to 18.4 percent

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

WITH bars AS (
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York'))            AS trade_day,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
            + toMinute(toTimeZone(window_start, 'America/New_York'))    AS et_minute,
        high,
        low,
        volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'MSFT', 'NVDA', 'KO')
      AND window_start >= '2023-01-01'
      AND window_start <  '2026-01-01'
),
regular AS (
    SELECT *
    FROM bars
    WHERE et_minute >= 570 AND et_minute < 960
),
per_day AS (
    SELECT
        ticker,
        trade_day,
        max(high)                       AS day_high,
        min(low)                        AS day_low,
        sum(volume)                     AS day_volume,
        maxIf(high, et_minute < 600)    AS open_high,
        minIf(low, et_minute < 600)     AS open_low,
        sumIf(volume, et_minute < 600)  AS open_volume,
        countIf(et_minute < 600)        AS open_bars
    FROM regular
    GROUP BY ticker, trade_day
    HAVING open_bars >= 25
       AND day_high > day_low
       AND day_volume > 0
)
SELECT
    ticker AS symbol,
    round(avg(100 * toFloat64(open_high - open_low) / toFloat64(day_high - day_low)), 1) AS range_share_pct,
    round(avg(100 * toFloat64(open_volume) / toFloat64(day_volume)), 1)                  AS volume_share_pct
FROM per_day
GROUP BY ticker
ORDER BY range_share_pct DESC
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisthe-10-am-rule-in-stocks
coverage ranking 6×4 → first_hour_decay series 90×3 → session_shape series 13×3 → open_spread_trace series 12×3 → Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 → Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 → See all 2,648 queries →