avg_volume_by_ticker
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-18, from free-stock-data-api-in-python.
| ticker | avg_20d_millions | first_session | last_session |
|---|---|---|---|
| NVDA | 129.8 | 2026-08-20 | 2026-09-17 |
| AAPL | 41.2 | 2026-08-20 | 2026-09-17 |
| SPY | 39.8 | 2026-08-20 | 2026-09-17 |
| MSFT | 20.1 | 2026-08-20 | 2026-09-17 |
- Rows × columns
- 4 × 4
- Period covered
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
ticker |
text | 4 distinct values (AAPL, MSFT, NVDA…) | |
avg_20d_millions |
number | 20.1 to 129.8 | |
first_session |
date | 2026-08-20 | |
last_session |
date | 2026-09-17 |
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.
the exact SQL behind every number
SELECT
ticker,
round(avg(vol) / 1e6, 1) AS avg_20d_millions,
toString(min(d)) AS first_session,
toString(max(d)) AS last_session
FROM
(
SELECT
ticker,
d,
vol,
row_number() OVER (PARTITION BY ticker ORDER BY d DESC) AS rn
FROM
(
SELECT
ticker,
date AS d,
toFloat64(max(volume)) AS vol
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'NVDA', 'AAPL', 'MSFT')
AND date >= today() - 45
AND date < today()
GROUP BY ticker, date
)
)
WHERE rn <= 20
GROUP BY ticker
HAVING count() = 20
ORDER BY avg_20d_millions DESC
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysisfree-stock-data-api-in-python
aapl_volume_trace
series 34×3
→
One SPY $600 LEAPS call's price over two years (expired Jan 16 2026)
series 470×2
→
monthly
series 241×4
→
2s10s spread, monthly average: last 20 years
series 240×2
→
rolling_7y
series 193×5
→
Growth of $100 in the 1x SOXX vs the 3x SOXL, Jan 2 to Jul 13 2026
series 131×3
→
See all 2,358 queries →