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

2,225 answered market questions

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

Weekly Market Recap: The Week in Numbers
Where the volume went: most dollars traded over the past weekranking · 2026-09-13 · 8×2Preview: 8 ranked values, largest first. The eleven S&P 500 sectors over the past weekranking · 2026-09-13 · 11×2Preview: 11 ranked values, largest first. Biggest stock losers over the past weekranking · 2026-09-13 · 7×3Preview: 7 ranked values, smallest first. The major index ETFs over the past weekranking · 2026-09-13 · 4×4Preview: 4 ranked values, largest first. Biggest stock gainers over the past weekranking · 2026-09-13 · 7×3Preview: 7 ranked values, largest first. Daily market breadth: advancers vs decliners each session (names trading $500M+)series · 2026-09-13 · 5×3Preview: a 5-point series, ending lower.
Upcoming Stock Splits Calendar
Upcoming US stock splits: announced, with a future effective datetable · 2026-09-13 · 30×5 Announced upcoming splits by directionranking · 2026-09-13 · 2×2Preview: 2 ranked values, smallest first. Announced stock splits by effective month: forward vs reverseseries · 2026-09-13 · 4×4Preview: a 4-point series, ending lower.
Upcoming Ex-Dividend Dates: Stocks This Week
Three household payers at their last ex-date: prior close, ex-morning open, and the payment for scaleseries · 2026-09-13 · 3×8Preview: a 3-point series, roughly flat. Who goes ex-dividend in the next 14 days: names, cadence and implied yield by size bandtable · 2026-09-13 · 4×5 Names going ex-dividend, day by day: the next seven days of declared recordsseries · 2026-09-13 · 5×5Preview: a 5-point series, roughly flat. Ex-dividend dates by calendar month: three-year average, quarterly vs monthly payersseries · 2026-09-13 · 12×4Preview: a 12-point series, ending higher. Thirteen big dividend and income funds: last ex-date, cadence, and the implied next ex-dateseries · 2026-09-13 · 13×8Preview: a 13-point series, roughly flat. Forward-declared ex-dividend records on file: the receipt behind this calendarscalar · 2026-09-13 · 1×53,941 Every mega-cap ex-dividend event of the past six months: price path from the pre-ex closetable · 2026-09-13 · 5×6 Largest companies going ex-dividend in the next 14 days: amount, pay date, indicated yieldseries · 2026-09-13 · 12×8Preview: a 12-point series, ending higher.
Unusual Volume Stocks This Week, Measured
How the whole qualifying universe traded this week, bucketed by relative volumeranking · 2026-09-13 · 7×4Preview: 7 ranked values, smallest first. Persistence check: the eight leaders' daily relative volume across the five sessionstable · 2026-09-13 · 8×5 Highest relative volume this week: trailing 5 sessions vs. the prior 40, for names trading $500M+ in the weekseries · 2026-09-13 · 8×6Preview: a 8-point series, ending lower. The board leader, day by day: daily relative volume and open-to-close change (last 15 sessions)series · 2026-09-13 · 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-13 · 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-13 · 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-13 · 10×5 What follows a heavy options session: next-session absolute move vs. the same names on an ordinary daytable · 2026-09-13 · 5×6 What the session's contracts were made of: options volume by days to expiryranking · 2026-09-13 · 6×4Preview: 6 ranked values, largest first. Unusual options activity: last completed session vs. each underlying's own 20-session averagetable · 2026-09-13 · 10×8
Short Squeeze Candidates This Week
Squeeze-shaped mechanics: crowded shorts among liquid names, with a rising priceranking · 2026-09-13 · 12×4Preview: 12 ranked values, largest first. The screened names ranked by short interest against shares outstanding (not float)table · 2026-09-13 · 10×5 Every past screened name, by what it did over the next 30 daysranking · 2026-09-13 · 6×3Preview: 6 ranked values, smallest first. From the whole settlement file down to the screened list, one rule at a timeranking · 2026-09-13 · 4×2Preview: 4 ranked values, largest first. Every input behind this screen, and how many days old it isseries · 2026-09-13 · 3×3Preview: a 3-point series, ending lower. Liquid names at 5+ and 10+ days to cover, settlement by settlementseries · 2026-09-13 · 12×4Preview: a 12-point series, ending higher.
Recent Stock Splits (Forward and Reverse)
Forward vs reverse splits executed in the last 45 daysranking · 2026-09-13 · 2×2Preview: 2 ranked values, largest first. Recent reverse stock splits (shares consolidated), last 30 daysranking · 2026-09-13 · 15×4Preview: 15 ranked values, largest first. Recent forward stock splits (shares multiplied), last 60 days, ETFs excludedranking · 2026-09-13 · 15×4Preview: 15 ranked values, largest first.
ndx-vs-qqq-options
qqq_liquidityscalar · 2026-09-13 · 1×720.5 qqq_dividendsseries · 2026-09-13 · 8×4Preview: a 8-point series, ending lower. expiry_weekdaysranking · 2026-09-13 · 5×2Preview: 5 ranked values, smallest first. contract_sizescalar · 2026-09-13 · 1×4714.88
Most Shorted Stocks Right Now, Measured
The receipts: universe size, filter bite, median crowding, and list churn at the latest printscalar · 2026-09-13 · 1×522,567 Largest short positions by shares: latest settlement, liquid namesranking · 2026-09-13 · 10×4Preview: 10 ranked values, largest first. Crowding leaders vs. their own price: about one month of sessionsseries · 2026-09-13 · 4×5Preview: a 4-point series, ending higher. GME through the January 2021 squeeze: the same three columns, settlement by settlementseries · 2026-09-13 · 10×4Preview: a 10-point series, ending lower. Today's top-3 crowding leaders, traced back eight settlementsseries · 2026-09-13 · 8×4Preview: a 8-point series, ending higher. Biggest days-to-cover increases, latest settlement vs. the prior printranking · 2026-09-13 · 8×4Preview: 8 ranked values, largest first. Highest days to cover among liquid names: latest settlement on filetable · 2026-09-13 · 10×5
Stock Market Holidays 2026–2027: NYSE & Nasdaq
Upcoming US stock market holidays and early closesseries · 2026-09-13 · 12×6Preview: a 12-point series, ending higher. Recently-passed weekday closures, recovered from the SPY tapeseries · 2026-09-13 · 4×3Preview: a 4-point series, roughly flat. Regular trading sessions over the trailing yearscalar · 2026-09-13 · 1×3252 The closure calendar ahead, at a glancescalar · 2026-09-13 · 1×610
Is the Stock Market Open Today?
This calendar year's closures: already passed (counted from the tape) plus still ahead (from the calendar)table · 2026-09-13 · 2×5 SPY across recent weekends and holiday weekends: Friday's close vs. the reopening printseries · 2026-09-13 · 10×6Preview: a 10-point series, ending lower. Every upcoming NYSE closure and early close on the calendar feed, with a countdownseries · 2026-09-13 · 12×6Preview: a 12-point series, ending higher. Unscheduled closures on the tape: zero regular-session bars on an ordinary weekdayseries · 2026-09-13 · 5×4Preview: a 5-point series, roughly flat. Market status computed at this page's refresh: weekday check, holiday check, and the ET clockscalar · 2026-09-13 · 1×71 The most recent session on the tape: bar count, same-day SPY options prints, and the last half-day observedscalar · 2026-09-13 · 1×6390 Weekdays in the trailing year when stocks traded but no Treasury yield printedtable · 2026-09-13 · 2×2
how-to-find-short-positions-in-german-stocks
short_quote_exampleranking · 2026-09-13 · 5×2Preview: 5 ranked values, smallest first.
Highest Implied Volatility Stocks Right Now
SPY, the same measurement: the market's calm benchmarkscalar · 2026-09-13 · 1×315 ATM implied volatility across every actively traded underlying, latest sessionscalar · 2026-09-13 · 1×5972 Highest ATM implied volatility: liquid single names and funds, latest sessiontable · 2026-09-13 · 12×5
Dividend Increases & Cuts This Week
Increases against cuts, by week of declaration (complete weeks only)series · 2026-09-13 · 26×4Preview: a 16-point series, roughly flat. Payers across their own share split: the raw change against the split-adjusted changeseries · 2026-09-13 · 9×7Preview: a 9-point series, ending lower. Increases, cuts and the typical raise this calendar year, by company size (bands use today's market value)table · 2026-09-13 · 4×6 Dividend increases declared in the last 7 days, largest companies first (capped at 12 rows)series · 2026-09-13 · 5×8Preview: a 5-point series, ending lower. Dividend cuts declared in the last 90 days, the deepest 14 first (one week is too thin for a table)series · 2026-09-13 · 14×6Preview: a 14-point series, ending higher.
can-a-death-cross-be-bullish
windowscalar · 2026-09-13 · 1×115,788 whipsawranking · 2026-09-13 · 11×4Preview: 11 ranked values, largest first. trace_2020series · 2026-09-13 · 126×4Preview: a 16-point series, ending higher. forward_recordtable · 2026-09-13 · 4×9 death_crossestable · 2026-09-13 · 11×6 covid_2020scalar · 2026-09-13 · 1×16338.34
Biggest Stock Gainers and Losers This Week
Biggest stock losers this week (names trading $1B+, leveraged/inverse ETFs excluded)ranking · 2026-09-13 · 10×4Preview: 10 ranked values, smallest first. The four major index ETFs this week, for contextranking · 2026-09-13 · 4×2Preview: 4 ranked values, largest first. Biggest stock gainers this week (names trading $1B+, leveraged/inverse ETFs excluded)ranking · 2026-09-13 · 10×4Preview: 10 ranked values, largest first.
Biggest Stock Movers This Month
The window and the screened universe behind every board on this pagescalar · 2026-09-13 · 1×521 Where every screened company landed: monthly returns by bucketranking · 2026-09-13 · 6×2Preview: 6 ranked values, largest first. Eight household mega-cap names over the same windowranking · 2026-09-13 · 8×2Preview: 8 ranked values, largest first. Biggest stock losers this month (companies trading $1B+ over the window)ranking · 2026-09-13 · 10×3Preview: 10 ranked values, smallest first. The four major index trackers across the same window, rebased to the first openseries · 2026-09-13 · 21×5Preview: a 16-point series, ending lower. Biggest stock gainers this month (companies trading $1B+ over the window)ranking · 2026-09-13 · 10×3Preview: 10 ranked values, largest first.
Biggest Stock Gainers & Losers of 2026
Excluded from the boards: 2026 splits large enough to fake a year-to-date moveseries · 2026-09-13 · 12×5Preview: a 12-point series, ending higher. The screen, stage by stage: how many names survive each filterranking · 2026-09-13 · 5×2Preview: 5 ranked values, largest first. Biggest stock losers of 2026: worst ten year to date among heavily traded namesranking · 2026-09-13 · 10×3Preview: 10 ranked values, smallest first. The four major index ETFs, year to date, over the same measured windowseries · 2026-09-13 · 4×4Preview: a 4-point series, ending lower. Biggest stock gainers of 2026: top ten year to date among heavily traded namesranking · 2026-09-13 · 10×3Preview: 10 ranked values, largest first. Year-to-date breadth: how the screened universe is distributed across return bucketsranking · 2026-09-13 · 8×3Preview: 8 ranked values, smallest first.
Stocks at 52-Week Highs and Lows
How far the whole screen sits below its 52-week highranking · 2026-09-13 · 6×4Preview: 6 ranked values, smallest first. Stocks at 52-week lows, ordered by year-to-date returnranking · 2026-09-13 · 12×3Preview: 12 ranked values, smallest first. Where five broad-market ETFs sit inside their own 52-week rangeranking · 2026-09-13 · 5×4Preview: 5 ranked values, smallest first. Stocks at 52-week highs, ordered by year-to-date returnranking · 2026-09-13 · 4×3Preview: 4 ranked values, largest first. New 52-week highs against new lows, daily, over the past six weeksseries · 2026-09-13 · 30×4Preview: a 16-point series, ending higher.
XOM Dividend: Yield, History & Ex-Dates
XOM dividend snapshot: latest payout, annual rate, yield, and next ex-datescalar · 2026-09-12 · 1×71.03 XOM recent dividend payments: ex-dividend date and per-share amountseries · 2026-09-12 · 10×2Preview: a 10-point series, ending lower. XOM total dividends paid per year (regular dividends)ranking · 2026-09-12 · 7×2Preview: 7 ranked values, smallest first.
WMT Dividend: Yield, History & Ex-Dates
WMT dividend snapshot: latest payout, annual rate, yield, and next ex-datescalar · 2026-09-12 · 1×70.248 WMT recent dividend payments: ex-dividend date and per-share amountseries · 2026-09-12 · 10×2Preview: a 10-point series, ending lower. WMT total dividends paid per year (regular dividends)ranking · 2026-09-12 · 7×2Preview: 7 ranked values, largest first.
Why VIX Options Don't Track the VIX
SPY near-the-money implied volatility by distance to expirationranking · 2026-09-12 · 6×3Preview: 6 ranked values, smallest first.
page 1 of 23
covid_2020

covid_2020

as of scalar 1×16read in context →
peak day
Feb 19, 2020
peak close
338.34
low day
Mar 23, 2020
low close
222.95
cross day
Mar 30, 2020
cross close
261.65
golden day
Jul 9, 2020
golden close
314.38
peak to low drop pct
34.1
sessions peak to low
23
sessions low to cross
5
low to cross gain pct
17.4
cross off peak pct
22.7
sessions cross to golden
70
cross to golden gain pct
20.2
fwd 12m pct
50.9
the exact SQL behind every number
WITH
bars AS
(
    SELECT
        date,
        toFloat64(argMax(close, _ingest_time)) AS px
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'SPY'
    GROUP BY date
),
smas AS
(
    SELECT
        date,
        px,
        row_number() OVER (ORDER BY date) AS rn,
        avg(px) OVER (ORDER BY date ROWS BETWEEN 49 PRECEDING AND CURRENT ROW) AS avg_50,
        avg(px) OVER (ORDER BY date ROWS BETWEEN 199 PRECEDING AND CURRENT ROW) AS avg_200,
        max(px) OVER (ORDER BY date ROWS BETWEEN 251 PRECEDING AND CURRENT ROW) AS high_1y,
        leadInFrame(px, 21) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS px_1m,
        leadInFrame(px, 63) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS px_3m,
        leadInFrame(px, 126) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS px_6m,
        leadInFrame(px, 252) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS px_12m
    FROM bars
),
states AS
(
    SELECT
        *,
        (avg_50 < avg_200) AS below,
        lagInFrame((avg_50 < avg_200), 1) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS prev_below
    FROM smas
),
flags AS
(
    SELECT
        *,
        (rn >= 201 AND below = 1 AND prev_below = 0) AS is_death,
        (rn >= 201 AND below = 0 AND prev_below = 1) AS is_golden
    FROM states
),
cross_row AS
(
    SELECT date AS cross_date, px AS cross_px, rn AS cross_rn, px_12m AS cross_px_12m
    FROM flags
    WHERE is_death
      AND date BETWEEN toDate('2020-02-01') AND toDate('2020-05-31')
    ORDER BY date
    LIMIT 1
),
golden_row AS
(
    SELECT date AS golden_date, px AS golden_px, rn AS golden_rn
    FROM flags
    WHERE is_golden
      AND date BETWEEN toDate('2020-04-01') AND toDate('2020-12-31')
    ORDER BY date
    LIMIT 1
),
peak_row AS
(
    SELECT date AS peak_date, px AS peak_px, rn AS peak_rn
    FROM flags
    WHERE date BETWEEN toDate('2020-01-01') AND toDate('2020-03-31')
    ORDER BY px DESC
    LIMIT 1
),
low_row AS
(
    SELECT date AS low_date, px AS low_px, rn AS low_rn
    FROM flags
    WHERE date BETWEEN toDate('2020-02-01') AND toDate('2020-06-30')
    ORDER BY px ASC
    LIMIT 1
)
SELECT
    concat(formatDateTime(peak_date, '%b'), ' ', toString(toDayOfMonth(peak_date)), ', ', toString(toYear(peak_date)))       AS peak_day,
    round(peak_px, 2)                                  AS peak_close,
    concat(formatDateTime(low_date, '%b'), ' ', toString(toDayOfMonth(low_date)), ', ', toString(toYear(low_date)))           AS low_day,
    round(low_px, 2)                                   AS low_close,
    concat(formatDateTime(cross_date, '%b'), ' ', toString(toDayOfMonth(cross_date)), ', ', toString(toYear(cross_date)))     AS cross_day,
    round(cross_px, 2)                                 AS cross_close,
    concat(formatDateTime(golden_date, '%b'), ' ', toString(toDayOfMonth(golden_date)), ', ', toString(toYear(golden_date))) AS golden_day,
    round(golden_px, 2)                                AS golden_close,
    round((1 - low_px / peak_px) * 100, 1)             AS peak_to_low_drop_pct,
    toInt64(low_rn) - toInt64(peak_rn)                 AS sessions_peak_to_low,
    toInt64(cross_rn) - toInt64(low_rn)                AS sessions_low_to_cross,
    round((cross_px / low_px - 1) * 100, 1)            AS low_to_cross_gain_pct,
    round((1 - cross_px / peak_px) * 100, 1)           AS cross_off_peak_pct,
    toInt64(golden_rn) - toInt64(cross_rn)             AS sessions_cross_to_golden,
    round((golden_px / cross_px - 1) * 100, 1)         AS cross_to_golden_gain_pct,
    round((cross_px_12m / cross_px - 1) * 100, 1)      AS fwd_12m_pct
FROM cross_row, peak_row, low_row, golden_row
$