STRASMORE/EXPLORE 3,022 QUERIES

adv_tiers

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 4×4read in context →
adv_tiers — 4 rows by 4 columns, computed from US exchange, SIP and OPRA data.
adv_tierabove_1_5x_pctabove_2x_pctabove_5x_pct
1. under 100k shares17.5711.132.87
2. 100k to 1m13.146.461.09
3. 1m to 10m11.084.780.62
4. over 10m shares9.663.870.45
Rows × columns
4 × 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 adv_tiers, derived from the stored result.
ColumnTypeRangeNotes
adv_tier text 4 distinct values
above_1_5x_pct number 9.66 to 17.57 percent
above_2x_pct number 3.87 to 11.13 percent
above_5x_pct number 0.45 to 2.87 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
),
rv AS
(
    SELECT
        date,
        vol,
        avg(vol) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS avg20
    FROM dedup
),
tiered AS
(
    SELECT
        multiIf(avg20 < 100000,    '1. under 100k shares',
                avg20 < 1000000,   '2. 100k to 1m',
                avg20 < 10000000,  '3. 1m to 10m',
                                   '4. over 10m shares') AS adv_tier,
        vol / avg20                                      AS rvol
    FROM rv
    WHERE date >= today() - 370
      AND avg20 >= 1000
)
SELECT
    adv_tier,
    round(100 * countIf(rvol >= 1.5) / count(), 2) AS above_1_5x_pct,
    round(100 * countIf(rvol >= 2.0) / count(), 2) AS above_2x_pct,
    round(100 * countIf(rvol >= 5.0) / count(), 2) AS above_5x_pct
FROM tiered
GROUP BY adv_tier
ORDER BY adv_tier
⌘/Ctrl + Enter

Use dis data for your AI assistant

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