Як ринки відновлюються після обвалів
Кожен спад S&P 500 з 2016 року був тимчасовим. Досліджуємо глибину просадок та історію відновлення індексу, щоб краще розуміти ринкову динаміку.
Кожен обвал S&P 500 з 2016 року до сьогоднішнього дня відновлювався до нового максимуму. На початку 2020 року індекс втратив близько третини своєї вартості за п'ять тижнів і повернувся до рекордних показників протягом шести місяців. Протягом 2022 року він втратив чверть вартості, а у 2024 році повернув собі максимум. Більшу частину свого часу ринок перебуває нижче попереднього піку, і на даний момент кожен такий спад був тимчасовим.
Це останнє речення і є змістом усього допису. Обвал сприймається як розрив на графіку. В історичній перспективі це лише просадка, з якої індекс зрештою завжди виходив. Це не гарантує, що наступний обвал буде таким самим. Це лише показує, що насправді відбувалося протягом останнього десятиліття, згідно з архівними цінами, які можна перевірити.
Наскільки низько від свого максимуму зазвичай перебуває ринок
Інвестори уявляють ринок як лінію, що постійно зростає. Насправді більшу частину часу це лінія, що знаходиться нижче вже встановленого максимуму. Drawdown — це падіння від найвищого рівня закриття на сьогоднішній ціні, і цей показник залишається відкритим, доки індекс не встановить новий рекорд. На графіку нижче кожен торговий день з 2016 року згруповано за відхиленням закриття S&P 500 (виміряним через ETF SPY) від поточного максимуму.
Точний 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 за кожен місяць, можна побачити структуру останнього десятиліття. Кожен епізод демонструє падіння, після якого слідує повернення до нульової лінії, коли індекс встановлює новий рекорд. Значення «нуль» означає, що протягом цього місяця ринок торкнувся нового максимуму.
Точний 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Два глибокі падіння очевидні. Обвал COVID у березні 2020 року скоротив індекс приблизно на третину всього за кілька тижнів. Медвежий ринок 2022 року тривав більшу частину року. Навколо них розташовані звичайні корекції: складний грудень 2018 року, різкий осінній період 2019 року та повторювані падіння на 5–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 протягом року був радше правилом, ніж винятком, і більшість таких років все одно завершилися зростанням.
Ця закономірність не є магією. Розподіл індексу на кілька мега-компаній та всі інші активи пояснює значну частину сучасних просадок, про що йдеться у нашому дослідженні концентрації індексу. Обвал також сильніше б'є по акціях з високим 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 ddЗ 2016 року найглибше падіння S&P 500 від максимуму становило 34.2% (мінімум під час COVID). Станом на останню торгову сесію він перебуває на 0.6% нижче свого максимуму. Протягом 2647 торгових днів індекс закривався нижче попереднього піку у 70% випадках, на рівні понад 5% нижче — у 32% випадках, а на рівні понад 10% нижче — у 16% випадках. Ринок проводив приблизно третину свого часу на значній відстані від максимуму, і до сьогодні він виходив з кожної такої просадки до нового рекорду.
Це не прогноз. Попередні відновлення описують те, що вже сталося, а не те, що зробить майбутній обвал; індекс, який відновлювався після падіння на 34%, наступного разу все ще може впасти ще сильніше. Цінність історичних даних полягає в перспективі: drawdown — це настільки ж природний стан ринку, як і надзвичайна ситуація, а рефлекс продавати під час такого падіння в цей період часу призводив до вигідних покупівель під час відновлення.
FAQ
Чи завжди фондовий ринок відновлюється після обвалів?
Кожен drawdown S&P 500 з 2016 року до сьогоднішнього дня відновлювався до нового максимуму, включаючи обвал COVID приблизно на 34.2% та медвежий ринок 2022 року. Попередні відновлення — це лише запис того, що відбулося, а не гарантія щодо будь-якого майбутнього падіння.
Скільки часу ринку потрібно для відновлення після обвалу?
Цей термін сильно варіюється. Обвал 2020 року повернувся до максимуму протягом кількох місяців, тоді як медвежий ринок 2022 року тривав до 2024 року. На графіку вище показано, як кожен drawdown повертається до нульової лінії у власному темпі.
Яку частину часу фондовий ринок перебуває нижче свого максимуму?
З 2016 року S&P 500 закривався нижче попереднього максимуму приблизно у 70% торгових днів. Лише у 29.7% випадках він досягав нового максимуму. Перебування нижче піку є нормальним станом ринку.
Яким був найсильніший drawdown фондового ринку з 2016 року?
Обвал COVID на початку 2020 року, коли індекс впав приблизно на 34.2% від свого максимуму за кілька тижнів. Наступним за глибиною був медвежий ринок 2022 року з мінімумом протягом року близько -25.4%.
Чи варто купувати акції після обвалу?
Цей допис не містить порад. Історичні дані показують, що ринок проводив більшу частину свого часу нижче максимуму і досі відновлювався після кожного обвалу в цей період, проте невідомо, чи збережеться ця тенденція. Дивіться наше дослідження покувівок під час паніки, щоб дізнатися, як поводилися ринки у найбільш тривожні дні.
Кожне число тут отримано з відповідного запиту, який ви можете відкрити та перевірити під кожним графіком. Ви можете запустити такий самий тест на перебування «під водою» для будь-якого тікера на терміналі Strasmore.