Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-07-23

Como o mercado se recupera de crashes

Todos os crashes do S&P 500 desde dois mil e dezesseis recuperaram. Analisamos o histórico de drawdowns e o comportamento do índice após as quedas.

Todas as quedas do S&P 500 desde 2016 recuperaram para um novo recorde até o momento. O índice perdeu cerca de um terço de seu valor em cinco semanas no início de 2020 e voltou ao topo em seis meses. Perdeu um quarto ao longo de 2022 e retomou a máxima em 2024. O mercado passa a maior parte do tempo abaixo de um pico anterior e, até agora, todos esses fundos foram temporários.

Essa última frase é o post completo. Um crash parece uma ruptura no gráfico. No registro histórico, é apenas um recuo do qual o índice sempre, eventualmente, conseguiu sair. Isso não garante que o próximo será igual. Mostra apenas o que a última década realmente fez, com base em preços históricos que podem ser abertos e auditados.

Qual a distância usual do mercado em relação à sua máxima

Investidores costumam visualizar o mercado como uma linha ascendente. Na maior parte do tempo, o mercado opera abaixo de uma máxima já estabelecida. O drawdown é a queda do maior fechamento até o preço atual, e permanece aberto até que o índice registre uma nova máxima. O gráfico abaixo agrupa cada dia de negociação desde 2016 conforme a distância do fechamento do S&P 500, medido pelo ETF SPY, em relação ao seu pico anterior.

QueryDistância do S&P 500 em relação à máxima: % de dias de negociação desde 2016
O SQL exato por trás de cada número
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

O índice fechou em uma nova máxima em apenas 29.7% dos dias de negociação. Ele ficou a menos de 5% de uma máxima em outros 38.7%, e mais de 20% abaixo de uma em 2.8%. Estar em queda é a condição normal do mercado, não um sinal de alerta. Quedas profundas são raras, enquanto quedas leves são quase constantes.

O histórico de quedas do mercado desde 2016

O gráfico mostra o pior drawdown aberto em cada mês e revela o formato da última década. Cada episódio apresenta uma queda acentuada e depois retorna à linha zero conforme o índice atinge novas máximas. O valor zero indica que o mercado atingiu uma nova máxima naquele mês.

QueryCurva underwater do S&P 500: pior drawdown desde a máxima anterior, por mês
O SQL exato por trás de cada número
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

Os dois fundos profundos são nítidos. O crash da COVID em março de 2020 reduziu o índice em cerca de um terço em poucas semanas. O bear market de 2022 apresentou queda contínua durante a maior parte do ano. Ao redor deles estão os pullbacks comuns: um dezembro difícil em 2018, um outono acentuado em 2019 e quedas repetidas de 5-a-10% que nunca ganharam destaque. Todos eles retornaram à linha zero. O gráfico mostra uma década de sustos, cada um apagado pela próxima nova máxima.

Todos os drawdowns até agora se recuperaram

A recuperação torna-se mais clara ano após ano. Para cada ano civil abaixo, o pior drawdown que o índice sofreu em relação à sua máxima anterior está listado ao lado do retorno de preço entregue no ano.

QueryPior drawdown intra-ano do S&P 500 vs retorno de preço anual, desde 2016
O SQL exato por trás de cada número
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 yr

2020 é o exemplo mais claro. O pior drawdown atingiu -34.2%, e o ano ainda assim terminou em 15.1%. 2019 caiu até -16.8% em sua mínima e fechou em 28.6%. O único ano de perda no período foi 2022, com uma mínima intra-ano de -25.4% e um retorno de preço anual de -20%. O índice recuperou esse patamar no ano seguinte, quando 2023 rendeu 24.8%. Um drawdown de dois dígitos dentro de um ano tem sido a regra, não a exceção, e a maioria desses anos ainda terminou em alta.

O padrão não é mágica. Dividir o índice entre algumas mega-caps e todo o restante explica muito sobre os drawdowns modernos, ponto abordado em nosso estudo sobre concentração de índice. Uma queda também atinge com mais força as ações de maior beta, enquanto as ações mais calmas caem menos. A recuperação, no entanto, tem se manifestado em todo o mercado até agora.

Onde o mercado está hoje

Um indicador contextualiza o posicionamento atual em relação ao período completo.

QueryRecorde underwater do S&P 500 desde 2016 (SPY, scorecard único)
O SQL exato por trás de cada número
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 dd

Desde 2016, a maior queda do S&P 500 em relação ao seu topo foi de 34.2%, a mínima da COVID. Na última sessão, o índice está 0.6% abaixo de sua máxima. Em 2647 dias de negociação, ele fechou abaixo do pico anterior em 70% deles, com mais de 5% de queda em 32%, e com mais de 10% de queda em 16%. O mercado passou aproximadamente um terço de sua existência a uma distância significativa de sua máxima e, até o momento, subiu para um novo recorde após cada um desses períodos de queda.

Nada disso é uma previsão. Recuperações passadas descrevem o que aconteceu, não o que uma futura queda fará, e um índice que se recuperou de uma queda de 34% ainda pode cair mais na próxima vez. O valor do registro é a perspectiva: um drawdown é tanto o estado de repouso do mercado quanto sua emergência, e o reflexo de vender durante um deles tem, neste intervalo, sido vender durante a recuperação.

FAQ

Queda no mercado de ações sempre se recupera?

Todos os drawdowns do S&P 500 desde 2016 se recuperaram para uma nova máxima até o momento, incluindo o crash de aproximadamente 34.2% da COVID e o bear market de 2022. Recuperações passadas são um registro do que aconteceu, não uma garantia sobre qualquer queda futura.

Quanto tempo o mercado leva para se recuperar de um crash?

O tempo varia amplamente. O crash de 2020 recuperou sua máxima em poucos meses, enquanto o bear market de 2022 se estendeu até 2024. O gráfico underwater acima mostra cada drawdown retornando à linha zero em seu próprio ritmo.

Quanto tempo o mercado de ações fica abaixo de sua máxima?

Desde 2016, o S&P 500 fechou abaixo de uma máxima anterior em cerca de 70% dos dias de negociação. Ele atingiu uma nova máxima em apenas 29.7% deles. Estar abaixo de um pico é o estado normal do mercado.

Qual foi o pior drawdown do mercado de ações desde 2016?

O crash da COVID no início de 2020, quando o índice caiu cerca de 34.2% de sua máxima em poucas semanas. O bear market de 2022 foi a segunda queda mais profunda, com uma mínima intra-year próxima a -25.4%.

É uma boa ideia comprar ações após um crash?

Este post não oferece aconselhamento. O registro histórico mostra que o mercado passou a maior parte de sua existência abaixo de uma máxima e se recuperou de todos os crashes no período até agora, embora não se saiba se isso se manterá. Veja nosso estudo de dados sobre comprar durante o medo para saber como os dias de maior medo do mercado se comportaram.


Cada número aqui vem de uma consulta armazenada que você pode abrir e auditar abaixo de cada gráfico. Execute o mesmo teste underwater em qualquer ticker no terminal Strasmore.

#market data#drawdowns#crashes#bear market#investing