STRASMORE/EXPLORE 2,170 QUERIES

Crash-window damage by name: low vs the 2:30 pm ET reference

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 2010 Flash Crash, Minute by Minute.

as of table 6×6read in context →
Crash-window damage by name: low vs the 2:30 pm ET reference — 6 rows by 6 columns, computed from US exchange, SIP and OPRA data.
tickerpre_crash_1430crash_lowlow_vs_1430_pctlow_etclose_vs_1430_pct
ACN41.4917.74-57.214:47-0.9
PG62.1739.37-36.714:47-2.3
MMM84.4567.98-19.514:46-0.3
SPY113.35105-7.414:45-0.4
DIA106.0599.16-6.514:47-0.7
IWM66.8463.36-5.214:450.7
Rows × columns
6 × 6
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 Crash-window damage by name: low vs the 2:30 pm ET reference, derived from the stored result.
ColumnTypeRangeNotes
ticker text 6 distinct values (ACN, DIA, IWM…)
pre_crash_1430 number 41.49 to 113.35
crash_low number 17.74 to 105 US dollars
low_vs_1430_pct number -57.2 to -5.2 percent
low_et text 3 distinct values (14:45, 14:46, 14:47)
close_vs_1430_pct number -2.3 to 0.7 percent

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
    ticker,
    round(argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 870), 2) AS pre_crash_1430,
    round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 871 AND 915), 2) AS crash_low,
    round((minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 871 AND 915) / argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 870) - 1) * 100, 1) AS low_vs_1430_pct,
    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 871 AND 915), 'America/New_York'), '%H:%i') AS low_et,
    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) / argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 870) - 1) * 100, 1) AS close_vs_1430_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('ACN', 'PG', 'MMM', 'IWM', 'DIA', 'SPY')
  AND window_start >= toDateTime('2010-05-06 04:00:00') AND window_start < toDateTime('2010-05-06 23:59:00')
GROUP BY ticker
ORDER BY low_vs_1430_pct ASC

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 2010 Flash Crash, Minute by Minute
SPY at one-minute resolution, 2:00–3:30 pm ET on May 6, 2010 table 90×4 The steepest single minutes: biggest open-to-low drops, 2:00–3:30 pm ET table 5×5 The famous casualties on the raw trade tape, 2:30–3:30 pm ET table 4×6 Five famous crash sessions: depth of the low and the bounce off it (SPY) series 5×4 SPY on May 6, 2010: the flash crash day, receipted scalar 1×10 The aftermath: when the May 5 close was reclaimed, and when the panic low broke for real scalar 1×7 See all 2,170 queries →