aapl_volume_trace
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.
| session | volume_millions | avg_20d_millions |
|---|---|---|
| 2026-07-31 | 132.5 | 53.6 |
| 2026-08-03 | 75.1 | 54.7 |
| 2026-08-04 | 68 | 56 |
| 2026-08-05 | 49.4 | 56.4 |
| 2026-08-06 | 46.1 | 56.3 |
| 2026-08-07 | 34.4 | 56.3 |
| 2026-08-10 | 44.8 | 56.4 |
| 2026-08-11 | 37.5 | 56.5 |
| 2026-08-12 | 41.7 | 55.5 |
| 2026-08-13 | 40.3 | 54.4 |
| 2026-08-14 | 28.2 | 52.6 |
| 2026-08-17 | 38.2 | 51.9 |
| 2026-08-18 | 53.4 | 52.5 |
| 2026-08-19 | 50.5 | 53 |
| 2026-08-20 | 41 | 53.1 |
| 2026-08-21 | 46.9 | 53 |
| 2026-08-24 | 34.7 | 52.3 |
| 2026-08-25 | 25.9 | 51 |
| 2026-08-26 | 34 | 49.9 |
| 2026-08-27 | 32.4 | 47.8 |
| 2026-08-28 | 38.6 | 43.1 |
| 2026-08-31 | 41.2 | 41.4 |
| 2026-09-01 | 53.2 | 40.6 |
| 2026-09-02 | 33.8 | 39.8 |
| 2026-09-03 | 37.2 | 39.4 |
| 2026-09-04 | 39.6 | 39.7 |
| 2026-09-08 | 35.5 | 39.2 |
| 2026-09-09 | 65.6 | 40.6 |
| 2026-09-10 | 70 | 42 |
| 2026-09-11 | 50.7 | 42.5 |
| 2026-09-14 | 39.3 | 43.1 |
| 2026-09-15 | 31.7 | 42.8 |
| 2026-09-16 | 36 | 41.9 |
| 2026-09-17 | 36.7 | 41.2 |
- Rows × columns
- 34 × 3
- Period covered
- to
- 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 |
|---|---|---|---|
session |
date | 2026-07-31 to 2026-09-17 | |
volume_millions |
number | 25.9 to 132.5 | count |
avg_20d_millions |
number | 39.2 to 56.5 |
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
session,
volume_millions,
avg_20d_millions
FROM
(
SELECT
toString(d) AS session,
round(vol / 1e6, 1) AS volume_millions,
round(avg(vol) OVER (ORDER BY d ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) / 1e6, 1) AS avg_20d_millions,
count() OVER (ORDER BY d ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS sessions_in_window
FROM
(
SELECT
date AS d,
toFloat64(max(volume)) AS vol
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= today() - 75
AND date < today()
GROUP BY date
)
)
WHERE sessions_in_window = 20
ORDER BY session
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
avg_volume_by_ticker
series 4×4
→
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 →