STRASMORE/EXPLORE 3,022 QUERIES

rvol_bands

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-04, from what-is-a-good-relative-volume.

as of ranking 7×3read in context →
rvol_bands — 7 rows by 3 columns, computed from US exchange, SIP and OPRA data.
rvol_bandtrading_daysshare_of_days_pct
1. under 0.5x4587511.05
2. 0.5x to 1x21421751.58
3. 1x to 1.5x10609725.55
4. 1.5x to 2x275026.62
5. 2x to 3x134093.23
6. 3x to 5x47491.14
7. 5x and up34760.84
Rows × columns
7 × 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 rvol_bands, derived from the stored result.
ColumnTypeRangeNotes
rvol_band text 7 distinct values
trading_days number 3,476 to 214,217
share_of_days_pct number 0.84 to 51.58 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
dedup AS
(
    SELECT
        ticker,
        date,
        toFloat64(max(volume)) AS vol
    FROM global_markets.stocks_daily_aggs
    WHERE date >= today() - 400
      AND ifNull(otc, 0) = 0
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker, date
),
liquid AS
(
    SELECT ticker
    FROM dedup
    GROUP BY ticker
    HAVING avg(vol) >= 2000000
       AND count() >= 220
),
rv AS
(
    SELECT
        date,
        vol / avg(vol) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS rvol
    FROM dedup
    WHERE ticker IN (SELECT ticker FROM liquid)
)
SELECT
    multiIf(rvol < 0.5,  '1. under 0.5x',
            rvol < 1.0,  '2. 0.5x to 1x',
            rvol < 1.5,  '3. 1x to 1.5x',
            rvol < 2.0,  '4. 1.5x to 2x',
            rvol < 3.0,  '5. 2x to 3x',
            rvol < 5.0,  '6. 3x to 5x',
                         '7. 5x and up')      AS rvol_band,
    count()                                   AS trading_days,
    round(100 * count() / sum(count()) OVER (), 2) AS share_of_days_pct
FROM rv
WHERE date >= today() - 370
  AND isFinite(rvol)
GROUP BY rvol_band
ORDER BY rvol_band
⌘/Ctrl + Enter

Use dis data for your AI assistant

E go open ready to query, with dis page data. Free, no account.