Strasmore Research
Аналитика Matt ConnorАвтор: Matt Connor · Обновлено 2026-07-24

Обвал рынка 24 марта 2020 года

Подробный разбор событий 24 марта 2020 года: падение котировок, дефицит ликвидности и новые меры ФРС США, которые изменили ход рыночного цикла.

23 марта 2020 года Федеральная резервная система объявила о бессрочных закупках активов — программе количественного смягчения без установленного лимита. Также было введено беспрецедентное решение: создание механизмов для покупки корпоративных облигаций. 24 марта 2020 года рынок отреагировал на это: началось ралли на фоне мер стимулирования против COVID. Это был один из крупнейших однодневных приростов американских акций в истории. Как стало известно позже, это был второй день нового «бычьего» рынка. Локальный минимум был зафиксирован во второй половине дня до публикации объявления.

Обвал перед разворотом

Сам обвал описан на отдельной странице; здесь приведены данные, на которых он основывается — значения каждой сессии от исторического максимума до минимума, а также доходность 10-летних казначейских облигаций в базисных пунктах:

ЗапросSPY: цена закрытия, просадка и доходность 10-летних облигаций — с 19 фев по 23 мар 2020
Точный SQL-код для каждого числа
WITH daily AS (
    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
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2020-02-19 00:00:00') AND window_start < toDateTime('2020-03-24 04:00:00')
    GROUP BY et_date
    HAVING et_date >= toDate('2020-02-19') AND et_date <= toDate('2020-03-23') AND close_usd > 0
)
SELECT
    toString(d.et_date) AS session,
    d.close_usd,
    round((d.close_usd / (SELECT max(close_usd) FROM daily) - 1) * 100, 1) AS drawdown_pct,
    round(t.yield_10_year * 100) AS y10_bps
FROM daily AS d
LEFT JOIN global_markets.treasury_yields AS t ON t.date = d.et_date
ORDER BY d.et_date

С момента закрытия на историческом максимуме на уровне $338.31 2020-02-19, индекс SPY упал до $222.51 к 2020-03-23 — снижение составило -34.2%. Каждая сессия падения представлена в 24 строках панели.

Колонка доходности является ключевым индикатором. В период с 2020-03-09 доходность 10-летних облигаций упала с 156 базисных пунктов до тогдашнего рекорда в 54 базисных пунктов — классический переход в защитные активы, когда капитал уходит из акций в облигации. Затем этот паттерн нарушился: к 2020-03-18 доходность выросла более чем в два раза до 118 базисных пунктов, в то время как падение SPY углубилось с -18.9% до -28.8%. Одновременное падение акций и казначейских облигаций свидетельствует о принудительных продажах — держателях активов, которые переводят средства в наличность, продавая любые доступные инструменты. К середине марта кризис был связан с функционированием кредитного рынка, а не с ценами на акции.

Что на самом деле объявил ФРС — и что не сработало

Снижение ставок уже применялось. Ниже приведена хронология событий:

  • 2020-03-03 — экстренное снижение ставки на полпроцента, первое снижение между заседаниями с 2008 года. SPY закрылся на уровне $300.34, что на -11.2% ниже максимума; падение продолжилось.
  • 15 марта, воскресенье — ставки снижены до нуля, также запущена программа выкупа активов на $700 миллиардов. На следующей сессии, 2020-03-16, индекс закрылся на -29.2% ниже февральского максимума — это была одна из худших торговых сессий за весь период обвала.
  • 23 марта, 8:00 по восточному времени — ФРС сняла ограничения: выкуп казначейских облигаций и ипотечных ценных бумаг будет продолжаться «в необходимых объемах», без ограничения по срокам. Были представлены PMCCF и SMCCF — первые в истории ФРС механизмы выкупа корпоративных облигаций, а также возобновленный TALF для поддержки потребительского кредитования. Несмотря на это, SPY закрылся в тот день на минимуме медвежьего рынка.
  • 24 марта — данные сессии приведены ниже. За ночь Конгресс согласовал закон CARES объемом около $2 триллионов; он был подписан 27 марта, в рамках трехдневного периода, описанного далее.

Пакет мер от 23 марта отличался от предыдущих попыток двумя конструктивными особенностями. Программа с фиксированным объемом имеет дату окончания, которую может спрогнозировать стрессовый рынок; формулировка «в необходимых объемах» — нет. Кроме того, механизмы выкупа корпоративных облигаций поместили государственного покупателя непосредственно на кредитные рынки, где произошел сбой в работе систем. Являются ли эти различия решающими — вопрос субъективный; котировки фиксируют лишь последовательность: два этапа ужесточения, продолжающееся падение, третий вариант структуры и последующий разворот.

Обзор дня

ЗапросSPY 24 марта 2020 — разворот, зафиксированный
Точный 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('2020-03-23 00:00:00') AND window_start < toDateTime('2020-03-24 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(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,
    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('2020-03-24 04:00:00') AND window_start < toDateTime('2020-03-24 23:59:00')

После закрытия 23 марта по цене $222.51 — последнего закрытия медвежьего рынка — индекс SPY открылся гэпом на +5.4% по цене $234.42. В первые минуты торгов (09:31 ET) был зафиксирован минимум сессии на уровне $233.8, после чего цена не вернулась к этой отметке. Сессия закрылась на уровне $243.59, что составило +9.5% за день. Этот рост, начавшийся с минимума в первую минуту, зеркально противоположен обвалу, завершающемуся на минимуме. Однако общая динамика выглядит иначе: данные за полчаса ниже демонстрируют ослабление тренда, которое рынку пришлось преодолеть.

Структура сессии

ЗапросSPY по 30-минутным интервалам — регулярная сессия 24 марта 2020
Точный 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('2020-03-24 04:00:00') AND window_start < toDateTime('2020-03-24 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

Данные подтверждают: тренд был направленным. Минимум на уровне $233.8 был зафиксирован в первую минуту торгов и больше не достигался — однонаправленное движение было выраженным. Однако после достижения $242.24 к полуденному периоду цена начала снижаться. В течение двух часов котировки падали: в 13:30 цена закрылась на уровне $237.25, а в 14:00 был зафиксирован дневной минимум $235.05. В этот период рост мог смениться очередной неудачной попыткой отскока. Вместо этого снижение остановилось значительно выше открытия. В последние полчаса был зафиксирован максимальный уровень закрытия сессии — $243.59 при объеме 34.7 миллионов акций. Это был самый крупный объем за весь день с общим оборотом в 232.4 миллионов акций, превышающий объем открытия в 27.3 миллионов. Дневной спад был выкуплен, после чего сессия закрылась на максимумах при пиковом объеме.

Broad rally, or narrow?

An index can be dragged higher by a handful of mega-caps. That is not what this was. Twelve funds — the three major index trackers plus nine S&P sector funds — on the same two closes:

Запрос24 марта 2020: состояние индексов и секторных ETF — рост по всем позициям, сначала циклические
Точный 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 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-23')), 2) AS mar23_close,
    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 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-24')), 2) AS mar24_close,
    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 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-24')) / argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-23')) - 1) * 100, 1) AS change_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'DIA', 'QQQ', 'IWM', 'XLE', 'XLI', 'XLF', 'XLK', 'XLY', 'XLV', 'XLU', 'XLP')
  AND window_start >= toDateTime('2020-03-23 00:00:00') AND window_start < toDateTime('2020-03-25 00:00:00')
GROUP BY ticker
ORDER BY change_pct DESC

All 12 closed higher. Energy (XLE) led at +16.4%, with industrials (XLI, +12.8%) and financials (XLF, +12.7%) right behind — the most economically-sensitive corners of the market, the ones a shutdown threatens first. The Dow tracker DIA gained 11.3% — the move behind that week's "best day since 1933" headlines, a superlative that belongs to the Dow's longer price history. The smallest gains sat in the classic defensives, consumer staples (XLP, +5.1%) and healthcare (XLV, +7.4%), and the Nasdaq-100's QQQ (+7.7%) trailed SPY's +9.5%. A cyclicals-led, everything-green tape is the opposite shape of a narrow mega-cap squeeze — breadth was the day's signature.

Насколько это действительно было историческим событием?

«Самый масштабный день с 1933 года» — так гласили заголовки газет на той неделе. Вот данные нашей ленты, ограниченные только тем, что она фактически охватывает:

Запрос24 марта 2020 в сравнении со всеми минутных сессиями SPY с 2003 г.
Точный SQL-код для каждого числа
SELECT
    countIf(isFinite(day_pct)) AS sessions_measured,
    toString(min(et_date)) AS first_session,
    round(mar24_d, 1) AS mar24_gain_pct,
    countIf(isFinite(day_pct) AND day_pct > mar24_d) AS bigger_days,
    countIf(isFinite(day_pct) AND day_pct > mar24_d) + 1 AS mar24_rank,
    arrayStringConcat(arraySort(groupArrayIf(toString(et_date), isFinite(day_pct) AND day_pct > mar24_d)), ', ') AS bigger_day_dates,
    round(mar26_b, 1) AS burst3_gain_pct,
    countIf(isFinite(burst3_pct) AND burst3_pct > mar26_b) AS bigger_bursts,
    round(mar24_r30, 2) AS vol_vs_30d,
    round(mar24_r250, 2) AS vol_vs_250d,
    round(mar24_shares / 1e6, 0) AS mar24_shares_m
FROM (
    SELECT
        et_date, day_pct, burst3_pct,
        max(if(et_date = toDate('2020-03-24'), day_pct, -999)) OVER () AS mar24_d,
        max(if(et_date = toDate('2020-03-26'), burst3_pct, -999)) OVER () AS mar26_b,
        max(if(et_date = toDate('2020-03-24'), shares / vol_avg_30, -999)) OVER () AS mar24_r30,
        max(if(et_date = toDate('2020-03-24'), shares / vol_avg_250, -999)) OVER () AS mar24_r250,
        max(if(et_date = toDate('2020-03-24'), shares, -999)) OVER () AS mar24_shares
    FROM (
        SELECT
            et_date,
            (close_usd / lagInFrame(close_usd, 1) OVER (ORDER BY et_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) - 1) * 100 AS day_pct,
            (close_usd / lagInFrame(close_usd, 3) OVER (ORDER BY et_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) - 1) * 100 AS burst3_pct,
            shares,
            avg(shares) OVER (ORDER BY et_date ASC ROWS BETWEEN 30 PRECEDING AND 1 PRECEDING) AS vol_avg_30,
            avg(shares) OVER (ORDER BY et_date ASC ROWS BETWEEN 250 PRECEDING AND 1 PRECEDING) AS vol_avg_250
        FROM (
            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,
                toFloat64(sum(volume)) AS shares
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY' AND window_start < toDateTime('2026-01-01 00:00:00')
            GROUP BY et_date
            HAVING close_usd > 0
        )
    )
)
GROUP BY mar24_d, mar26_b, mar24_r30, mar24_r250, mar24_shares

С момента 2003-09-10 — первой сессии наших минутных данных — SPY показал 5613 ежедневных доходностей от закрытия к закрытию. Показатель +9.5% за 24 марта 2020 года занимает #3 место: ровно 2 сессий превзошли его (2008-10-13, 2008-10-28), и обе относятся к панике октября 2008 года. Трехдневная последовательность встречается еще реже: рост на +17.5% от закрытия 23 марта до закрытия 26 марта является самым крупным трехсессионным приростом (0) во всей выборке. Среди всех данных, которые может проверить наша база, этот скачок не имеет аналогов.

Объем торгов говорит о другом: 232 миллионов акций SPY составили 2.86× от среднего показателя за прошедший год — и только 1.12× от среднего значения за предыдущие 30 сессий. По сравнению с любым обычным историческим периодом активность была чрезвычайной; по сравнению с неделями обвала, предшествовавшими этому дню, это был лишь очередной день внутри шторма. Исторические события не всегда сопровождаются рекордными объемами.

Трехдневный рывок

ЗапросЗакрытие SPY, 23–26 марта 2020 — трехдневный рывок
Точный SQL-код для каждого числа
SELECT
    toString(et_date) AS session,
    close_usd,
    round(if(prev_close = 0, NULL, (close_usd / prev_close - 1) * 100), 1) AS change_pct,
    shares_m
FROM (
    SELECT et_date, close_usd, shares_m,
           lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_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,
            round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime('2020-03-20 00:00:00') AND window_start < toDateTime('2020-03-26 23:59:00')
        GROUP BY et_date
    )
)
WHERE et_date >= toDate('2020-03-23') AND et_date <= toDate('2020-03-26')
ORDER BY et_date

Рост продолжился незамедлительно: +9.5% 24-го числа, +1.3% 25-го числа, +5.9% 26-го числа. Эта серия из трех сессий отменила последствия многонедельного падения; в представленной выборке не было более масштабного движения. Паттерн марта 2020 года во многом повторяет март 2009: в обоих случаях решительные меры политики были приняты вблизи минимума, первая фаза ралли была резкой, а день максимальных возможностей в то утро выглядел неотличимым от очередного отскока медвежьего рынка.

Сохранилось ли ралли?

В реальном времени преобладало мнение о «отскоке медвежьего рынка», и у скептиков были свои аргументы: одиннадцать дней назад рынок уже демонстрировал ралли почти такого же масштаба — с $248.1 на 2020-03-12 до $270.93 на 2020-03-13, — а следующий за ним торговый день завершился на отметке $239.41, что стало худшим показателем за весь период обвала. Один положительный день ничего не доказывает. От 24 марта отличает то, что последовало за ним:

ЗапросУдержался ли рынок? Отсутствовавший ретест и два графика восстановления
Точный SQL-код для каждого числа
SELECT
    round(ath_close, 2) AS feb19_ath_close,
    round(bottom_close, 2) AS mar23_bottom_close,
    toString(rec_date) AS recovery_date,
    countIf(et_date > toDate('2020-03-23') AND et_date <= rec_date) AS sessions_to_new_high,
    dateDiff('day', toDate('2020-03-23'), rec_date) AS days_low_to_new_high,
    dateDiff('day', toDate('2020-02-19'), rec_date) AS round_trip_days,
    round(minIf(close_usd, et_date > toDate('2020-03-23') AND et_date <= rec_date), 2) AS lowest_close_after,
    toString(argMinIf(et_date, (close_usd, et_date), et_date > toDate('2020-03-23') AND et_date <= rec_date)) AS lowest_close_date,
    round((minIf(close_usd, et_date > toDate('2020-03-23') AND et_date <= rec_date) / bottom_close - 1) * 100, 1) AS closest_retest_pct,
    toString(peak07_date) AS peak_2007_date,
    toString(rec07_date) AS recovery_2013_date,
    dateDiff('day', peak07_date, rec07_date) AS round_trip_2008_days
FROM (
    SELECT
        et_date, close_usd, ath_close, bottom_close, peak07_date,
        min(if(et_date > toDate('2020-03-23') AND close_usd >= ath_close, et_date, toDate('2099-01-01'))) OVER () AS rec_date,
        min(if(et_date >= toDate('2008-01-01') AND close_usd >= peak07_close, et_date, toDate('2099-01-01'))) OVER () AS rec07_date
    FROM (
        SELECT
            et_date, close_usd,
            max(if(et_date = toDate('2020-02-19'), close_usd, -999)) OVER () AS ath_close,
            max(if(et_date = toDate('2020-03-23'), close_usd, -999)) OVER () AS bottom_close,
            max(if(et_date >= toDate('2007-01-01') AND et_date < toDate('2008-01-01'), (close_usd, et_date), (-999., toDate('1970-01-01')))) OVER () .1 AS peak07_close,
            max(if(et_date >= toDate('2007-01-01') AND et_date < toDate('2008-01-01'), (close_usd, et_date), (-999., toDate('1970-01-01')))) OVER () .2 AS peak07_date
        FROM (
            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('2021-01-01 00:00:00')
            GROUP BY et_date
            HAVING close_usd > 0
        )
    )
)
GROUP BY ath_close, bottom_close, rec_date, peak07_date, rec07_date

Повторного тестирования минимумов не произошло. После 23 марта самый низкий уровень закрытия SPY составил $243.59 — на 2020-03-24, в день самого стимулирующего ралли. Рынок больше не закрывался в пределах 9.5% от дна. Допандемийный максимум в $338.31 был достигнут 2020-08-18 — через 103 торговых сессий после минимума; это был цикл в 181 дней от исторического максимума до исторического максимума. Сравнение с 2008 годом при аналогичном расчете: пик SPY на уровне 2007-10-09 не обновлялся до 2013-03-14, то есть через 1983 дней. Два кризиса, две скорости, но один рынок, который за это время изменил свой метаболизм.

Чему учит этот день

Необходимо усвоить три вывода. Во-первых, ключевую роль сыграл разрыв: большая часть дневного роста сформировалась еще до открытия — любой, кто ждал входа в обычные часы, платил за это в течение всего дня — механика ночного гэпа проявилась в полной мере. Во-вторых, минимум предшествовал подтверждению: закрытие 23 марта стало локальным минимумом, который стал очевиден только после того, как рынок в подобных сессиях отказался возвращаться к этой отметке. В-третьих, скорость работает в обе стороны: та же рыночная структура, которая сжала просадку в -34.2% до уровней 24 выше, сжала и начальное восстановление до трех сессий. Скорость — это свойство текущей рыночной инфраструктуры, а не следствие хороших или плохих новостей.

Скептики той недели не были неправы: охват, импульс и ретест, который так и не произошел, — каждый фактор, отличающий 24 марта от неудачных ралли, можно измерить только задним числом. Разницу между ралли на медвежьем рынке и началом нового бычьего рынка невозможно увидеть в первый день, но она становится очевидной в течение нескольких месяцев.

FAQ по ралли COVID

Что произошло 24 марта 2020 года?

Первая полная торговая сессия после объявления ФРС о неограниченном количественном смягчении (QE): SPY открылся гэпом +5.4% и закрылся на уровне +9.5%. Это был #3 однодневный прирост за все 5613 сессий, охваченных нашей минутной лентой, уступающий только двум дням в октябре 2008 года.

Что объявила ФРС 23 марта 2020 года?

Бессрочные закупки казначейских облигаций и ипотечных ценных бумаг — «в необходимых объемах» — а также запуск PMCCF и SMCCF, первых в истории механизмов для покупки корпоративных облигаций, и возобновление программы TALF для потребительского кредитования. Заявление было опубликовано в 8:00 по восточному времени до открытия рынка; SPY в тот день все равно закрылся на минимуме медвежьего рынка.

Был ли 23 марта 2020 года дном обвала COVID?

Да, согласно цене закрытия: SPY закрылся на минимуме $222.51 23 марта, через несколько часов после объявления ФРС. Этот уровень больше не достигался — следующий минимальный уровень закрытия был зафиксирован 2020-03-24, что на 9.5% выше дна.

Когда фондовый рынок восстановил свои доковидные максимумы?

SPY впервые закрылся выше своего исторического максимума от 19 февраля 2020 года на 2020-08-18, спустя 103 торговых сессий после дна. Это был цикл восстановления продолжительностью 181 дней, в то время как аналогичный путь во время кризиса 2008 года занял 1983 дней.

Можно ли было совершить покупку после выхода новостей и получить прибыль?

Перед началом регулярных торгов открылся гэп +5.4%, и в течение дня котировки продолжали расти. Каждая последующая точка входа стоила дороже предыдущего закрытия, но все равно оставалась значительно ниже уровней, на которых рынок находился в период восстановления в августе 2020 года.

Примечания к данным
  • Цены закрытия — это последние котировки регулярной сессии (9:30–16:00 по восточному времени) из минутной ленты; они могут отличаться от официальных аукционных цен закрытия на несколько центов.
  • Даты восстановления рассчитаны только по цене; показатель совокупной доходности (с реинвестированием дивидендов) по своей структуре восстанавливается быстрее.
  • Доходность 10-летних облигаций включается в ежедневную серию казначейских облигаций на торговые даты; базисные пункты — это сотые доли процентного пункта.
  • Выборка в панели ранжирования начинается с 2003-09-10 — фраза «с 2003 года» на этой странице означает именно этот период, а не всю историю рынка.

Каждая панель выше представляет собой сохраненный версионный запрос к исторической ленте — разверните SQL, чтобы увидеть каждый параметр. Хотите прожить этот день, а не просто читать о нем? Это один из доступных сценариев в торговом симуляторе Strasmore Labs.

#market history#covid rally#bull markets#federal reserve#spy