S&P 500 폭락 후 시장 회복 과정
2016년 이후 S&P 500의 모든 crash(폭락)는 회복되었습니다. 과거 drawdown(낙폭) 데이터를 통해 시장의 변동성을 분석합니다.
2016년 이후 모든 S&P 500 crash(폭락)는 현재까지 새로운 고점으로 회복되었습니다. 2020년 초 지수는 5주 만에 가치의 약 3분의 1이 하락했으나, 6개월 이내에 기록적인 수준으로 반등했습니다. 2022년에는 가치의 4분의 1을 잃었으나 2024년에 고점을 탈환했습니다. 시장은 대부분의 기간을 이전 고점 아래에서 머물며, 지금까지 이러한 저점은 모두 일시적이었습니다.
마지막 문장이 이 글의 핵심입니다. crash는 차트의 단절처럼 느껴집니다. 하지만 기록상으로는 지수가 결국 빠져나오는 dip(하락)일 뿐입니다. 이것이 다음 폭락도 회복될 것임을 보장하지는 않습니다. 이는 검증 가능한 가격 데이터를 통해 지난 10년 동안 실제로 발생한 현상을 보여줍니다.
시장이 고점 대비 통상적으로 머무는 하락 폭
투자자들은 시장을 우상향하는 선으로 상상합니다. 하지만 대부분의 시간 동안 시장은 이미 설정된 고점 아래에 위치합니다. drawdown(낙폭)은 역대 최고 종가에서 현재 가격까지의 하락분을 의미하며, 지수가 새로운 신고가를 기록할 때까지 유지됩니다. 아래 차트는 2016년 이후 모든 거래일을 SPY ETF 기준 S&P 500이 신고가 대비 얼마나 낮게 마감했는지에 따라 분류한 것입니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt,
(c / max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - 1) * 100 AS ddpct
FROM d
),
b AS (
SELECT multiIf(ddpct >= -0.5, 'At a new high',
ddpct >= -5, 'Within 5% of the high',
ddpct >= -10, '5-10% below',
ddpct >= -20, '10-20% below',
'More than 20% below') AS bucket,
multiIf(ddpct >= -0.5, 0, ddpct >= -5, 1, ddpct >= -10, 2, ddpct >= -20, 3, 4) AS ord
FROM dd
)
SELECT bucket, round(100.0 * count() / (SELECT count() FROM b), 1) AS pct_of_trading_days
FROM b GROUP BY bucket, ord ORDER BY ord지수가 새로운 신고가로 마감한 거래일은 단 29.7%에 불과했습니다. 고점의 5% 이내에 머문 경우는 38.7%이었으며, 고점 대비 20% 이상 하락한 경우는 2.8%였습니다. 하락 상태는 시장의 경고 신호가 아니라 정상적인 상태입니다. 깊은 하락은 드물며, 얕은 하락은 거의 지속적으로 발생합니다.
2016년 이후 시장의 하락 역사
매월 발생한 최대 drawdown을 표시하면 지난 10년의 형태가 나타납니다. 각 구간은 하락했다가 지수가 새로운 기록을 세우면서 다시 zero line(0선)으로 회복됩니다. 수치가 0이라는 것은 해당 월에 시장이 새로운 고점에 도달했음을 의미합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt, c,
max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS peak
FROM d
)
SELECT toStartOfMonth(dt) AS month, round(min((c / peak - 1) * 100), 1) AS worst_drawdown_pct
FROM dd GROUP BY month ORDER BY month두 개의 깊은 저점은 명확합니다. 2020년 3월의 COVID crash는 불과 몇 주 만에 지수를 약 3분의 1만큼 깎아내렸습니다. 2022년 bear market(약세장)은 연중 대부분 동안 하락세를 이어갔습니다. 이들 주변에는 일반적인 pullback(조정)들이 있습니다. 2018년 12월의 변동성, 2019년 가을의 급락, 그리고 뉴스에 나오지 않았던 반복적인 5-to-10%의 하락 등이 있습니다. 이 모든 구간은 zero line으로 회복되었습니다. 이 차트는 다음 신고가에 의해 지워진 10년 동안의 공포를 보여줍니다.
지금까지 모든 drawdown은 회복되었습니다
연도별 회복 양상은 더 명확하게 나타납니다. 아래 각 연도별로 지수가 고점 대비 겪은 최대 drawdown과 해당 연도의 실제 가격 수익률을 나란히 배치했습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt, toYear(dt) AS yr, c,
(c / max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - 1) * 100 AS ddpct
FROM d
)
SELECT toString(yr) AS year,
round(min(ddpct), 1) AS worst_drawdown_pct,
round((argMax(c, dt) / argMin(c, dt) - 1) * 100, 1) AS year_return_pct
FROM dd GROUP BY yr ORDER BY yr2020년이 가장 명확한 사례입니다. 최대 drawdown은 -34.2%에 달했으나, 해당 연도는 15.1%로 마감했습니다. 2019년은 저점에서 -16.8%까지 하락했으나 28.6%로 마감했습니다. 해당 기간 중 유일한 마이너스 수익률을 기록한 해는 2022년으로, 연중 저점은 -25.4%이었으며 연간 가격 수익률은 -20%이었습니다. 지수는 이듬해인 2023년에 24.8%의 수익률을 기록하며 해당 지점을 탈환했습니다. 연간 두 자릿수 drawdown은 예외라기보다 규칙에 가까웠으며, 그중 대부분의 연도는 결국 상승 마감했습니다.
이 패턴은 마법이 아닙니다. 지수를 몇 개의 mega-cap(대형주)과 나머지 종목으로 나누어 보면 현대적 drawdown의 많은 부분이 설명되는데, 이는 지수 집중도에 관한 연구에서 다루었습니다. 또한 crash는 beta(베타)가 높은 종목에 가장 큰 타격을 주는 반면, 변동성이 낮은 종목은 적게 하락합니다. 그러나 지금까지의 회복은 전체 시장에서 공통적으로 나타났습니다.
현재 시장의 위치
현재의 위치를 전체 기간과 비교한 성적표입니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH d AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), toTimeZone(window_start, 'America/New_York')) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2016-01-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
dd AS (
SELECT dt,
(c / max(c) OVER (ORDER BY dt ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) - 1) * 100 AS ddpct
FROM d
)
SELECT round(-min(ddpct), 1) AS deepest_fall_pct,
round(-argMax(ddpct, dt), 1) AS current_fall_pct,
round(100.0 * countIf(ddpct < -0.5) / count(), 0) AS pct_days_below_high,
round(100.0 * countIf(ddpct < -5) / count(), 0) AS pct_days_below_5,
round(100.0 * countIf(ddpct < -10) / count(), 0) AS pct_days_below_10,
count() AS trading_days
FROM dd2016년 이후 S&P 500이 고점 대비 가장 깊게 하락한 지점은 COVID 저점인 34.2%입니다. 최근 세션 기준 현재 고점 대비 0.6% 아래에 있습니다. 2647개의 거래일 중 70%은 이전 고점보다 낮게 마감했으며, 32%은 5% 이상, 16%은 10% 이상 낮았습니다. 시장은 전체 기간 중 약 3분의 1을 고점과 유의미한 거리를 둔 상태로 보냈으며, 지금까지 모든 저점에서 새로운 기록을 세우며 상승했습니다.
이것은 예측이 아닙니다. 과거의 회복은 발생한 사실을 설명할 뿐, 미래의 crash를 예측하는 것이 아닙니다. 34% 하락에서 회복한 지수라 할지라도 다음번에는 더 크게 하락할 수 있습니다. 기록의 가치는 관점에 있습니다. drawdown은 시장의 비상사태인 동시에 정상적인 휴지기이며, 이 기간 동안 하락 시 매도하는 전략은 결과적으로 회복기에 매수하는 결과를 낳았습니다.
FAQ
주식 시장의 crash는 항상 회복되나요?
2020년의 약 34.2% 규모의 COVID crash와 2022년 bear market을 포함하여, 2016년 이후 모든 S&P 500 drawdown은 현재까지 새로운 고점으로 회복되었습니다. 과거의 회복은 발생한 사건의 기록이지 미래의 하락에 대한 보장이 아닙니다.
시장이 crash에서 회복하는 데 얼마나 걸리나요?
기간은 매우 다양했습니다. 2020년 crash는 몇 달 만에 고점을 탈환했으나, 2022년 bear market은 2024년까지 이어졌습니다. 위의 하락 차트는 각 drawdown이 각자의 속도로 zero line에 도달하는 모습을 보여줍니다.
주식 시장이 고점 아래에 머무는 시간은 얼마나 되나요?
2016년 이후 S&P 500은 약 70%의 거래일 동안 이전 고점보다 낮게 마감했습니다. 그중 단 29.7%의 거래일만이 새로운 신고가를 기록했습니다. 고점 아래에 머무는 것은 시장의 정상적인 상태입니다.
2016년 이후 가장 심각했던 주식 시장 drawdown은 무엇인가요?
2020년 초 COVID crash로, 당시 지수는 몇 주 만에 고점 대비 약 34.2% 하락했습니다. 2022년 bear market이 그다음으로 깊었으며, 연중 저점은 -25.4% 근처였습니다.
crash 이후 주식을 매수하는 것이 좋은 아이디어인가요?
이 글은 어떠한 조언도 제공하지 않습니다. 역사적 기록에 따르면 시장은 대부분의 시간을 고점 아래에서 보냈고 해당 기간의 모든 crash에서 회복되었으나, 이 추세가 유지될지는 알 수 없습니다. 시장의 가장 공포스러운 날들의 성과에 대해서는 공포 구간 매수에 관한 데이터 연구를 참조하십시오.
이곳의 모든 수치는 각 차트 아래에서 열람 및 검증할 수 있는 저장된 쿼리에서 가져온 것입니다. Strasmore 터미널에서 어떤 티커에 대해서도 동일한 underwater 테스트를 실행할 수 있습니다.