Strasmore Research
تفصیلی تجزیہ Matt Connorاز Matt Connor · اپ ڈیٹ شدہ 2026-07-25

24 مارچ 2020 مارکیٹ کا موڑ

24 مارچ 2020: COVID کریش کے بعد Fed کی بلاقائدہ QE اور کارپوریٹ بانڈز خریداری نے ریکارڈ رالی چلائی۔ منٹ ٹیپ سے dash for cash، سیکٹر بریڈتھ، اور وہ retest جو کبھی نہ آیا۔

23 مارچ 2020 کو، Federal Reserve نے بلاقائدہ اثاثہ جات کی خریداری کا اعلان کیا — بغیر کسی متعین حد کے QE — اس کے ساتھ ایک ایسی چیز جو اس نے پہلے کبھی نہیں کی تھی: کارپوریٹ بانڈز خریدنے کی سہولیات۔ 24 مارچ 2020 مارکیٹ کا جواب تھا: COVID تحریک کا رالی، ریکارڈ پر امریکی ایکویٹی کی سب سے بڑی یک دن کی بڑھوتری میں سے ایک، اور — صرف بعد میں نظر آنے والی — ایک نئے بول مارکیٹ کا دوسرا دن۔ تٹ خود تہہ نے اعلان کے آنے سے ایک دن پہلے دوپہر کو بند کیا تھا۔

موڑ سے پہلے کا کریش

کریش کا خود واقعہ کا اپنا صفحہ ہے؛ یہ وہ ریکارڈ ہے جس پر یہ کھڑا ہے — تاریخی اعلیٰ سے نچلے نقطے تک کا ہر سیشن، ساتھ میں 10 سالہ Treasury کی ییلڈ بنیادی پوائنٹس میں:

استفسار کریںSPY ڈیلی کلوز، ڈریڈاؤن، اور 10-year yield — 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

2020-02-19 کو $338.31 کے تاریخی اعلیٰ اختتام سے، SPY 2020-03-23 تک $222.51 تک گر گیا — یہ -34.2% کا گراوٹ تھا، جس کے گرنے کا ہر سیشن پینل کے 24 قطاروں کے اندر آتا ہے۔

ییلڈ والا کالم ہی اصل اشارہ ہے۔ 2020-03-09 تک 10 سالہ ییلڈ 156 بنیادی پوائنٹس سے اس وقت کے ریکارڈ 54 تک ڈھٹ گئی — یہ کلاسیکی محفوظ جائے وقوع کا رخ ہے، پیسہ اسٹاک سے نکل کر bond میں چلا گیا۔ پھر یہ پیٹرن ٹوٹ گیا: 2020-03-18 تک ییلڈ دگنے سے بھی زیادہ ہو کر 118 بنیادی پوائنٹس ہو گئی، جبکہ SPY کی گراوٹ -18.9% سے بڑھ کر -28.8% ہو گئی۔ اسٹاک اور Treasuries کا ایک ساتھ گرنا زبردستی فروخت کی نشانی ہے — مالکان وہ سب کچھ بیچ کر نقد اکٹھا کر رہے ہیں جس کی اب بھی قیمت مل رہی ہے۔ مارچ کے وسط تک یہ بحران کریڈٹ کے اپنے ڈھانچے کے بارے میں تھا، اسٹاک کی قیمت کے بارے میں نہیں۔

فیڈ نے دراصل کیا اعلان کیا — اور کیا کام نہیں کر رہا تھا

شرح سود میں کمی پہلے ہی آزمائی جا چکی تھی۔ تاریخ وار ترتیب، اوپر پینل میں ہر اندراج پڑھا جا سکتا ہے:

  • 2020-03-03 — نصف پوائنٹ کی ہنگامی شرح میں کمی، 2008 کے بعد میٹنگ کے درمیان پہلی کمی۔ SPY $300.34 پر بند ہوا، ہائی سے -11.2% نیچے، اور گراوٹ جاری رہی۔
  • 15 مارچ، اتوار — شرحیں صفر تک لائی گئیں ساتھ ہی $700 ارب کا اثاثہ خریداری پروگرام۔ اگلے سیشن میں، 2020-03-16، فروری کے ہائی سے -29.2% نیچے بند ہوا — پورے کریش کے بدترین سنگل سیشنز میں سے ایک۔
  • 23 مارچ، صبح 8:00 مشرقی وقت — فیڈ نے چھت ہٹا دی: Treasuries اور مارٹگیج بیکڈ سیکیورٹیز کی خریداری "ضرورت کی مقدار میں" جاری رہے گی، بلا مقررہ حد۔ اس کے ساتھ PMCCF اور SMCCF جڑے تھے — فیڈ کے پہلے کارپوریٹ بانڈ خریداری فیسلٹیز — اور ایک بحال شدہ TALF جو کنزیومر کریڈٹ کی ضمانت دے رہا تھا۔ SPY اس دن دوپہر کو ابھی بھی بیئر کے لو پر بند ہوا۔
  • 24 مارچ — نیچے دیا گیا سیشن۔ راتوں رات کانگریس تقریباً $2 ٹریلن کے CARES Act پر متفق ہو گئی؛ یہ 27 مارچ کو دستخط ہوا، نیچے درج تین دن کے دھماکے کے اندر۔

دو ڈیزائن فرق نے 23 مارچ کے پیکیج کو اس سے پہلے کی کوششوں سے الگ کیا۔ مقررہ سائز کے پروگرام کی ایک ختم ہونے کی تاریخ ہوتی ہے جس سے آگے ایک دباؤ والا مارکیٹ دیکھ سکتا ہے؛ "ضرورت کی مقدار میں" میں نہیں۔ اور کارپوریٹ فیسلٹیز نے ایک عوامی خریدار کو براہ راست کریڈٹ مارکیٹس کے اندر رکھا جہاں پلمبنگ جم چکی تھی۔ آیا یہ فرق ہی وہ ہیں جن کا اہمیت تھی، یہ ایک فیصلہ ہے؛ ٹیپ ترتیب کو ریکارڈ کرتا ہے — دو بڑھوتریاں، مسلسل گراوٹ، تیسرا ڈیزائن، پھر موڑ۔

ایک دن، ایک سطر میں

استفسار کریں24 مارچ، 2020 کو 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('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 پر کھلا۔ ابتدائی منٹوں میں سیشن کا نچلا درجہ $233.8 ریکارڈ ہوا (09:31 ET)، اور قیمت اس سطح پر کبھی واپس نہیں گئی: دن کی بند قیمت $243.59 پر تھی، جو دن بھر میں +9.5% رہی۔ ایک ریلی جس کا نچلا درجہ پہلے ہی منٹ میں آ جائے، وہ اس کریش کا عکس ہے جو اپنے نچلے درجے پر بند ہو۔ تاہم، ایک سطر پورے رستے کو ہموار کر دیتی ہے — نیچے دی گئی نصف گھنٹے کی ٹیپ اس سیشن میں جو کمی سہنی پڑی اسے ظاہر کرتی ہے۔

سیشن کا انداز

استفسار کریںSPY نصف گھنٹے کے حساب سے — 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 ملین سے بھی زیادہ۔ دوپہر کا وہ گراوٹ جس میں خریدار مل گئے، پھر سب سے زیادہ حجم پر بلند ترین سطح پر اختتام۔

وسیع ریلی، یا محدود؟

ایک انڈیکس چند میگا کیپس کے ذریعے اوپر کھینچا جا سکتا ہے۔ یہ ایسا نہیں تھا۔ بارہ فنڈز — تین بڑے انڈیکس ٹریکرز اور نو S&P سیکٹر فنڈز — اسی دو کلوزز پر:

استفسار کریں24 مارچ، 2020 انڈیکس اور سیکٹر ETFs میں — سب سبز، سائیکلیکلز سب سے پہلے
ہر عدد کے پیچھے موجود درست 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

تمام 12 زیادہ بند ہوئے۔ Energy (XLE) +16.4% پر سرِ فہرست رہا، اس کے فوراً پیچھے industrials (XLI، +12.8%) اور financials (XLF، +12.7%) تھے — مارکیٹ کے وہ حصے جو معاشی لحاظ سے سب سے زیادہ حساس ہیں، اور جنہیں شٹ ڈاؤن سب سے پہلے متاثر کرتا ہے۔ Dow ٹریکر DIA میں 11.3% کا اضافہ ہوا — یہ حرکت اس ہفتے کی "1933 کے بعد سے بہترین دن" والی سرخیوں کے پیچھے تھی، یہ اعزاز Dow کی طویل قیمت کی تاریخ کا حصہ ہے۔ سب سے کم اضافہ روایتی دفاعی شعبوں میں رہا، consumer staples (XLP، +5.1%) اور healthcare (XLV، +7.4%)، اور Nasdaq-100 کے QQQ (+7.7%) نے SPY کے +9.5% سے پیچھے رہ کر کارکردگی دکھائی۔ سائیکلیکلز کی قیادت میں ہر چیز سبز رہنے والا ٹیپ ایک محدود میگا کیپ سکوییز کے بالکل برعکس ہے — بریڈتھ اس دن کی پہچان تھی۔

یہ واقعی کتنا تاریخی تھا؟

"1933 کے بعد سے سب سے بڑا دن" اس ہفتے کے اخبارات سے لیا گیا ایک Dow اعداد و شمار ہے۔ یہ وہ ہے جو ہماری اپنی ٹیپ تصدیق کر سکتی ہے، اس دائرہ کار میں جو یہ دراصل احاطہ کرتا ہے:

استفسار کریں24 مارچ، 2020 کا ہر SPY سیشن کے مقابلے میں منٹ ٹیپ پر درجہ
ہر عدد کے پیچھے موجود درست 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 کلوز ٹو کلوز روزانہ کی پیداوار ریکارڈ کی ہیں۔ 24 مارچ 2020 کی +9.5% #3 نمبر پر درج ہے: بالکل 2 سیشنز نے اسے پیچھے چھوڑا (2008-10-13, 2008-10-28)، دونوں اکتوبر 2008 کے ہیج کے اندر۔ تین دن کا سلسلہ اس سے بھی زیادہ نایاب ہے: 23 مارچ کے کلوز سے 26 مارچ کے کلوز تک +17.5% کے رن کے مقابلے میں نمونے میں کہیں بھی 0 بڑے تین سیشن کے فوائد ہیں۔ اس گودام میں جو کچھ بھی چیک کیا جا سکتا ہے، اس سب کے اندر اس دھماکے کے برابر کوئی چیز نہیں ہے۔

حجم پُرسکون کہانی بیان کرتا ہے: 232 ملین SPY شیئرز گزشتہ سال کی اوسط کا 2.86 گنا تھے — اور پچھلے 30 سیشنز کی اوسط کا صرف 1.12 گنا۔ تاریخ کے کسی بھی معمول کے دور کے مقابلے میں یہ سرگرمی غیر معمولی تھی؛ لیکن اس سے پہلے والے کریش کے ہفتوں کے مقابلے میں، یہ طوفان کے اندر ایک اور عام دن تھا۔ تاریخی موڑ اپنے ساتھ تاریخی حجم لے کر نہیں آتے۔

تین دن کا تیزی کا دورانیہ

استفسار کریں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

رجحان فوراً تیز ہوا: 24 تاریخ کو +9.5%، 25 تاریخ کو +1.3%، 26 تاریخ کو +5.9% — یہ تین نشستوں کا سلسلہ تھا جس نے ہفتوں کی گراوٹ کو منسوخ کر دیا، اور اس نمونے میں اوپر کہیں بھی اس سے بڑا کوئی واقعہ موجود نہیں۔ مارچ 2020 کا پیٹرن جان بوجھ کر مارچ 2009 سے ہم آہنگ ہے: دونوں میں فیصلہ کن پالیسی ردعمل کم ترین قیمت کے قریب آیا، پہلی بحالی کا قدم شدید تھا، اور زیادہ سے زیادہ موقع کا دن اس صبح کسی اور بیئر مارکیٹ باؤنس سے ممتاز نظر نہیں آتا تھا۔

کیا ریلی قائم رہی؟

حقیقی وقت میں، "بئیر مارکیٹ باؤنس" ہی سب سے زیادہ تسلیم شدہ تشریح تھی۔ شکاکین کے پاس اپنے دعووں کے ثبوت موجود تھے۔ گیارہ دن پہلے ٹیپ پہلے ہی تقریباً اسی حجم کی ریلی پیدا کر چکی تھی — 2020-03-12 کو $248.1 سے 2020-03-13 کو $270.93 تک — اور اس کے اگلے سیشن کا اختتام $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 کو ناکام ریلیوں سے الگ کرنے والا ہر ثبوت صرف بعد میں نظر آنے کے بعد ہی قابل پیمائش ہے۔ ریڑھ کی ہڈی والی مارکیٹ کی ریلی اور نئی بیل مارکیٹ کے درمیان فرق پہلے دن نظر نہیں آتا اور چند ماہ میں واضح ہو جاتا ہے۔

کووڈ رالی عمومی سوالات

24 مارچ 2020 کو کیا ہوا؟

Fed کے بے قاعدہ QE کے اعلان کے بعد پہلا مکمل سیشن: SPY اوپن پر +5.4% کے فرق کے ساتھ کھلا اور +9.5% پر بند ہوا — یہ ہماری منٹ ٹیپ کے 5613 سیشنز میں #3 سنگل ڈے گین ہے، صرف اکتوبر 2008 کے دو دن کے پیچھے۔

Fed نے 23 مارچ 2020 کو کیا اعلان کیا؟

Treasury اور مارٹگیج بیکڈ سیکیورٹیز کی بے قاعدہ خریداری — "ضروری مقدار میں" — اس کے علاوہ PMCCF اور SMCCF، کارپوریٹ bond خریدنے کے لیے اس کی پہلی سہولیات، اور کنزیومر کریڈٹ کے لیے بحال شدہ TALF۔ یہ بیان ET کے مطابق صبح 8:00 بجے، مارکیٹ کھلنے سے پہلے جاری کیا گیا؛ SPY اس دن پھر بھی اپنے بیئر مارکیٹ کے نچلے درجے پر بند ہوا۔

کیا 23 مارچ 2020 کووڈ کریش کا نچلا درجہ تھا؟

ہاں، کلوزنگ پرائس کے لحاظ سے: SPY کا $222.51 کا نچلا کلوز 23 مارچ کو، Fed کے اعلان کے چند گھنٹے بعد چھپا۔ یہ دوبارہ کبھی نہیں آیا — اس کے بعد سب سے کم کلوز 2020-03-24 کو آیا، جو نچلے درجے سے 9.5% اوپر تھا۔

اسٹاک مارکیٹ نے اپنا کووڈ سے پہلے کا اعلیٰ درجہ کب حاصل کیا؟

SPY پہلی بار اپنے 19 فروری 2020 کے آل ٹائم ہائی کلوز سے اوپر 2020-08-18 کو بند ہوا، جو نچلے درجے کے 103 ٹریڈنگ سیشنز بعد تھا — یہ ایک 181 دن کا سفر تھا، جبکہ 2008 کے کریش کے مماثل سفر میں 1983 دن لگے تھے۔

کیا خبر کے بعد خرید کر کے بھی اچھا منافع ممکن تھا؟

ریگولر ٹریڈنگ شروع ہونے سے پہلے اوپن +5.4% کے فرق سے کھلا، اور دن بھر قیمت چڑھتی رہی — ہر بعد کے انٹری کی قیمت پچھلے کلوز سے زیادہ تھی، اور پھر بھی وہ اگست 2020 کی بحالی میں مارکیٹ کی پوزیشن سے کافی نیچے تھی۔

ڈیٹا نوٹس
  • کلوزز ریگولر سیشن (صبح 9:30-شام 4:00 ET) کے آخری پرنٹس ہیں جو منٹ ٹیپ سے لیے گئے ہیں؛ یہ آفیشل نیلامی کلوزز سے چند سینٹ تک مختلف ہو سکتے ہیں۔
  • بحالی کی تاریخیں صرف پرائس پر مبنی ہیں؛ کل ریٹرن میچور (ڈیویڈنڈز دوبارہ سرمایہ کاری شدہ) تعمیر کے لحاظ سے جلد بحال ہوتا ہے۔
  • 10 سالہ ییلڈ Treasury کی ڈیلی سیریز میں ٹریڈنگ تواریخ پر شامل ہوتا ہے؛ بیسس پوائنٹس ایک فیصد کا سوا حصہ ہیں۔
  • رینک پینل کا سیمپل 2003-09-10 سے شروع ہوتا ہے — اس صفحے پر "2003 کے بعد سے" کا مطلب وہ دور ہے، ریکارڈ شدہ مارکیٹ ہسٹری کی تمام نہیں۔

اوپر ہر پینل ہسٹوریکل ٹیپ پر ایک محفوظ، ورژن شدہ query ہے — ہر پیمائش دیکھنے کے لیے SQL کو پھیلائیں۔ اس دن کو پڑھنے کے بجائے محسوس کرنا چاہتے ہیں؟ یہ Strasmore Labs ٹریڈنگ سمیولیٹر میں کھیلنے کے قابل منظرناموں میں سے ایک ہے۔

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