STRASMORE/EXPLORE 2,985 QUERIES

ah_leaderboard

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-10-03, from most-active-stocks-after-hours.

as of ranking 13×4read in context →
ah_leaderboard — 13 rows by 4 columns, computed from US exchange, SIP and OPRA data.
tickerafter_hours_millionsregular_millionsah_pct_of_regular
SPY9.5157.616.52
MSFT8.6433.226.05
INTC8.27114.17.25
NVDA8.06115.66.97
META5.8112.944.9
QQQ5.7648.511.89
AAPL3.17417.73
AMZN3.0832.19.6
TSLA1.7333.85.12
GOOGL1.3122.15.92
F1.0190.21.12
AMD0.8128.72.84
KO0.26181.42
Rows × columns
13 × 4
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 ah_leaderboard, derived from the stored result.
ColumnTypeRangeNotes
ticker text 13 distinct values (AAPL, AMD, AMZN…)
after_hours_millions number 0.26 to 9.51
regular_millions number 12.9 to 115.6
ah_pct_of_regular number 1.12 to 44.9 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.

SELECT
    ticker,
    round(toFloat64(sumIf(volume, et_minute >= 960 AND et_minute < 1200)) / 1e6, 2) AS after_hours_millions,
    round(toFloat64(sumIf(volume, et_minute >= 570 AND et_minute < 960)) / 1e6, 1)  AS regular_millions,
    round(100 * toFloat64(sumIf(volume, et_minute >= 960 AND et_minute < 1200))
              / toFloat64(sumIf(volume, et_minute >= 570 AND et_minute < 960)), 2) AS ah_pct_of_regular
FROM
(
    SELECT
        ticker,
        volume,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
          + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL','MSFT','NVDA','AMZN','TSLA','META','GOOGL','AMD','INTC','F','KO','SPY','QQQ')
      AND window_start >= '2026-07-29 13:30:00'
      AND window_start <  '2026-07-30 00:00:00'
)
GROUP BY ticker
HAVING sumIf(volume, et_minute >= 570 AND et_minute < 960)  > 0
   AND sumIf(volume, et_minute >= 960 AND et_minute < 1200) > 0
ORDER BY after_hours_millions 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 analysismost-active-stocks-after-hours
ah_clock_curve series 16×4 → ah_extreme_survival series 13×4 → ah_spread_trace series 10×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 → SPY options median spread by expiration date, near-the-money strikes only ranking 25×4 → See all 2,985 queries →