STRASMORE/EXPLORE 2,170 QUERIES

SPY closes, August 8-12, 2011: crash, rip, crash, rip

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-07-26, from The 2011 US Downgrade: Black Monday's Tape.

as of series 5×4read in context →
SPY closes, August 8-12, 2011: crash, rip, crash, rip — 5 rows by 4 columns, computed from US exchange, SIP and OPRA data.
sessionclose_usdchange_pctshares_m
2011-08-08112.28-6.5695.2
2011-08-09117.474.6711.2
2011-08-10112.25-4.4658.8
2011-08-11117.334.5482.3
2011-08-12118.160.7307.3
Rows × columns
5 × 4
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for SPY closes, August 8-12, 2011: crash, rip, crash, rip, derived from the stored result.
ColumnTypeRangeNotes
session date 2011-08-08 to 2011-08-12
close_usd number 112.25 to 118.16 US dollars
change_pct number -6.5 to 4.6 percent
shares_m number 307.3 to 711.2 count

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.

the exact SQL behind every number
SELECT
    toString(et_date) AS session,
    close_usd,
    round(if(prev_close = 0, NULL, (close_usd / prev_close - 1) * 100), 1) AS change_pct,
    shares_m
FROM (
    SELECT et_date, close_usd, shares_m,
           lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
            round(argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS close_usd,
            round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime('2011-08-05 00:00:00') AND window_start < toDateTime('2011-08-12 23:59:00')
        GROUP BY et_date
    )
)
WHERE et_date >= toDate('2011-08-08') AND et_date <= toDate('2011-08-12')
ORDER BY et_date

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysisThe 2011 US Downgrade: Black Monday's Tape
SPY by half-hour: August 8, 2011 regular session series 13×4 Treasury yields through the downgrade window, August 1–15, 2011 series 11×5 The ten worst SPY sessions, 2003–2025: August 8, 2011 is the odd one out series 10×5 August 8, 2011 across the tape: banks, staples, gold, and the fear gauge ranking 9×4 The recovery, dated: reclaim, failed hold, true bottom, and the last close below scalar 1×9 SPY on August 8, 2011: the downgrade Monday, receipted scalar 1×11 See all 2,170 queries →