Strasmore Research
Deep Dives Matt ConnorBy Matt Connor

The 2011 US Downgrade: Black Monday's Tape

August 8, 2011: the first trading day after S&P stripped the US of its AAA rating. The tape fell all day and closed near the low — receipts inside.

After the close on Friday, August 5, 2011, Standard & Poor's downgraded the United States' credit rating from AAA for the first time in history. Monday, August 8 was the market's first chance to vote on it, at the peak of that summer's European debt crisis. This page replays the vote from the minute tape. Every number is a stored query; expand any panel for the SQL.

The day, on one row

QuerySPY on August 8, 2011 — the downgrade Monday, receipted
The exact SQL behind every number
WITH
    (
        SELECT argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
        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-08 04:00:00')
    ) AS prior_rth_close
SELECT
    round(prior_rth_close, 2) AS prior_close,
    round(toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_open,
    round((toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS gap_pct,
    round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_low,
    formatDateTime(toTimeZone(argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 'America/New_York'), '%H:%i') AS low_et,
    round(maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_high,
    round(toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_close,
    round((toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS day_change_pct,
    round((minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / prior_rth_close - 1) * 100, 1) AS low_vs_prior_pct,
    round(toFloat64(sum(volume)) / 1e6, 1) AS day_shares_m,
    countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_minute_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= toDateTime('2011-08-08 04:00:00') AND window_start < toDateTime('2011-08-08 23:59:00')

SPY gapped -2.6% down from Friday's $120.03 close and never mounted a real recovery: the low of $112.02 came at 14:25 ET and the close, at $112.28, was -6.5% — among the worst single sessions between the 2008 crisis and 2020. Volume ran 695.2 million shares, the heaviest tape of any day on this page's era shelf.

A staircase, not an air pocket

QuerySPY by half-hour — August 8, 2011 regular session
The exact SQL behind every number
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(toFloat64(argMax(close, window_start)), 2) AS bucket_close,
    round(min(toFloat64(low)), 2) AS bucket_low,
    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-08 04:00:00') AND window_start < toDateTime('2011-08-08 23:59:00')
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_time
ORDER BY et_time

Contrast the shape with the flash crash fifteen months earlier: no single-bucket air pocket, no snap-back — just thirteen half-hours in which nearly every close is lower than the last, accelerating into the afternoon. That is a conviction decline: liquidity stayed present and prices still fell, session-long. Different mechanics, different meaning, same red number — one reason reading the intraday shape matters as much as the daily change.

The whipsaw week

QuerySPY closes, August 8-12, 2011 — crash, rip, crash, rip
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

What followed was one of the most violent weeks on record in both directions: Tuesday +4.6% (the Fed's rate-pledge day), Wednesday -4.4%, Thursday +4.5%, Friday +0.7% — four consecutive sessions alternating between crash and rally, each above four percent in magnitude at the extremes. Whipsaw weeks of that violence are how volatility regimes announce themselves; the direction resolves later. (For the record: US Treasury yields fell through the downgrade week — the asset being downgraded was the one investors bought. The yield curve explainer covers the instruments involved.)

The era around the day

The downgrade landed on a market already in freefall: the S&P had dropped over ten percent in the prior two weeks as the debt-ceiling standoff went to the brink and Europe's sovereign crisis spread to Italy and Spain. August 5's Friday session — the last before the downgrade — had itself swung violently. So Monday's tape measured two things at once: the symbolic shock of the AAA loss, and a continuation already in motion. Disentangling them is impossible, which is precisely why this page sticks to the sequence: downgrade Friday night, {q:day_tape:day_change_pct}% Monday, and a week of alternating extremes that marked the bottom of that correction within two months.

What this day teaches

Two mechanics worth keeping. First, symbolic shocks price fastest and retrace fastest: the downgrade changed no cash flow anywhere, and the market that repriced {q:day_tape:day_change_pct}% on symbolism recovered the ground within months once the underlying panic — Europe — stabilized. Second, the instrument being "damaged" is not always the one that falls: Treasuries rallied through their own downgrade while equities took the hit, a cross-asset scramble that says demand for safety overwhelmed any doubt about the safe asset itself. When a headline names an asset, watch where the selling actually lands before believing the story writes itself.

US downgrade FAQ

What happened to stocks when the US was downgraded?

The first session after the Friday-night downgrade — Monday, August 8, 2011 — SPY fell -6.5%, closing near its low, followed by a week of alternating multi-percent crashes and rallies.

Did the US downgrade cause a recession?

No US recession followed in the subsequent years, and Treasury borrowing costs fell rather than rose in the downgrade's aftermath. The episode is usually cited today as evidence that reserve-currency government debt trades on different rules.

How does 2011's crash compare to 2008 or 2020?

It was a single-shock repricing inside an existing bull market rather than a systemic credit unwind: severe, fast, and fully retraced within months — where 2008 kept falling for half a year and 2020 compressed a bear market into four weeks.


Every panel above is a stored, versioned query over the historical tape — expand the SQL to see each measurement. Want to feel this day instead of reading it? It is one of the playable scenarios in the Strasmore Labs trading simulator.

#market history#credit downgrade#crashes#spy