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-20, from best-stocks-for-day-trading-options.
| session_date | session_label | spy_millions | qqq_millions | iwm_millions | nvda_millions |
|---|---|---|---|---|---|
| 2026-08-20 | Aug 20 | 3.28 | 2.59 | 1.22 | 2.03 |
| 2026-08-21 | Aug 21 | 2.6 | 1.74 | 0.72 | 1.46 |
| 2026-08-24 | Aug 24 | 2.51 | 2.05 | 0.49 | 1.81 |
| 2026-08-25 | Aug 25 | 2.18 | 1.51 | 0.44 | 1.85 |
| 2026-08-26 | Aug 26 | 2.24 | 1.83 | 0.4 | 2.57 |
| 2026-08-27 | Aug 27 | 3.15 | 2.04 | 0.61 | 6.88 |
| 2026-08-28 | Aug 28 | 3.48 | 2.12 | 1.35 | 3.25 |
| 2026-08-31 | Aug 31 | 2.98 | 1.77 | 0.87 | 1.58 |
| 2026-09-01 | Sep 1 | 3.65 | 2.6 | 1.5 | 2.49 |
| 2026-09-02 | Sep 2 | 2.53 | 1.89 | 1.05 | 2.62 |
| 2026-09-03 | Sep 3 | 3.71 | 2.4 | 1.1 | 3.52 |
| 2026-09-04 | Sep 4 | 2.68 | 1.8 | 0.47 | 2.17 |
| 2026-09-08 | Sep 8 | 2.88 | 1.86 | 0.65 | 2.37 |
| 2026-09-09 | Sep 9 | 2.8 | 1.81 | 1.08 | 1.29 |
| 2026-09-10 | Sep 10 | 3.81 | 2.26 | 1.55 | 2.26 |
| 2026-09-11 | Sep 11 | 3.26 | 2.01 | 0.94 | 1.39 |
| 2026-09-14 | Sep 14 | 3.3 | 2.73 | 1.35 | 1.88 |
| 2026-09-15 | Sep 15 | 3.11 | 2.25 | 1.1 | 1.64 |
| 2026-09-16 | Sep 16 | 4.82 | 3.04 | 1.44 | 1.56 |
| 2026-09-17 | Sep 17 | 4.22 | 2.65 | 1.12 | 1.91 |
- Rows × columns
- 20 × 6
- 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 |
date | 2026-08-20 to 2026-09-17 | |
session_label |
text | 20 distinct values (Aug 20, Aug 21, Aug 24…) | |
spy_millions |
number | 2.18 to 4.82 | |
qqq_millions |
number | 1.51 to 3.04 | |
iwm_millions |
number | 0.4 to 1.55 | |
nvda_millions |
number | 1.29 to 6.88 |
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.
SELECT
toString(date) AS session_date,
concat(formatDateTime(date, '%b'), ' ', toString(toDayOfMonth(date))) AS session_label,
round(sumIf(volume, underlying_symbol = 'SPY') / 1e6, 2) AS spy_millions,
round(sumIf(volume, underlying_symbol = 'QQQ') / 1e6, 2) AS qqq_millions,
round(sumIf(volume, underlying_symbol = 'IWM') / 1e6, 2) AS iwm_millions,
round(sumIf(volume, underlying_symbol = 'NVDA') / 1e6, 2) AS nvda_millions
FROM global_markets.options_greeks
WHERE date IN
(
SELECT date
FROM global_markets.options_greeks
WHERE date >= today() - 40
GROUP BY date
ORDER BY date DESC
LIMIT 20
)
AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'NVDA')
AND volume > 0
GROUP BY date
ORDER BY date