Strasmore Research
徹底分析 Matt Connor著者: Matt Connor ・更新: 2026-07-24

2010年フラッシュ・クラッシュの経過

2010年5月6日に発生した市場暴落を分単位の記録で解説します。1兆ドルが消失した歴史的な混乱の全貌を詳しく辿ります。

2010年5月6日、米国株式市場は急落した後、わずか30分足らずで回復しました。これは「フラッシュ・クラッシュ」と呼ばれ、現代の市場史上、最も不可解な取引局面の一つです。時価総額では1兆ドル近くが消失しましたが、その大部分はすぐに回復しました。その過程で、著名な銘柄が1株あたり$0.01や$100000という価格を記録しました。以下に、分単位の取引記録、時刻、銘柄、および各数値の根拠となるクエリを記載します。各パネルを展開するとSQLを確認できます。

本日の概況

クエリ2010年5月6日 SPY — フラッシュ・クラッシュ当日の約定履歴
各数値の背後にある正確なSQL
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('2010-05-05 00:00:00') AND window_start < toDateTime('2010-05-06 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(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('2010-05-06 04:00:00') AND window_start < toDateTime('2010-05-06 23:59:00')

午前中はギリシャの債務に関するニュースが続き、市場はすでに動揺していました。SPYは始値の$116.26から下落しました。その後、価格は急落しました。$105という安値は14:45 ETに記録され、前日終値の$116.83から-10.1%下落しました。取引終了までにSPYは$112.88まで回復し、前日比で-3.4%となりましたが、安値からは大きく値を戻しました。出来高は639.9百万株に達し、SPYの歴史の中でも極めて多い取引量となりました。

暴落の推移:分単位の記録

30分足チャートではこの事象は隠れてしまいますが、1分足で見れば明白です。以下は米国東部時間午後2:00から3:30までのSPYの動きです。

クエリ2010年5月6日 14:00–15:30 (ET) SPY 1分足
各数値の背後にある正確なSQL
SELECT
    formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_minute,
    round(toFloat64(close), 2) AS close_usd,
    round(toFloat64(low), 2) AS low_usd,
    round(toFloat64(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= toDateTime('2010-05-06 18:00:00') AND window_start < toDateTime('2010-05-06 19:30:00')
ORDER BY window_start

SECとCFTCによる共同事後調査によると、この事象は午後2:32頃から始まりました。この時、約75,000枚のE-mini S&P 500先物コントラクト(約41億ドル相当)を売却する大規模な自動売却プログラムが開始されました。その後、価格が下落分の大部分を回復する午後3:08頃まで、計36分間にわたって続きました。上記のチャートはこの推移と一致しています。SPYは14:32分時点で113.15ドルでした。その12分後の14:44分には9.21百万株が取引されました。これは14:05分のような平穏な時の1.44百万株と比較して極めて大きな取引量です。そして14:45分に、その日の安値である105ドルを記録しました。15:08分の終値は113.63ドルとなり、下落開始時点を上回りました。約30分間で価格は完全に回復しました。

この日、取引停止(トレーディング・ハルト)は1回発生し、5秒間続きました。公式報告書によると、午後2:45:28(上記の安値を記録した時間帯と同じ分内)に、CMEのStop Logic機能によってE-mini先物の取引が一時停止し、停止解除後に買い戻しが発生しました。2010年当時の市場全体のサーキットブレーカーは、ダウ平均の10%、20%、30%の減少を閾値としていました。当時の規則では、セッション終盤の10%の下落に対しては取引停止は規定されておらず、実際に発動することはありませんでした。個別銘柄のサーキットブレーカーはまだ存在しておらず、この日に新たに導入される仕組みの一つです。

売り浴びせの原因

規制当局にとって、売り手の正体は謎ではありませんでした。SECとCFTCの報告書によると、Waddell & Reedとして報道された単一の投資信託グループが、価格や時間を考慮せず、出来高に連動してE-mini先物を売却する自動アルゴリズムを使用していました。出来高が急増するにつれ、アルゴリズムの売却速度も上がりました。その時、高頻度取引の仲介業者は在庫の吸収を止め、在庫を互いに転売し合う状態にありました。これが報告書で「ホットポテト(熱いジャガイモ)」と称された出来高の正体です。

5年後、別の人物がこの日の関与が浮上しました。米国当局は2015年4月、ロンドンのトレーダーであるNavinder Singh Saraoを逮捕しました。彼は5月6日を含む数百回にわたり、E-miniのオーダーブックに対してスプーフィング(約定の意思がない注文を重ねるレイヤリング)を行った疑いが持たれています。彼は2016年に罪を認め、2020年1月に判決を受けました。当日の午後に彼の注文がどれほど影響を与えたかは議論の余地がありますが、以下の構造的な教訓はそれとは関係ありません。

最も激しい売りが起きた場面

クエリ最大の下落幅を記録した1分間 — 14:00–15:30 (ET)
各数値の背後にある正確なSQL
SELECT
    formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_minute,
    round(toFloat64(open), 2) AS minute_open,
    round(toFloat64(low), 2) AS minute_low,
    round(toFloat64(open) - toFloat64(low), 2) AS drop_within_minute_usd,
    round(toFloat64(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= toDateTime('2010-05-06 18:00:00') AND window_start < toDateTime('2010-05-06 19:30:00')
ORDER BY drop_within_minute_usd DESC
LIMIT 5

最も価格が下落した1分間において、始値から安値にかけて$5.72の下落を記録しました。これは14:49 ETに発生し、60秒間で4.98 million株が取引されました。チャートが示す事実は明白です。価格維持には買い手が必要ですが、その数分間、買い手は存在しませんでした。これは成行注文がどのような影響を与えるかを理解する上で、最も強力な事例です。その時間帯に発動したすべてのストップロス注文は、買い注文が存在しない中で買い手を探す成行注文となりました。NBBOは市場の鼓動ですが、その日の午後は停止状態に陥りました。

1セントと10万ドル:異常な約定価格

実勢の買い注文が消失した際、新規注文は残っていた引用価格へと下落しました。これには、妥当な価格から大きく離れたマーケットメーカーの「スタブ・クオート(仮定価格)」も含まれていました。取引履歴には以下の約定が残っています。

クエリ2:30–3:30 pm ET Raw Tape上の異常な約定履歴
各数値の背後にある正確なSQL
SELECT
    ticker,
    round(min(toFloat64(price)), 2) AS lowest_print,
    round(max(toFloat64(price)), 2) AS highest_print,
    countIf(toFloat64(price) <= 0.05) AS penny_prints,
    countIf(toFloat64(price) >= 99999) AS hundred_k_prints,
    count() AS prints
FROM global_markets.stocks_trades
WHERE ticker IN ('ACN', 'AAPL', 'BID', 'PG')
  AND sip_timestamp >= toDateTime('2010-05-06 18:30:00') AND sip_timestamp < toDateTime('2010-05-06 19:30:00')
GROUP BY ticker
ORDER BY ticker ASC

その日の午後、$41.49付近で取引されていたAccenture (ACN) は、5セント以下の価格で43件の約定を記録し、安値は$0.01に達しました。反対に、Appleは$1000002件の取引があり、Sotheby'sも同様に2件の取引がありました。

その後、取引所は暴落前の基準価格から60パーセント以上乖離して執行されたすべての取引をキャンセルしました。この基準が、記録に見られる非対称性の理由です。ACNの1セントでの約定は基準を超えたため無効となりました。そのため、ACNの「有効な」分足安値である$17.74は、基準より-57.2%低い位置にあり、キャンセル対象の境界線内に収まっています。一方、Procter & Gambleはスタブ・クオートでの約定はありませんでした。当該期間中の最安値$39.37は基準より-36.7%低かったため、そこで執行されたすべてのストップロス注文は有効として残りました。ACNの1セントの約定は境界線を越えたため消去され、P&Gの最安値の約定は境界線内に留まったため有効となりました。この恣意的な境界線は、いかなるパンフレットよりも多くのトレーダーに注文種別の仕組みを教えることとなりました。

下落の広がり

同じ時間枠における、各銘柄の午後2時30分時点の価格を基準とした分単位の集計結果です。

クエリクラッシュ局面における銘柄別下落幅 — 14:30 (ET)基準
各数値の背後にある正確なSQL
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

分散の大きさが焦点となります。ACNの安値は基準価格から-57.2%下落し、P&Gは-36.7%下落しました。一方、主要なETFの下落率は一桁台に留まりました。ダウ平均に連動するDIAは-6.5%、IWMは-5.2%の下落でした。当時のDIAの分単位の動きは、ダウ平均の史上最大の intraday 下落として世界中で報じられました。最終列は回復状況を示しています。6銘柄すべてが、午後2時30分時点の価格から3パーセント以内の範囲内で取引を終えており、中盤の1時間は一時的な動きであったかのような結果となりました。

5月6日の下落と他の暴落日の比較

分単位のデータが利用可能な期間における、他の有名な一日限りの暴落と比較します(この株式テープは2003年まで遡ります。1987年のブラック・マンデーはそれ以前のものです):

クエリ著名な5つのクラッシュ局面 — 安値の深さと反発 (SPY)
各数値の背後にある正確なSQL
WITH daily AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
        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,
        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 rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND ((window_start >= toDateTime('2008-09-26 04:00:00') AND window_start < toDateTime('2008-09-30 00:00:00'))
        OR (window_start >= toDateTime('2010-05-05 04:00:00') AND window_start < toDateTime('2010-05-07 00:00:00'))
        OR (window_start >= toDateTime('2015-08-21 04:00:00') AND window_start < toDateTime('2015-08-25 00:00:00'))
        OR (window_start >= toDateTime('2018-02-02 04:00:00') AND window_start < toDateTime('2018-02-06 00:00:00'))
        OR (window_start >= toDateTime('2020-03-13 04:00:00') AND window_start < toDateTime('2020-03-17 00:00:00')))
    GROUP BY et_date
)
SELECT
    toString(et_date) AS session,
    round((rth_low / prev_close - 1) * 100, 1) AS low_vs_prior_pct,
    round((rth_close / prev_close - 1) * 100, 1) AS close_vs_prior_pct,
    round((rth_close / rth_low - 1) * 100, 1) AS bounce_off_low_pct
FROM (
    SELECT et_date, rth_low, rth_close,
           lagInFrame(rth_close) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM daily
)
WHERE et_date IN (toDate('2008-09-29'), toDate('2010-05-06'), toDate('2015-08-24'), toDate('2018-02-05'), toDate('2020-03-16'))
ORDER BY et_date

2010年5月6日は、このリストの中で最も深い下落ではありません。2020年3月16日は、フラッシュ・クラッシュ時の-10.1%に対し、前日終値から-12.4%下落しました。しかし、その後の反発については、他の日はこれに及びません。SPYの終値は、5月6日の安値から7.5%上昇しました。これに対し、次に高い回復率を示したのは3.9%(2015年8月24日、これ自体がミニ・フラッシュ・クラッシュです)であり、リーマン・ショック時およびCOVID暴落時はわずか1.7%と0.9%でした。価格再評価による下落は引けにかけても続きますが、流動性の欠如による下落は同日午後に急回復します。

V字回復は維持されたのか?

暴落の性質を判断するには、2つの要素が重要です。旧価格への回復速度と、パニック時の安値がその後更新されたかどうかです。その答えは以下の通りです。

クエリその後 — 5月5日の終値回復とパニック安値の更新
各数値の背後にある正確なSQL
WITH
    (
        SELECT minIf(toFloat64(low), (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('2010-05-06 04:00:00') AND window_start < toDateTime('2010-05-07 00:00:00')
    ) AS flash_low
SELECT
    round(any(flash_low), 2) AS flash_crash_low,
    round(any(may5_close), 2) AS may5_close,
    toString(any(first_above_date)) AS first_close_above_may5,
    countIf(et_date > toDate('2010-05-06') AND et_date <= first_above_date) AS sessions_until_reclaim,
    toString(any(first_below_date)) AS first_close_below_low,
    round(anyIf(close_usd, et_date = first_below_date), 2) AS close_that_session,
    countIf(et_date > toDate('2010-05-06') AND et_date <= first_below_date) AS sessions_until_break
FROM (
    SELECT et_date, close_usd, flash_low, may5_close,
           min(if(et_date > toDate('2010-05-06') AND close_usd < flash_low, et_date, toDate('2100-01-01'))) OVER () AS first_below_date,
           min(if(et_date > toDate('2010-05-06') AND close_usd > may5_close, et_date, toDate('2100-01-01'))) OVER () AS first_above_date
    FROM (
        SELECT et_date, close_usd, flash_low,
               max(if(et_date = toDate('2010-05-05'), close_usd, 0)) OVER () AS may5_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,
                flash_low
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= toDateTime('2010-05-05 04:00:00') AND window_start < toDateTime('2011-01-01 00:00:00')
            GROUP BY et_date
        )
    )
)

回復は迅速でした。SPYはわずか 4 セッション後の 2010-05-12 に、5月5日の終値である $116.83 を上回って取引を終えました。V字回復は、当面の間は維持されました。しかし、フラッシュ・クラッシュ時の安値は一時的なものではありませんでした。その夏に欧州の債務危機による売りが続いた結果、クラッシュから 37 セッション後の 2010-06-29 に、SPYは $104.22引けました。これはパニック時の安値である $105 を下回っています。ここが重要な違いです。フラッシュ・クラッシュはニュースのない中で数分でその価格に到達し、反発しました。一方、夏の売りは数週間にわたって続き、価格はそのまま低迷しました。価格とは、現時点で取引可能な値であり、価値とは、その日の取引終了後も残るものです。

その後の変化

フラッシュ・クラッシュを受けて、現代のサーキット・ブレーカー制度が確立されました。これには、個別銘柄のLimit Up/Limit Down(価格制限)および改定された市場全体の一時停止が含まれます。これらの仕組みは、その後の危機でも確認されています(2020年3月の停止は、その直接的な後継です)。Stub quotes(見せ玉的な指値)は禁止され、明らかに誤った取引に関するルールが正式に定められました。また、大規模な先物注文に対しては、価格を考慮した執行の精査が行われるようになりました。現在皆さんが取引している市場構造は、あの36分間の直後に実質的に策定されたものです。

フラッシュ・クラッシュに関するFAQ

2010年のフラッシュ・クラッシュの原因は何ですか?

SECとCFTCの公式報告書によると、流動性が低下している中で、約41億ドルのE-mini自動売却プログラムが実行されたことが原因です。高頻度取引の仲介業者が、まず取引量を増大させ、その後に市場から撤退しました。報道によれば、売却側は投資信託会社のWaddell & Reedであるとされています。また、トレーダーのNavinder Saraoは、同日の市場におけるスプーフィングの罪で後に起訴されました。市場の動きとしては、流動性が消失し、価格は次に存在する買い注文の価格、時には1セントという水準まで下落しました。

フラッシュ・クラッシュはいつ始まり、いつ終わりましたか?

規制当局のタイムラインでは、自動売却が始まった東部標準時午後2時32分頃から、価格が下落前の水準の大部分まで回復した午後3時08分頃までの、約36分間とされています。SPYの安値は東部標準時14:45に記録され、前日終値から-10.1%下落しました。底値から元の水準に戻るまでには、約23分を要しました。

2010年のフラッシュ・クラッシュではどの銘柄が影響を受けましたか?

ほぼすべての銘柄が下落しましたが、特に顕著だったのは買い注文が完全に消失した銘柄です。Accentureは0.01まで下落し、AppleとSotheby'sは100000を記録しました。Procter & Gambleは39.37まで下落し、午後の水準から-36.7%下落しました。クラッシュ前の価格から60パーセント以上乖離した取引はキャンセルされましたが、P&Gの約定は維持されました。

フラッシュ・クラッシュの間に取引停止は発生しましたか?

2010年5月6日には、市場全体のサーキット・ブレーカーは作動しませんでした。当時の規則では、セッション終盤におけるこれほどの規模の下落に対して、取引停止は規定されていませんでした。その日唯一の停止は5秒間でした。CMEのStop Logicが、指数が安値を記録した午後2時45分28秒(東部標準時)に、E-mini先物を一時的に停止させました。その後、個別銘柄のサーキット・ブレーカーおよびLimit Up/Limit Down(LULD)ルールが導入されました。

フラッシュ・クラッシュは再発する可能性がありますか?

小規模な事例は発生しています。個別銘柄がLULDによって停止することは日常的にあり、小規模なフラッシュ・イベントも繰り返されています。2010年規模の市場全体の事象については、その教訓から導入された停止メカニズムによって、これまでは食い止められています。構造的な要因である「ミリ秒単位で消失する流動性」は、市場に永続的に存在しています。

データに関する注記

詳細なデータ注記
  • 分単位のパネルにおいて、15:09のバーには回復の数分後に108.37の誤った安値が含まれています。このバーは、急落した分のリストにも含まれています。これは、集計データが到着した時点の分に記録される、遅延報告された約定と一致しています。5月6日のテープにはこれが多く見られます。
  • 取消された取引と集計データ:ACNの生データには$0.01の約定がありますが、分単位の安値は$17.74です。分単位の集計データは取消後の記録を反映しており、生データのテープは元の約定を反映しています。
  • 分散パネルの「2:30 pm reference」は、各銘柄の東部時間2:30 pm以前における、通常のセッションの最終分間バーの終値です。暴落の期間は2:31–3:15 pmです。
  • QQQは銘柄間比較パネルに含まれていません。2010年にはQQQQというティッカーで取引されていました。

上記のパネルはすべて、ヒストリカル・テープに対する保存・バージョン管理されたクエリです。各測定値の詳細を確認するには、SQLを展開してください。この日の動きを読み取るだけでなく、実際に体験したいですか?Strasmore Labs trading simulatorでプレイ可能なシナリオとして用意されています。