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

2,170 answered market questions

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

Lehman's Collapse: The 2008 Tape, Replayed
The ten worst SPY sessions, 2003-2025, plus where Lehman Monday ranksseries · 2026-07-26 · 11×5Preview: a 11-point series, roughly flat. The full bear market: SPY peak close to trough close, and the road backscalar · 2026-07-26 · 1×11156.41 SPY by half-hour: September 15, 2008 regular sessionseries · 2026-07-26 · 13×4Preview: a 13-point series, ending higher. LEH month-end closes, January 2007 to the September 2008 filingseries · 2026-07-26 · 21×3Preview: a 16-point series, ending lower. The financials in Lehman week: Friday 9/12 close to Friday 9/19 closetable · 2026-07-26 · 6×8 SPY on September 15, 2008: the Lehman Monday, receiptedscalar · 2026-07-26 · 1×11125.75 SPY closes and Treasury yields, September 15-19, 2008: the whipsaw weekseries · 2026-07-26 · 5×6Preview: a 5-point series, ending higher.
The ten worst SPY sessions, 2003-2025, plus where Lehman Monday ranks

The ten worst SPY sessions, 2003-2025, plus where Lehman Monday ranks

most recentas of series 11×5read in context →
The ten worst SPY sessions, 2003-2025, plus where Lehman Monday ranks — 11 rows by 5 columns, computed from US exchange, SIP and OPRA data.
sessionrankchange_pcttarp_vote_rankpost_lehman_2008_top10
2020-03-161-11.666
2020-03-122-9.666
2008-10-153-9.266
2008-12-014-8.966
2020-03-095-7.766
2008-09-296-766
2008-10-097-6.866
2008-11-208-6.666
2011-08-089-6.566
2008-10-0710-6.166
2008-09-1534-4.366
the exact SQL behind every number
WITH daily AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
        argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS close_usd
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2003-09-10 00:00:00') AND window_start < toDateTime('2026-01-01 00:00:00')
    GROUP BY et_date
),
changes AS (
    SELECT et_date, close_usd,
           lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM daily
),
ranked AS (
    SELECT
        row_number() OVER (ORDER BY (close_usd / prev_close - 1) ASC, et_date ASC) AS rank,
        toString(et_date) AS session,
        round((close_usd / prev_close - 1) * 100, 1) AS change_pct
    FROM changes
    WHERE prev_close > 0 AND isFinite(close_usd / prev_close)
),
(SELECT any(rank) FROM ranked WHERE session = '2008-09-29') AS tarp_rank_s,
(SELECT countIf(rank <= 10 AND session BETWEEN '2008-09-16' AND '2008-12-31') FROM ranked) AS post_lehman_s
SELECT
    session,
    rank,
    change_pct,
    tarp_rank_s AS tarp_vote_rank,
    post_lehman_s AS post_lehman_2008_top10
FROM ranked
WHERE rank <= 10 OR session = '2008-09-15'
ORDER BY rank
$