Strasmore Research
심층 분석 Matt Connor작성자 Matt Connor · 업데이트됨 2026-07-24

2009년 3월 9일 금융위기 저점 기록

2009년 3월 9일 금융위기 저점의 실상을 확인하십시오. 시장의 반전 징후가 없었던 역사적 월요일의 기록을 공개합니다.

2009년 3월 9일은 현대 시장 역사에서 가장 중요한 날 중 하나입니다. 이 날은 금융 위기의 저점인 -56.5%(2007년 10월 고점 대비)를 기록한 날이자, 10년 이상 지속된 강세장의 시작일이었습니다. 역사적 기록에 따르면 해당 월요일의 지수는 S&P 500 지수가 676.53, Dow Jones Industrial Average(다우 존스 산업평균지수)가 6,547을 기록했습니다. 아래 데이터는 SPY(S&P 500 ETF)를 기준으로 하며, 본 데이터베이스는 2003년부터 해당 ETF의 분 단위 기록을 저장하고 있습니다. 기록이 보여주는 불편한 사실은 다음과 같습니다. 당시 시장 상황은 어떠한 전조도 보이지 않았습니다. 투매의 정점이나 반전의 징후는 없었습니다. 그저 조용하고 지루하게 하락하던 월요일이었으며, 공교롭게도 그것이 마지막 하락일이었습니다. 모든 수치는 저장된 쿼리(Query)를 기반으로 합니다. SQL 문을 확인하려면 각 패널을 확장하십시오.

하락장으로 가는 길

위기는 단계적으로 발생했으며, 아래 내용을 이해하기 위해서는 날짜를 파악하는 것이 중요합니다. Bear Stearns(베어 스턴스)는 2008년 3월 JPMorgan(제이피모건)에 매각되었습니다. Lehman Brothers(리먼 브라더스)는 2008년 9월 15일 월요일에 파산을 신청했습니다 — 관련 세션 페이지 보기. 미 의회는 10월 3일에 7,000억 달러 규모의 은행 구제 기금인 TARP(부실자산 구제 프로그램)를 통과시켰습니다. AIG(에이아이지)에 대한 정부 구제책은 두 차례 확대되었습니다. Citigroup(씨티그룹)은 11월에 두 번째 연방 지원을 받았습니다. 겨울철 반등세는 사라졌으며, 2009년 2월 말까지 주요 지수들은 11월 저점을 경신하며 계속 하락했습니다. 다음은 이 17개월간의 흐름을 요약한 수치입니다.

조회고점 대비 저점 및 회복 기간 — 위기 전체를 한 줄로 요약
모든 수치 뒤에 숨겨진 정확한 SQL
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('2007-01-02 00:00:00') AND window_start < toDateTime('2013-07-01 00:00:00')
    GROUP BY et_date
),
(SELECT max(close_usd) FROM daily WHERE et_date < toDate('2008-01-01')) AS peak_close_usd
SELECT
    round(peak_close_usd, 2) AS peak_close,
    toString(argMaxIf(et_date, (close_usd, et_date), et_date < toDate('2008-01-01'))) AS peak_date,
    round(minIf(close_usd, et_date BETWEEN toDate('2008-07-01') AND toDate('2009-06-30')), 2) AS trough_close,
    toString(argMinIf(et_date, (close_usd, et_date), et_date BETWEEN toDate('2008-07-01') AND toDate('2009-06-30'))) AS trough_date,
    round((minIf(close_usd, et_date BETWEEN toDate('2008-07-01') AND toDate('2009-06-30')) / peak_close_usd - 1) * 100, 1) AS decline_pct,
    toString(minIf(et_date, et_date > toDate('2009-03-09') AND close_usd >= peak_close_usd)) AS recovered_date
FROM daily

2007-10-09에 기록한 종가 고점 $156.41에서 2009-03-09에 $68.07까지 SPY가 하락했습니다. 이는 -56.5%의 하락폭으로, 1930년대 이후 가장 큰 하락입니다. 같은 행에는 장기 투자자들이 다음에 궁금해할 수치인 '라운드 트립(round trip, 상승과 하락의 반복)'이 포함되어 있습니다. SPY는 저점으로부터 4년, 고점으로부터 5년 반이 지난 2013-03-14이 되어서야 2007년 고점을 다시 상회하며 마감했습니다. 이 계산의 두 구간에 대한 상세 내역은 아래에 기술합니다.

하루의 흐름

조회2009년 3월 9일 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('2009-03-06 00:00:00') AND window_start < toDateTime('2009-03-09 04:00:00')
    ) AS prior_rth_close,
    (
        SELECT round(avg(day_shares) / 1e6, 1)
        FROM (
            SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, toFloat64(sum(volume)) AS day_shares
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= toDateTime('2008-12-01 00:00:00') AND window_start < toDateTime('2009-03-09 04:00:00')
            GROUP BY d
            ORDER BY d DESC
            LIMIT 20
        )
    ) AS avg20_shares,
    (
        SELECT round(avg(day_shares) / 1e6, 1)
        FROM (
            SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, toFloat64(sum(volume)) AS day_shares
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= toDateTime('2008-12-01 00:00:00') AND window_start < toDateTime('2009-03-09 04:00:00')
            GROUP BY d
            ORDER BY d DESC
            LIMIT 60
        )
    ) AS avg60_shares
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(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,
    formatDateTime(toTimeZone(argMaxIf(window_start, (toFloat64(high), -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 high_et,
    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(toFloat64(sum(volume)) / 1e6, 1) AS day_shares_m,
    avg20_shares AS avg20_shares_m,
    avg60_shares AS avg60_shares_m,
    round((toFloat64(sum(volume)) / 1e6 / avg20_shares - 1) * 100, 0) AS vol_vs_20d_pct,
    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('2009-03-09 04:00:00') AND window_start < toDateTime('2009-03-09 23:59:00')

SPY는 금요일 종가인 $68.84 대비 -1.3% 하락한 $67.95로 개장했다. 이후 동부 표준시(ET) 10:13에 $70를 기록했으나, 장 후반인 15:17(ET)에 $67.73까지 하락하며 저점을 형성했다. 최종 종가는 $68.07를 기록했으며, 이는 당일 -1.1%의 변동을 의미한다. 전체 거래 범위는 약 2달러였다. 한 세대를 결정지을 중요한 종가가 극적인 변동 없이 형성되었다.

거래량은 단순한 수치만으로는 알 수 없는 질문에 답을 준다. 357.4 million 주의 거래가 활발했는가, 아니면 정체되었는가? 2009년 3월의 경우 정체되었다. 지난 20거래일 동안 SPY의 일평균 거래량은 406.3 million 주였으며, 저점 거래량은 해당 평균 대비 -12% 수준이었다. 지난 60거래일 평균은 337.9 million 주였다. 투매(Capitulation) 이론에 따르면, 세대적 저점은 기록적인 거래량을 동반하며 나타난다. 현대 금융사에서 가장 유명한 저점의 거래량은 해당 월의 평상시 거래량보다 적었다.

세션의 흐름

조회30분 단위 SPY — 2009년 3월 9일 정규 거래 세션
모든 수치 뒤에 숨겨진 정확한 SQL
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('2009-03-09 04:00:00') AND window_start < toDateTime('2009-03-09 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

지난 3월 9일의 흐름은 많은 분석이 단순화한 것과는 다른 양상을 보였습니다. 해당일은 일방적인 하락장이 아니었습니다. 하락 갭(gap down) 발생 이후, SPY는 오전 중반까지 반등했습니다. 10:00 ET(Eastern Time) 기준 69.49 달러에 마감했으며, 이는 10:13에 기록된 일중 고점인 70 달러보다 약간 낮은 수준입니다. 이후 오후에는 상승분을 반납하며 15:1767.73 달러 저점까지 하락한 뒤, 종가 직전 소폭 반등했습니다. 반등, 하락, 소폭 반등으로 이어지는 매우 평범한 흐름이었습니다. 폭락이나 패닉 매도세, 혹은 V자형 바닥(v-bottom)은 나타나지 않았습니다. 이는 Lehman Monday의 저점 마감 시 나타난 긴박함이나 flash crash의 급락 상황과는 완전히 다른, 거래 동력이 소진된 양상을 보였습니다. 그해 겨울에 발생한 수 퍼센트 단위의 폭락은 모두 그 이전 주들에 이미 발생했습니다. 이날의 저점은 단순히 매도세가 소진되면서 형성되었습니다.

시장의 흐름을 바꾼 요인

월요일의 데이터로는 화요일의 변화를 설명할 수 없다. 시장의 반전은 거래 데이터가 아닌 뉴스 사이클과 함께 찾아왔다. 화요일 개장 전, Citigroup(씨티그룹)의 최고경영자(CEO)인 Vikram Pandit의 내부 메모가 언론에 유출되었다. 해당 메모에 따르면, 이 은행은 2009년 1월과 2월에 수익을 기록했으며, 이는 2007년 이후 가장 좋은 두 달간의 실적이었다. 금융 위기의 중심지이자 월요일 종가 기준 $1.05에 거래되던 Citigroup는 수개월 동안 1차 자료에 기반한 긍정적인 소식을 내놓지 못했다. 저점 이후 이어진 5거래일 동안의 거래 기록은 다음과 같다.

조회반전의 주 — SPY, Citigroup 및 10-year yield(10년물 금리), 3월 9-13일
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
        argMaxIf(toFloat64(close), window_start, ticker = 'SPY' AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS spy_close_raw,
        round(argMaxIf(toFloat64(close), window_start, ticker = 'C' AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS citi_close,
        round(toFloat64(sumIf(volume, ticker = 'SPY')) / 1e6, 1) AS spy_shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'C')
      AND window_start >= toDateTime('2009-03-06 04:00:00') AND window_start < toDateTime('2009-03-14 00:00:00')
    GROUP BY et_date
)
SELECT
    toString(d.et_date) AS session,
    round(d.spy_close_raw, 2) AS spy_close,
    round((d.spy_close_raw / d.prev_close - 1) * 100, 1) AS spy_change_pct,
    d.spy_shares_m,
    d.citi_close,
    t.ten_year_pct
FROM (
    SELECT *, lagInFrame(spy_close_raw) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM daily
) AS d
LEFT JOIN (
    SELECT date, round(toFloat64(yield_10_year), 2) AS ten_year_pct
    FROM global_markets.treasury_yields
    WHERE date BETWEEN '2009-03-09' AND '2009-03-13'
) AS t ON d.et_date = t.date
WHERE d.et_date >= toDate('2009-03-09')
ORDER BY d.et_date

3월 10일은 상승세로 시작하여 그 상승분을 반납하지 않았다. SPY는 401.3 million(백만) 주의 거래량을 기록하며 6.1% 상승한 $72.21로 마감했다. 이는 저점이었던 날보다 더 큰 거래량이다. Citigroup는 $1.44에 마감했다. 금요일까지 SPY는 $76.09, Citigroup는 $1.78를 기록했다. 같은 화요일 동안 10년 만기 국채 수익률은 2.89%에서 2.99%로 상승했다. 주식 시장의 랠리와 함께 가장 안전한 자산에서 자금이 빠져나갔으며, 이는 flight-to-quality(안전 자산 선호) 거래가 반대로 나타난 결과다.

주의할 점은 다음과 같다. 그해 겨울에 이미 몇 차례의 수 퍼센트 단위 랠리가 있었으나 모두 실패했다. 3월 10일의 움직임이 이번에는 다르다는 것을 입증하는 지표는 없었다. 역사학자들은 Pandit의 메모를 시장 반전의 기점으로 기록한다. 거래 데이터가 보여줄 수 있는 것, 그리고 위에서 보여준 것은 타이밍의 일치뿐이다.

저점이 유지되었는가?

저점은 시장이 다시 그 가격으로 내려가지 않을 때에만 진정한 저점이 됩니다. 이 패널은 2009년 6월 말까지 SPY(S&P 500 ETF)의 주간 데이터를 추적합니다. 각 주의 최저 거래가와 종가를 표시하며, 마지막 열에는 누적 최저가를 나타냅니다.

조회저점 이후 16주 — 주간 저점, 종가 및 running minimum(연속 최저치)
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
        minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS day_low,
        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 day_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2009-03-10 04:00:00') AND window_start < toDateTime('2009-06-27 00:00:00')
    GROUP BY et_date
)
SELECT
    week_of,
    week_low,
    week_close,
    round(min(week_low) OVER (), 2) AS lowest_low_after_mar9
FROM (
    SELECT
        toString(toMonday(et_date)) AS week_of,
        round(min(day_low), 2) AS week_low,
        round(argMax(day_close, et_date), 2) AS week_close
    FROM daily
    GROUP BY week_of
)
ORDER BY week_of

3월 9일 이후 16주 동안 SPY의 최저가는 $69.37였습니다. 이 가격은 저점 형성 후 첫 번째 주(2009-03-09)에 기록되었습니다. SPY는 3월 9일 종가인 $68.07 아래로 다시는 거래되지 않았으며, 당일 저점인 $67.73는 더욱 근접하지 않았습니다. 재테스트나 재차 하락하여 이전 수준으로 회귀하는 현상은 발생하지 않았습니다. 2009-05-04 주에 SPY는 $93.04로 마감하며, 9주 만에 저점 대비 3분의 1 상승했습니다. 확인을 기다리는 것에는 비용이 따르며, 이 패널은 그 수치를 정확히 보여줍니다.

저점 이후 반등을 주도한 종목

손실을 주도했던 은행주들이 반등의 중심이 되었습니다. 2010년 3월 9일경 기록한 저점 종가로부터 1년 동안의 추이는 다음과 같습니다:

조회저점 이후 1년 — 위기 중심지 vs 광범위한 시장
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
    ticker,
    round(b_close, 2) AS close_mar9_2009,
    round(y_close, 2) AS close_mar9_2010,
    round((y_close / b_close - 1) * 100, 0) AS pct_1yr,
    fin AS financial
FROM (
    SELECT
        ticker,
        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2009-03-09') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS b_close,
        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2010-03-09') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS y_close,
        max(ticker IN ('C', 'BAC', 'WFC', 'JPM', 'GS', 'XLF')) AS fin
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('C', 'BAC', 'WFC', 'JPM', 'GS', 'XLF', 'SPY', 'AAPL', 'XOM')
      AND ((window_start >= toDateTime('2009-03-09 04:00:00') AND window_start < toDateTime('2009-03-10 04:00:00'))
        OR (window_start >= toDateTime('2010-03-09 04:00:00') AND window_start < toDateTime('2010-03-10 04:00:00')))
    GROUP BY ticker
)
ORDER BY pct_1yr DESC

상위 종목: BAC이(가) +349%, C이(가) 주당 $1.05에서 +265%, WFC이(가) +190%를 기록했습니다. 이는 최악의 상황을 반영했던 가격 대비 3배에서 4배에 달하는 상승폭입니다. 지수 구성 종목이 모두 은행인 것은 아닙니다. AAPL은(는) 같은 기간 동안 168%의 수익률을 기록했습니다. 하지만 해당 지수의 특징은 가장 높은 수익률을 기록한 종목이 금융주라는 점입니다. 한편, 시장 전체(SPY)는 68% 상승했으며, 하락장에서 가장 강력한 방어력을 보였던 대형 방어주 XOM은(는) 겨우 3% 상승하는 데 그쳤습니다. 이번 반등은 하락장 당시의 수익률 순위를 거의 정확하게 뒤집었습니다.

다른 저점들과의 비교

이 분 단위 기록은 2003년 9월부터 시작되므로, 2002년 10월의 닷컴 버블 저점은 수집 범위 밖에 있습니다. 이후 발생한 세 차례의 가장 깊은 종가 저점과 비교하면 2009년 3월은 다음과 같습니다:

조회4대 주요 저점 — SPY의 3개월 및 12개월 forward returns(선행 수익률)
모든 수치 뒤에 숨겨진 정확한 SQL
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('2009-03-09 04:00:00') AND window_start < toDateTime('2010-03-17 00:00:00'))
        OR (window_start >= toDateTime('2011-10-03 04:00:00') AND window_start < toDateTime('2012-10-10 00:00:00'))
        OR (window_start >= toDateTime('2018-12-24 04:00:00') AND window_start < toDateTime('2019-12-31 00:00:00'))
        OR (window_start >= toDateTime('2020-03-23 04:00:00') AND window_start < toDateTime('2021-03-30 00:00:00')))
    GROUP BY et_date
)
SELECT
    bottom_session,
    round(argMin(close_usd, et_date), 2) AS bottom_close,
    round((argMinIf(close_usd, et_date, et_date >= toDate(bottom_session) + 91) / argMin(close_usd, et_date) - 1) * 100, 1) AS plus_3mo_pct,
    round((argMinIf(close_usd, et_date, et_date >= toDate(bottom_session) + 365) / argMin(close_usd, et_date) - 1) * 100, 1) AS plus_1yr_pct
FROM (
    SELECT
        multiIf(et_date >= toDate('2020-03-23'), '2020-03-23',
                et_date >= toDate('2018-12-24'), '2018-12-24',
                et_date >= toDate('2011-10-03'), '2011-10-03',
                '2009-03-09') AS bottom_session,
        et_date,
        close_usd
    FROM daily
)
GROUP BY bottom_session
ORDER BY bottom_session

2009년 저점 이후 SPY는 3개월 동안 38.5% 상승했으며, 1년 동안은 68.1% 상승했습니다. 이는 위기의 가장 평범해 보이는 날에 시작된, 현존하는 대부분의 투자자가 경험한 가장 강력한 12개월간의 상승세였습니다. 2020년 3월 COVID 저점만이 첫해에 +75.1%를 기록하며 같은 수준에 해당합니다. 이 반등의 2020년 부양책 랠리 구조는 별도의 페이지에서 다룹니다. 당시 실제 공포를 유발했던 2011년과 2018년의 조정 저점은 첫해에 각각 31.4%와 37.1%를 회복했습니다. 네 가지 사례 모두에서 나타나는 패턴은 다음과 같습니다. 하락 폭이 깊을수록 첫 번째 반등 구간이 가파르며, 그 첫 번째 반등 구간이 항상 회복 과정 중 가장 가파랐습니다.

저점이 사후에만 보이는 이유

실질적인 메커니즘은 다음과 같다. 저점은 이후에 발생하는 현상, 즉 더 낮은 저점이 나타나지 않는 상태로 정의된다. 이러한 현상은 구조적으로 실시간에 알 수 없다. 2008년 말 하락장 동안 제안된 모든 퀀트(quantitative) 저점 신호는 반복적으로 잘못된 신호를 보냈다. 3월 9일 세션 자체는 모든 지표에서 평범한 수치를 기록했다. 일반적인 차트 형태, 평균 이하의 거래량, 그리고 다음 날 아침에야 나타난 뉴스 촉매제 등이 그러했다. 특정 지표가 이날을 저점으로 예측했다고 주장하는 것은 생존 편향을 설명하는 것에 불과하며, 해당 지표가 이전에 예측했던 수많은 잘못된 저점들이 그 증거다.

이 사례가 주는 교훈은 다음과 같다. 특정 지점(point)이 아닌 결과의 범위(range)에 대비해야 한다. 2009년 3월부터 수익을 낸 투자자들은 대부분 정해진 계획에 따라 고통스러운 겨울 내내 매수를 지속했던 이들이다. 이는 return-measurement conventions에서 암묵적으로 가정하는 방식이며, 정확한 저점을 찾아낸 이들의 방식이 아니다. 이러한 원칙에서 시장 데이터(tape)의 역할은 예언이 아닌 보정이다. 평범한 시장 상황을 식별할 수 있어야만, 실제로는 하락이 끝난 평범한 월요일을 하락이 지속되는 날로 오해하지 않을 수 있다.

2009년 3월 저점 FAQ

2008-2009년 폭락장의 정확한 저점은 언제였습니까?

2009년 3월 9일 월요일 종가 기준 저점이 기록되었습니다. SPY는 $68.07였으며, S&P 500 지수는 널리 알려진 676.53을 기록했습니다. 지수의 유명한 장중 "666" 수치는 그 전 거래일인 3월 6일 금요일에 나타났습니다.

2007년부터 2009년까지 주식 시장은 얼마나 하락했습니까?

SPY는 종가 기준으로 -56.5% 하락했습니다. 2007-10-09의 $156.41에서 2009-03-09의 $68.07로 하락했으며, 이는 1930년대 이후 미국 주식 시장에서 가장 깊은 Drawdown(낙폭)입니다.

2009년 3월 10일에는 어떤 일이 있었습니까?

저점 이후 첫 거래일입니다. Citigroup(씨티그룹)이 1월과 2월에 수익을 냈다는 내부 메모가 밤사이 유출되면서 SPY는 6.1% 상승했습니다. Citigroup 자체는 저점인 $1.05에서 상승한 $1.44로 마감했습니다.

시장은 2009년 저점으로부터 얼마나 빨리 회복되었습니까?

첫 1년은 역사적이었습니다. SPY는 저점 종가 대비 68.1% 상승했습니다. 위기 기간의 전체 낙폭을 회복하는 데는 훨씬 더 오랜 시간이 걸렸습니다. 2007년 10월 고점을 다시 상회하는 첫 종가는 2013-03-14에 나타났습니다.

저점을 미리 알리는 신호가 있었습니까?

3월 9일은 주변 몇 주간의 거래와 구별되는 특징이 없었습니다. 해당 거래일은 조용했으며 거래량은 20일 평균보다 낮았습니다. 저점은 사후적으로 확정되었습니다. 이후 16주 동안의 최저 거래가가 3월 9일 종가보다 높게 유지되었기 때문입니다.


위의 모든 패널은 역사적 거래 데이터에 대해 저장 및 버전 관리가 되는 쿼리입니다. SQL을 확장하여 각 측정값을 확인할 수 있습니다. 이 날을 직접 경험해보고 싶습니까? Strasmore Labs 트레이딩 시뮬레이터에서 플레이 가능한 시나리오 중 하나로 제공됩니다.

#market history#2009 bottom#financial crisis#bull markets#spy