STRASMORE/EXPLORE 3,256 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,256 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

Unusual Volume Stocks This Week, Measured
How the whole qualifying universe traded this week, bucketed by relative volumeranking · 2026-10-06 · 7×4Preview: 7 ranked values, smallest first. Persistence check: the eight leaders' daily relative volume across the five sessionstable · 2026-10-06 · 8×5 Highest relative volume this week: trailing 5 sessions vs. the prior 40, for names trading $500M+ in the weekseries · 2026-10-06 · 8×6Preview: a 8-point series, ending lower. The board leader, day by day: daily relative volume and open-to-close change (last 15 sessions)series · 2026-10-06 · 15×5Preview: a 15-point series, roughly flat. Wild multiples the dollar floor removes: highest relative volume among names trading under $500M this weekseries · 2026-10-06 · 6×5Preview: a 6-point series, ending lower.
What Is RVOL (Relative Volume)? How to Read It
SPY: median shares traded per minute, by 30-minute clock bucket (ET, last 30 days, extended hours)series · 2026-10-04 · 32×2Preview: a 16-point series, roughly flat. SPY: average share of full-day volume completed by each clock time (last 20 sessions)ranking · 2026-10-04 · 5×2Preview: 5 ranked values, smallest first. Top 10 by full-day RVOL: latest completed session (20-day ADV above 5M shares, full history required)series · 2026-10-04 · 10×5Preview: a 10-point series, ending lower. Full-day RVOL percentiles across high-volume US stocks and ETFs (20-day ADV above 5M shares), latest completed sessionranking · 2026-10-04 · 6×2Preview: 6 ranked values, smallest first. MU, the biggest-volume session of June 2026: time-adjusted vs. naive RVOL, plus the full-day figurescalar · 2026-10-04 · 1×832.8
Relative Volume Screener in SQL: Free API
Share of a session's volume completed by each half hour: SPY and KOseries · 2026-10-04 · 13×3Preview: a 13-point series, ending higher. Relative volume screener: top 20 by time adjusted RVOL at 11:00 a.m. ETtable · 2026-10-04 · 20×5 Cisco, September 22, 2026: naive RVOL against time adjusted RVOL through the sessionseries · 2026-10-04 · 13×3Preview: a 13-point series, ending higher. Share of the session completed by 11:00 a.m. ET, twelve household namesranking · 2026-10-04 · 12×3Preview: 12 ranked values, largest first.
Why Relative Volume Differs Between Platforms
Five relative-volume definitions on one AAPL session, at 10:30 a.m. ET and at the closeranking · 2026-09-28 · 5×3Preview: 5 ranked values, smallest first. One AAPL session, four lookbacks: full-day relative volume from daily barsranking · 2026-09-28 · 4×4Preview: 4 ranked values, largest first. How the session's volume piled up against the prior 10 sessions, checkpoint by checkpointseries · 2026-09-28 · 14×4Preview: a 14-point series, ending higher. Same session, same 10-session lookback: same-time basis vs full-day basis through the dayseries · 2026-09-28 · 14×3Preview: a 14-point series, ending higher.
How the whole qualifying universe traded this week, bucketed by relative volume

How the whole qualifying universe traded this week, bucketed by relative volume

most recentas of ranking 7×4read in context →
How the whole qualifying universe traded this week, bucketed by relative volume — 7 rows by 4 columns, computed from US exchange, SIP and OPRA data.
rvol_bucketnamespct_of_universeuniverse_names
10x or more10.1958
5x to 10x50.5958
3x to 5x101958
2x to 3x282.9958
1.5x to 2x636.6958
1x to 1.5x25326.4958
below 1x59862.4958
the exact SQL behind every number
WITH sess AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sum(toFloat64(close) * toFloat64(volume)) AS dollars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= now() - INTERVAL 70 DAY
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) >= 570
      AND toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')) < 960
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker, d
),
cal AS (
    SELECT d, row_number() OVER (ORDER BY d DESC) AS rn
    FROM (SELECT DISTINCT d FROM sess)
),
per_name AS (
    SELECT s.ticker AS ticker,
           avgIf(s.vol, c.rn <= 5) AS adv_recent,
           avgIf(s.vol, c.rn BETWEEN 6 AND 45) AS adv_base,
           sumIf(s.dollars, c.rn <= 5) AS dollar_recent,
           countIf(c.rn <= 5) AS recent_sessions,
           countIf(c.rn BETWEEN 6 AND 45) AS base_sessions
    FROM sess s INNER JOIN cal c ON s.d = c.d
    GROUP BY s.ticker
    HAVING adv_base > 100000 AND dollar_recent >= 500000000 AND recent_sessions = 5 AND base_sessions >= 35
),
scored AS (
    SELECT ticker,
           multiIf(adv_recent / adv_base >= 10, 1,
                   adv_recent / adv_base >= 5, 2,
                   adv_recent / adv_base >= 3, 3,
                   adv_recent / adv_base >= 2, 4,
                   adv_recent / adv_base >= 1.5, 5,
                   adv_recent / adv_base >= 1, 6, 7) AS bucket_key
    FROM per_name
),
buckets AS (
    SELECT arrayJoin([(1, '10x or more'), (2, '5x to 10x'), (3, '3x to 5x'), (4, '2x to 3x'),
                      (5, '1.5x to 2x'), (6, '1x to 1.5x'), (7, 'below 1x')]) AS bk
)
SELECT bk.2 AS rvol_bucket,
       countIf(scored.bucket_key = bk.1) AS names,
       round(100.0 * countIf(scored.bucket_key = bk.1) / count(), 1) AS pct_of_universe,
       count() AS universe_names
FROM scored CROSS JOIN buckets
GROUP BY bk
ORDER BY bk.1 ASC
$