where-to-find-options-trade-data
venue_sharetable ·
2026-09-18 · 18×5
session_clockseries ·
2026-09-18 · 14×5
largest_printstable ·
2026-09-18 · 10×7
iv_skewtable ·
2026-09-18 · 29×4
what-is-the-cme-cvol-index
spy_term_structureranking ·
2026-09-18 · 7×2
spy_strike_weightsranking ·
2026-09-18 · 11×4
what-are-tokenized-stocks
volume_by_segmentranking ·
2026-09-18 · 5×3
off_hours_shareranking ·
2026-09-18 · 5×3
aapl_dividendsseries ·
2026-09-18 · 11×7
upcoming-ipo-lockup-expirations
prospectus_receiptstable ·
2026-09-18 · 50×4
price_vs_offertable ·
2026-09-18 · 51×5
lockup_pipelineseries ·
2026-09-18 · 13×3
lockup_calendartable ·
2026-09-18 · 57×8
early_release_watchtable ·
2026-09-18 · 25×6
upcoming-dividend-payment-dates
sector_gaptable ·
2026-09-18 · 7×5
pay_daysseries ·
2026-09-18 · 12×4
pay_calendartable ·
2026-09-18 · 30×8
gap_bucketsranking ·
2026-09-18 · 6×4
the-september-effect
worst_septembersranking ·
2026-09-18 · 3×2
septembers_by_yearranking ·
2026-09-18 · 22×2
monthlytable ·
2026-09-18 · 12×6
decadesranking ·
2026-09-18 · 3×4
stock-split-candidates
stubborntable ·
2026-09-18 · 12×5
split_historytable ·
2026-09-18 · 16×6
candidatestable ·
2026-09-18 · 15×8
aapl_traceseries ·
2026-09-18 · 84×4
aapl_splitstable ·
2026-09-18 · 3×5
nasdaq-opening-cross-explained
open_minute_shareranking ·
2026-09-18 · 5×4
open_conditionsranking ·
2026-09-18 · 14×3
aapl_open_minute_traceseries ·
2026-09-18 · 21×4
market-wide-circuit-breakers-explained
trigger_levelstable ·
2026-09-18 · 3×7
march_2020_sessionsseries ·
2026-09-18 · 22×6
halt_daysseries ·
2026-09-18 · 4×8
daily_recalcseries ·
2026-09-18 · 15×5
how-much-money-do-you-need-to-trade-options
spread_ladderranking ·
2026-09-18 · 8×3
put_traceseries ·
2026-09-18 · 31×5
put_laddertable ·
2026-09-18 · 8×5
call_laddertable ·
2026-09-18 · 8×5
how-long-can-a-stock-trade-under-1-dollar
sub_dollar_trendseries ·
2026-09-18 · 105×3
streaksranking ·
2026-09-18 · 4×3
reverse_splits_monthlyseries ·
2026-09-18 · 12×3
price_bucketsranking ·
2026-09-18 · 5×4
free-stock-data-api-in-python
avg_volume_by_tickerseries ·
2026-09-18 · 4×4
aapl_volume_traceseries ·
2026-09-18 · 34×3
are-0dte-options-high-risk
strike_gammaranking ·
2026-09-18 · 9×3
premium_laddertable ·
2026-09-18 · 5×5
greeks_ladderseries ·
2026-09-18 · 5×5
expiry_outcomesranking ·
2026-09-18 · 5×2
expiry_dayseries ·
2026-09-18 · 21×6
when-do-vix-options-expire
wednesday_expiriesranking ·
2026-09-17 · 12×3
what-is-the-3m10y-spread
recentseries ·
2026-09-17 · 60×6
monthlyseries ·
2026-09-17 · 241×4
inversionsseries ·
2026-09-17 · 9×6
front_endseries ·
2026-09-17 · 42×5
episodes_comparedtable ·
2026-09-17 · 3×9
what-does-cross-mean-in-trading
quote_statesranking ·
2026-09-17 · 3×4
cross_minutesseries ·
2026-09-17 · 7×4
cross_codestable ·
2026-09-17 · 13×5
Weekly Market Recap: The Week in Numbers
Where the volume went: most dollars traded over the past weekranking ·
2026-09-17 · 8×2
The eleven S&P 500 sectors over the past weekranking ·
2026-09-17 · 11×2
Biggest stock losers over the past weekranking ·
2026-09-17 · 7×3
The major index ETFs over the past weekranking ·
2026-09-17 · 4×4
Biggest stock gainers over the past weekranking ·
2026-09-17 · 7×3
Daily market breadth: advancers vs decliners each session (names trading $500M+)series ·
2026-09-17 · 5×3
Upcoming Stock Splits Calendar
Upcoming US stock splits: announced, with a future effective datetable ·
2026-09-17 · 30×5
Announced upcoming splits by directionranking ·
2026-09-17 · 2×2
Announced stock splits by effective month: forward vs reverseseries ·
2026-09-17 · 4×4
Unusual Volume Stocks This Week, Measured
How the whole qualifying universe traded this week, bucketed by relative volumeranking ·
2026-09-17 · 7×4
Persistence check: the eight leaders' daily relative volume across the five sessionstable ·
2026-09-17 · 8×5
Highest relative volume this week: trailing 5 sessions vs. the prior 40, for names trading $500M+ in the weekseries ·
2026-09-17 · 8×6
The board leader, day by day: daily relative volume and open-to-close change (last 15 sessions)series ·
2026-09-17 · 15×5
Wild multiples the dollar floor removes: highest relative volume among names trading under $500M this weekseries ·
2026-09-17 · 6×5
Unusual Options Activity: Last Session
Market-wide options volume by session, with monthly expirations labelledseries ·
2026-09-17 · 25×5
Calls or puts: the board's call and put contract volume on the same sessiontable ·
2026-09-17 · 10×5
What follows a heavy options session: next-session absolute move vs. the same names on an ordinary daytable ·
2026-09-17 · 5×6
What the session's contracts were made of: options volume by days to expiryranking ·
2026-09-17 · 6×4
Unusual options activity: last completed session vs. each underlying's own 20-session averagetable ·
2026-09-17 · 10×8
twap-vs-vwap-vs-pov-orders
volume_curveseries ·
2026-09-17 · 13×4
open_vs_lunchtable ·
2026-09-17 · 5×6
lunch_povseries ·
2026-09-17 · 13×4
curve_dispersionseries ·
2026-09-17 · 13×4
the-7-5-3-1-rule-mutual-funds
worst_windowstable ·
2026-09-17 · 8×6
step_uptable ·
2026-09-17 · 10×5
rolling_7yseries ·
2026-09-17 · 193×5
return_bucketsranking ·
2026-09-17 · 5×3
the-390-rule-in-options-trading
spy_trade_sizesranking ·
2026-09-17 · 5×3
spy_option_paceseries ·
2026-09-17 · 14×3
session_shapeseries ·
2026-09-17 · 16×3
one_lot_shareranking ·
2026-09-17 · 6×4
Short Squeeze Candidates This Week
Squeeze-shaped mechanics: crowded shorts among liquid names, with a rising priceranking ·
2026-09-17 · 12×4
The screened names ranked by short interest against shares outstanding (not float)table ·
2026-09-17 · 10×5
Every past screened name, by what it did over the next 30 daysranking ·
2026-09-17 · 6×3
From the whole settlement file down to the screened list, one rule at a timeranking ·
2026-09-17 · 4×2
Every input behind this screen, and how many days old it isseries ·
2026-09-17 · 3×3
Liquid names at 5+ and 10+ days to cover, settlement by settlementseries ·
2026-09-17 · 12×4
santa-claus-rally
worst_windowstable ·
2026-09-17 · 5×5
window_vs_decembertable ·
2026-09-17 · 3×8
window_volumeranking ·
2026-09-17 · 7×4
santa_windowstable ·
2026-09-17 · 23×5
folklore_testtable ·
2026-09-17 · 2×6
Next 100 →
page 1 of 24
expiry_day
expiry_day
| expiry_date | expiry_label | premium_prior_close | value_at_expiry | pct_of_premium_left | spy_move_pct |
|---|---|---|---|---|---|
| 2026-06-01 | Mon Jun 1 | 2.5 | 0.58 | 23 | 0.12 |
| 2026-06-02 | Tue Jun 2 | 2.71 | 2.63 | 97 | 0.4 |
| 2026-06-03 | Wed Jun 3 | 1.62 | 0 | 0 | -1.2 |
| 2026-06-04 | Thu Jun 4 | 3.99 | 3.56 | 89 | 0.53 |
| 2026-06-05 | Fri Jun 5 | 2.98 | 0 | 0 | -2.54 |
| 2026-06-08 | Mon Jun 8 | 3.95 | 3.72 | 94 | 0.46 |
| 2026-06-09 | Tue Jun 9 | 2.75 | 0 | 0 | -0.41 |
| 2026-06-10 | Wed Jun 10 | 3.61 | 0 | 0 | -1.74 |
| 2026-06-11 | Thu Jun 11 | 5.44 | 16.48 | 303 | 2.3 |
| 2026-06-12 | Fri Jun 12 | 3.5 | 3.45 | 99 | 0.4 |
| 2026-06-15 | Mon Jun 15 | 3.48 | 11.91 | 342 | 1.54 |
| 2026-06-16 | Tue Jun 16 | 2.22 | 0 | 0 | -0.42 |
| 2026-06-17 | Wed Jun 17 | 2.23 | 0 | 0 | -0.69 |
| 2026-06-18 | Thu Jun 18 | 0.89 | 0.94 | 106 | 0.18 |
| 2026-06-22 | Mon Jun 22 | 3.15 | 0 | 0 | -0.44 |
| 2026-06-23 | Tue Jun 23 | 2.78 | 0 | 0 | -1.16 |
| 2026-06-24 | Wed Jun 24 | 2.75 | 2.2 | 80 | 0.3 |
| 2026-06-25 | Thu Jun 25 | 2.68 | 0 | 0 | -0.61 |
| 2026-06-26 | Fri Jun 26 | 3.61 | 0 | 0 | -0.2 |
| 2026-06-29 | Mon Jun 29 | 3.86 | 9.76 | 253 | 1.31 |
| 2026-06-30 | Tue Jun 30 | 2.31 | 5.3 | 229 | 0.75 |
the exact SQL behind every number
WITH spy_by_day AS
(
SELECT
toDate(date) AS d,
medianExact(toFloat64(underlying_close)) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND underlying_close > 0
GROUP BY d
),
last_sessions AS
(
SELECT
toDate(expiration_date) AS exp_date,
max(toDate(date)) AS prior_session
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND expiration_date >= toDate('2026-06-01')
AND expiration_date < toDate('2026-07-01')
AND date >= toDate('2026-05-22')
AND date < expiration_date
AND volume > 0
GROUP BY exp_date
),
atm AS
(
SELECT
toDate(g.expiration_date) AS exp_date,
argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close))) AS strike,
argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close))) AS premium_before,
argMin(toFloat64(g.underlying_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close))) AS spy_before
FROM global_markets.options_greeks AS g
INNER JOIN last_sessions AS ls
ON ls.exp_date = toDate(g.expiration_date) AND ls.prior_session = toDate(g.date)
WHERE g.underlying_symbol = 'SPY'
AND lower(toString(g.option_type)) IN ('call', 'c')
AND g.date >= toDate('2026-05-22')
AND g.date < toDate('2026-07-01')
AND g.volume > 0
AND g.option_close > 0
GROUP BY exp_date
)
SELECT
toString(a.exp_date) AS expiry_date,
concat(formatDateTime(a.exp_date, '%a %b '), toString(toDayOfMonth(a.exp_date))) AS expiry_label,
round(a.premium_before, 2) AS premium_prior_close,
round(greatest(s.spot - a.strike, 0.0), 2) AS value_at_expiry,
round(greatest(s.spot - a.strike, 0.0) / a.premium_before * 100, 0) AS pct_of_premium_left,
round((s.spot / a.spy_before - 1) * 100, 2) AS spy_move_pct
FROM atm AS a
INNER JOIN spy_by_day AS s
ON s.d = a.exp_date
ORDER BY a.exp_date
More from this analysisare-0dte-options-high-risk
greeks_ladder
series 5×5
→
strike_gamma
ranking 9×3
→
premium_ladder
table 5×5
→
expiry_outcomes
ranking 5×2
→
See all 2,358 queries →