STRASMORE/EXPLORE 2,358 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,358 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

where-to-find-options-trade-data
venue_sharetable · 2026-09-18 · 18×5 session_clockseries · 2026-09-18 · 14×5Preview: a 14-point series, ending higher. 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×2Preview: 7 ranked values, largest first. spy_strike_weightsranking · 2026-09-18 · 11×4Preview: 11 ranked values, largest first.
what-are-tokenized-stocks
volume_by_segmentranking · 2026-09-18 · 5×3Preview: 5 ranked values, largest first. off_hours_shareranking · 2026-09-18 · 5×3Preview: 5 ranked values, largest first. aapl_dividendsseries · 2026-09-18 · 11×7Preview: a 11-point series, ending lower.
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×3Preview: a 13-point series, ending lower. 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×4Preview: a 12-point series, ending higher. pay_calendartable · 2026-09-18 · 30×8 gap_bucketsranking · 2026-09-18 · 6×4Preview: 6 ranked values, largest first.
the-september-effect
worst_septembersranking · 2026-09-18 · 3×2Preview: 3 ranked values, smallest first. septembers_by_yearranking · 2026-09-18 · 22×2Preview: 16 ranked values, smallest first. monthlytable · 2026-09-18 · 12×6 decadesranking · 2026-09-18 · 3×4Preview: 3 ranked values, largest first.
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×4Preview: a 16-point series, ending lower. aapl_splitstable · 2026-09-18 · 3×5
nasdaq-opening-cross-explained
open_minute_shareranking · 2026-09-18 · 5×4Preview: 5 ranked values, largest first. open_conditionsranking · 2026-09-18 · 14×3Preview: 14 ranked values, smallest first. aapl_open_minute_traceseries · 2026-09-18 · 21×4Preview: a 16-point series, ending higher.
market-wide-circuit-breakers-explained
trigger_levelstable · 2026-09-18 · 3×7 march_2020_sessionsseries · 2026-09-18 · 22×6Preview: a 16-point series, ending lower. halt_daysseries · 2026-09-18 · 4×8Preview: a 4-point series, ending lower. daily_recalcseries · 2026-09-18 · 15×5Preview: a 15-point series, ending lower.
how-much-money-do-you-need-to-trade-options
spread_ladderranking · 2026-09-18 · 8×3Preview: 8 ranked values, largest first. put_traceseries · 2026-09-18 · 31×5Preview: a 16-point series, ending lower. 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×3Preview: a 16-point series, ending higher. streaksranking · 2026-09-18 · 4×3Preview: 4 ranked values, largest first. reverse_splits_monthlyseries · 2026-09-18 · 12×3Preview: a 12-point series, roughly flat. price_bucketsranking · 2026-09-18 · 5×4Preview: 5 ranked values, smallest first.
free-stock-data-api-in-python
avg_volume_by_tickerseries · 2026-09-18 · 4×4Preview: a 4-point series, ending lower. aapl_volume_traceseries · 2026-09-18 · 34×3Preview: a 16-point series, ending lower.
are-0dte-options-high-risk
strike_gammaranking · 2026-09-18 · 9×3Preview: 9 ranked values, largest first. premium_laddertable · 2026-09-18 · 5×5 greeks_ladderseries · 2026-09-18 · 5×5Preview: a 5-point series, ending lower. expiry_outcomesranking · 2026-09-18 · 5×2Preview: 5 ranked values, largest first. expiry_dayseries · 2026-09-18 · 21×6Preview: a 16-point series, ending lower.
when-do-vix-options-expire
wednesday_expiriesranking · 2026-09-17 · 12×3Preview: 12 ranked values, largest first.
what-is-the-3m10y-spread
recentseries · 2026-09-17 · 60×6Preview: a 16-point series, ending higher. monthlyseries · 2026-09-17 · 241×4Preview: a 16-point series, ending higher. inversionsseries · 2026-09-17 · 9×6Preview: a 9-point series, roughly flat. front_endseries · 2026-09-17 · 42×5Preview: a 16-point series, ending higher. episodes_comparedtable · 2026-09-17 · 3×9
what-does-cross-mean-in-trading
quote_statesranking · 2026-09-17 · 3×4Preview: 3 ranked values, largest first. cross_minutesseries · 2026-09-17 · 7×4Preview: a 7-point series, roughly flat. 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×2Preview: 8 ranked values, largest first. The eleven S&P 500 sectors over the past weekranking · 2026-09-17 · 11×2Preview: 11 ranked values, largest first. Biggest stock losers over the past weekranking · 2026-09-17 · 7×3Preview: 7 ranked values, smallest first. The major index ETFs over the past weekranking · 2026-09-17 · 4×4Preview: 4 ranked values, largest first. Biggest stock gainers over the past weekranking · 2026-09-17 · 7×3Preview: 7 ranked values, largest first. Daily market breadth: advancers vs decliners each session (names trading $500M+)series · 2026-09-17 · 5×3Preview: a 5-point series, roughly flat.
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×2Preview: 2 ranked values, largest first. Announced stock splits by effective month: forward vs reverseseries · 2026-09-17 · 4×4Preview: a 4-point series, ending lower.
Unusual Volume Stocks This Week, Measured
How the whole qualifying universe traded this week, bucketed by relative volumeranking · 2026-09-17 · 7×4Preview: 7 ranked values, smallest first. 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×6Preview: a 8-point series, roughly flat. The board leader, day by day: daily relative volume and open-to-close change (last 15 sessions)series · 2026-09-17 · 15×5Preview: a 15-point series, roughly flat. Wild multiples the dollar floor removes: highest relative volume among names trading under $500M this weekseries · 2026-09-17 · 6×5Preview: a 6-point series, ending higher.
Unusual Options Activity: Last Session
Market-wide options volume by session, with monthly expirations labelledseries · 2026-09-17 · 25×5Preview: a 16-point series, ending higher. 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×4Preview: 6 ranked values, largest first. 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×4Preview: a 13-point series, roughly flat. open_vs_lunchtable · 2026-09-17 · 5×6 lunch_povseries · 2026-09-17 · 13×4Preview: a 13-point series, ending higher. curve_dispersionseries · 2026-09-17 · 13×4Preview: a 13-point series, ending higher.
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×5Preview: a 16-point series, ending higher. return_bucketsranking · 2026-09-17 · 5×3Preview: 5 ranked values, smallest first.
the-390-rule-in-options-trading
spy_trade_sizesranking · 2026-09-17 · 5×3Preview: 5 ranked values, largest first. spy_option_paceseries · 2026-09-17 · 14×3Preview: a 14-point series, ending lower. session_shapeseries · 2026-09-17 · 16×3Preview: a 16-point series, roughly flat. one_lot_shareranking · 2026-09-17 · 6×4Preview: 6 ranked values, largest first.
Short Squeeze Candidates This Week
Squeeze-shaped mechanics: crowded shorts among liquid names, with a rising priceranking · 2026-09-17 · 12×4Preview: 12 ranked values, largest first. 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×3Preview: 6 ranked values, smallest first. From the whole settlement file down to the screened list, one rule at a timeranking · 2026-09-17 · 4×2Preview: 4 ranked values, largest first. Every input behind this screen, and how many days old it isseries · 2026-09-17 · 3×3Preview: a 3-point series, ending lower. Liquid names at 5+ and 10+ days to cover, settlement by settlementseries · 2026-09-17 · 12×4Preview: a 12-point series, ending higher.
santa-claus-rally
worst_windowstable · 2026-09-17 · 5×5 window_vs_decembertable · 2026-09-17 · 3×8 window_volumeranking · 2026-09-17 · 7×4Preview: 7 ranked values, smallest first. santa_windowstable · 2026-09-17 · 23×5 folklore_testtable · 2026-09-17 · 2×6
page 1 of 24
Average S&P 500 tracker return by calendar month, May 2005 through April 2026

Average S&P 500 tracker return by calendar month, May 2005 through April 2026

as of table 12×5read in context →
Average S&P 500 tracker return by calendar month, May 2005 through April 2026 — 12 rows by 5 columns, computed from US exchange, SIP and OPRA data.
labelreadingsavg_return_pctmedian_return_pctpositive_readings
Jan210.361.5912
Feb210.130.2511
Mar210.580.9613
Apr212.41.5617
May210.881.3916
Jun21-0.19-0.1910
Jul212.632.2817
Aug210.281.4213
Sep21-0.750.3812
Oct210.972.1712
Nov212.392.7516
Dec210.190.413
the exact SQL behind every number
WITH monthly AS (
    SELECT toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York'))) AS month_start,
           argMax(close, window_start) AS month_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2005-04-01')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-04-30')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY month_start
),
month_returns AS (
    SELECT m1.month_start AS month_start,
           100 * (toFloat64(m1.month_close) / toFloat64(m0.month_close) - 1) AS ret_pct
    FROM monthly AS m1
    INNER JOIN monthly AS m0 ON m0.month_start = addMonths(m1.month_start, -1)
)
SELECT formatDateTime(month_start, '%b') AS label,
       count() AS readings,
       round(avg(ret_pct), 2) AS avg_return_pct,
       round(quantileDeterministic(0.5)(ret_pct, cityHash64(month_start)), 2) AS median_return_pct,
       countIf(ret_pct > 0) AS positive_readings
FROM month_returns
GROUP BY label
ORDER BY min(toMonth(month_start))
$