Strasmore Research
গভীর বিশ্লেষণ Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-07-23

২০২০ সালের COVID ক্রাশ এবং SPY এর পতন

২০২০ সালের COVID ক্রাশের বিস্তারিত বিশ্লেষণ। এতে SPY এর peak-to-trough মানচিত্র এবং আট দিনের মধ্যে চারবার circuit-breaker halts ঘটার ঘটনাটি তুলে ধরা হয়েছে।

২০২০ সালের COVID ক্রাশের কারণে S&P 500 ১৯ ফেব্রুয়ারির রেকর্ড উচ্চস্থান থেকে -34.2% peak-to-trough ক্ষতি করেছে যা 23 trading days-এর মধ্যে ঘটেছিল। এই সময়ের মধ্যে বাজারজুড়ে চারবার circuit-breaker halts দেখা গেছে, যা ১৯৯৭ সালের পর প্রথম। এই পৃষ্ঠাটি পুরো ঘটনাপ্রবাহ পুনরায় উপস্থাপন করছে: ক্রাশের মানচিত্র, ৯ মার্চের halt session-এর প্রতিটি মিনিট (ডেটাতে অনুপস্থিত মিনিটগুলোসহ, যা এই পৃষ্ঠার সবচেয়ে নির্ভরযোগ্য প্রমাণ), সবচেয়ে বেশি পতন ঘটা শেয়ারগুলোর নাম, এবং সেই সময়ে Treasuries ও options tape-এর অবস্থা। প্রতিটি সংখ্যা একটি stored query; SQL দেখতে যেকোনো প্যানেল এক্সপ্যান্ড করুন।

একটি সারিতে সম্পূর্ণ ধস

সেই বিখ্যাত দিনের আগের চিত্রটি এখানে দেওয়া হলো। SPY-এর দৈনিক রেগুলার-সেশনের ক্লোজিং ডেটা বিশ্লেষণ করে এর সর্বোচ্চ শিখর, সর্বনিম্ন স্তর, পতনের গতি এবং পুনরুদ্ধার চিহ্নিত করা হয়েছে — তুলনার জন্য ২০০৮ সালের বেয়ার মার্কেটের একই মাপকাঠি ব্যবহার করা হয়েছে।

কুয়েরিCOVID ক্র্যাশ: সর্বোচ্চ থেকে সর্বনিম্ন এবং পুনরুদ্ধার — SPY দৈনিক ক্লোজ, একটি সারি
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH dailies AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        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 c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2020-02-01 00:00:00') AND window_start < toDateTime('2020-09-01 00:00:00')
    GROUP BY d
),
peak AS (SELECT argMax(d, (c, -toInt32(d))) AS pd, max(c) AS pc FROM dailies WHERE d < toDate('2020-03-01')),
trough AS (SELECT argMin(d, (c, toInt32(d))) AS td, min(c) AS tc FROM dailies WHERE d < toDate('2020-04-01')),
gfc AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        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 c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2007-06-01 00:00:00') AND window_start < toDateTime('2009-01-01 00:00:00')
    GROUP BY d
),
gpeak AS (SELECT argMax(d, (c, -toInt32(d))) AS pd, max(c) AS pc FROM gfc WHERE d < toDate('2008-01-01'))
SELECT
    toString((SELECT pd FROM peak)) AS peak_date,
    round((SELECT pc FROM peak), 2) AS peak_close,
    toString((SELECT td FROM trough)) AS trough_date,
    round((SELECT tc FROM trough), 2) AS trough_close,
    round(((SELECT tc FROM trough) / (SELECT pc FROM peak) - 1) * 100, 1) AS decline_pct,
    countIf(d > (SELECT pd FROM peak) AND d <= (SELECT td FROM trough)) AS sessions_peak_to_trough,
    dateDiff('day', (SELECT pd FROM peak), (SELECT td FROM trough)) AS calendar_days,
    countIf(d > (SELECT pd FROM peak) AND d <= (SELECT min(d) FROM dailies WHERE c <= 0.7 * (SELECT pc FROM peak))) AS sessions_to_minus_30,
    (SELECT countIf(d > (SELECT pd FROM gpeak) AND d <= (SELECT min(d) FROM gfc WHERE c <= 0.7 * (SELECT pc FROM gpeak))) FROM gfc) AS gfc_2008_sessions_to_minus_30,
    toString((SELECT min(d) FROM dailies WHERE d > (SELECT td FROM trough) AND c >= (SELECT pc FROM peak))) AS recovery_date,
    countIf(d > (SELECT td FROM trough) AND d <= (SELECT min(d) FROM dailies WHERE d > (SELECT td FROM trough) AND c >= (SELECT pc FROM peak))) AS sessions_trough_to_recovery
FROM dailies

SPY-এর সর্বোচ্চ ক্লোজিং ছিল 2020-02-19 তারিখে $338.31। সর্বনিম্ন ক্লোজিং ছিল 2020-03-23 তারিখে $222.51, যা শিখর থেকে -34.2% নিচে — মাত্র 23 ট্রেডিং সেশন বা 33 ক্যালেন্ডার দিনে একটি বেয়ার মার্কেট সম্পন্ন হয়েছে। "রেকর্ড সময়ের মধ্যে ত্রিশ শতাংশের দ্রুততম ড্রডাউন" হিসেবে পরিচিত এই ঘটনাটি একই সারিতে প্রমাণিত: SPY-এর ক্লোজিং শিখর থেকে ৩০% নিচে নামতে মাত্র 22 সেশন সময় নিয়েছে। ২০০৮ সালের বেয়ার মার্কেট, যা অক্টোবর ২০০৭-এর সর্বোচ্চ ক্লোজিং থেকে একইভাবে পরিমাপ করা হয়েছে, একই ৩০% পতন ঘটাতে 250 সেশন সময় নিয়েছিল। ২০০৮ সালে যা প্রায় এক বছর সময় নিয়েছিল, ২০২০ সালে তা মাত্র এক মাসে সম্পন্ন হয়েছে।

ধসের এই সময়ক্রমিক কাঠামোটি নিচে দেওয়া হলো, যার প্রতিটি সংখ্যা এই পৃষ্ঠার প্যানেল থেকে নেওয়া হয়েছে:

  • ১৯ ফেব্রুয়ারি, ২০২০ — SPY-এর রেকর্ড ক্লোজিং, $338.31
  • ৯ মার্চ — ১৯৯৭ সালের পর প্রথম মার্কেট-ওয়াইড সার্কিট ব্রেকার; SPY -7.7% কমে বন্ধ হয়েছে। এর মিনিট-ভিত্তিক বিবরণ নিচে দেওয়া হলো।
  • ১২, ১৬ এবং ১৮ মার্চ — আরও তিনটি Level-1 হ্যাল্ট। ১৬ মার্চ -11.6% কমে বন্ধ হয়েছে, যা এই ধসের সবচেয়ে খারাপ একক সেশন।
  • ২৩ মার্চ — সর্বনিম্ন ক্লোজিং: $222.51, যা শিখর থেকে -34.2% নিচে।
  • ২৪ মার্চ — ঘুরে দাঁড়ানোর মুহূর্ত। ২৪ মার্চের স্টিমুলাস র্যালি সেই পরিবর্তনটি নিয়ে আসে।
  • 2020-08-18 — সর্বনিম্ন স্তর থেকে 103 সেশন পরে SPY পুনরায় ফেব্রুয়ারির শিখরের উপরে ক্লোজ করেছে।

৯ মার্চ, ২০২০: সেই অধিবেশন যা সার্কিট ব্রেকার সক্রিয় করেছিল

মার্কেট-ব্যাপী সার্কিট ব্রেকার S&P 500 এর ওপর ভিত্তি করে কাজ করে, তাই এই প্যানেলটি অন্য কোনো প্রক্সি-র পরিবর্তে SPY — অর্থাৎ S&P 500 ETF — এর মাধ্যমে লেনদেনের স্থগিত অবস্থা প্রদর্শন করে। গত সপ্তাহান্তের আগে, মহামারীর কারণে সম্পদের পুনঃমূল্যায়ন এবং তেলের সরবরাহজনিত সংকটের (নিচে বিস্তারিত দেওয়া হয়েছে) ফলে বাজারের অবস্থা অগোছালো ছিল।

কুয়েরি৯ মার্চ, ২০২০-এ 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-06 00:00:00') AND window_start < toDateTime('2020-03-09 04:00:00')
    ) AS prior_rth_close,
    (
        SELECT (formatDateTime(toTimeZone(addMinutes(prev_bar, 1), 'America/New_York'), '%H:%i'), gap_minutes - 1)
        FROM (
            SELECT
                lagInFrame(window_start) OVER (ORDER BY window_start ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_bar,
                dateDiff('minute', prev_bar, window_start) AS gap_minutes
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= toDateTime('2020-03-09 04:00:00') AND window_start < toDateTime('2020-03-09 23:59:00')
              AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        )
        WHERE prev_bar > toDateTime('2020-03-09 00:00:00')
        ORDER BY gap_minutes DESC
        LIMIT 1
    ) AS halt_gap
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,
    halt_gap.1 AS halt_first_missing_et,
    halt_gap.2 AS halt_missing_minutes,
    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(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(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-09 04:00:00') AND window_start < toDateTime('2020-03-09 23:59:00')

শুরুতেই দুটি সংখ্যা। প্রথমটি হলো গ্যাপ: SPY শুক্রবারের $297.42 ক্লোজিংয়ের তুলনায় $275.3 এ ওপেন করেছে, যা -7.4% কম — এবং প্রথম কয়েক মিনিটের মধ্যেই S&P 500 এর পতন ৭% Level-1 থ্রেশহোল্ডে পৌঁছে যায়। দ্বিতীয়টি এবং আরও গুরুত্বপূর্ণ: সাধারণ ৩৯০ মিনিটের পরিবর্তে এখানে 376 রেগুলার-সেশন মিনিট বার রয়েছে। সকাল ৯:৩৪ মিনিটে লেনদেন বন্ধ হয়ে যায়: 09:35 ET থেকে শুরু করে, 14 টানা মিনিটে কোনো বার প্রিন্ট হয় না। কোথাও কোনো লেনদেন হয়নি। ডেটার এই গ্যাপটিই হলো সার্কিট ব্রেকার। অধিবেশনটি $274.4 মূল্যে শেষ হয়, যা -7.7% কম এবং মোট লেনদেন হয়েছে 304.6 মিলিয়ন শেয়ার।

একটি স্থগিত সেশনের ধরন

কুয়েরি৩০ মিনিট অন্তর SPY — ৯ মার্চ, ২০২০ রেগুলার সেশন
প্রতিটি সংখ্যার পেছনের সঠিক 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-09 04:00:00') AND window_start < toDateTime('2020-03-09 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

প্রথম সেশনের মধ্যেই ধস, স্থগিতকরণ এবং পুনরায় শুরু হওয়ার ঘটনাগুলো একসাথে ঘটেছে: এর সর্বনিম্ন মূল্য ছিল $273.5, যা দিনের সর্বনিম্ন মূল্য $273.45 এর খুব কাছাকাছি — 14:44 ET সময়ে দুপুরের প্রিন্টটি কেবল সকালের স্তরটি পুনরায় পরীক্ষা করেছে। পুনরায় লেনদেন শুরু হওয়ার পর বাজারের গতিবিধি প্রায় স্থবির ছিল: প্রতি আধা ঘণ্টার ক্লোজিং প্রাইস পুনরায় শুরুর মূল্যের মাত্র কয়েক ডলারের মধ্যে ছিল, এবং দিনের বড় ক্ষতিটি সময়ের প্রথম কয়েক মিনিটেই ঘটে গিয়েছিল। ভলিউম উল্টো চিত্রটিই ফুটিয়ে তুলেছে — শেষ আধা ঘণ্টায় 46.7 মিলিয়ন শেয়ার লেনদেন হয়েছে, যা ক্লোজিং ফ্লোর পরিবর্তনের সময় দিনের সবচেয়ে বড় ভলিউম ছিল। সার্কিট ব্রেকারগুলো ঠিক এই ধরনের চিত্র তৈরির জন্যই ডিজাইন করা হয়েছে: ধস থামানো, একটি রিলঞ্চিং অকশন বা পুনঃসূচনা নিলামে বাধ্য করা এবং নতুন নির্ধারিত মূল্যে নিরবচ্ছিন্ন লেনদেন শুরু করা। বাজারের ঘড়ি এখন এই ব্যবস্থাকে স্থায়ীভাবে অন্তর্ভুক্ত করেছে।

আটটি সেশনে চারটি স্থগিতাদেশ

৯ মার্চ ছিল প্রথমটি মাত্র।

কুয়েরি২০২০ সালের মার্চের চারটি সার্কিট-ব্রেকার সেশন — SPY ক্লোজ, পরিবর্তন, ভলিউম
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT
    toString(et_date) AS session,
    close_usd,
    change_pct,
    shares_m
FROM (
    SELECT et_date, close_usd, shares_m,
           round((close_usd / lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1) * 100, 1) AS change_pct
    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-06 00:00:00') AND window_start < toDateTime('2020-03-19 00:00:00')
        GROUP BY et_date
    )
)
WHERE toString(et_date) IN ('2020-03-09', '2020-03-12', '2020-03-16', '2020-03-18')
ORDER BY et_date

Level-1 ব্রেকারগুলো ১২ মার্চ (বন্ধ হয়েছে -9.6%), ১৬ মার্চ (বন্ধ হয়েছে -11.6% $239.41 এ — যা ১৯৮৭ সালের পর S&P-এর বৃহত্তম একদিনের শতাংশ পতন), এবং ১৮ মার্চ (সেশন চলাকালীন স্থগিত, বন্ধ হয়েছে -5.2%) সক্রিয় হয়েছিল। তেইশ বছর কোনো স্থগিতাদেশ ছাড়াই আটটি ট্রেডিং দিনের মধ্যে পুরো বাজারের চারটি স্থগিতাদেশ ঘটেছে। একটি বিষয় লক্ষ্য করুন যা ঘটেনি: প্রতিটি স্থগিতাদেশ ছিল Level 1, অর্থাৎ ৭% স্তর। ১৩% এবং ২০% স্তরগুলো কখনোই স্পর্শ করা হয়নি — এমনকি ১৬ মার্চও, স্থগিতাদেশের পর পতন ধীর হয়ে যায় এবং সেশনটি Level-2 লাইনের ভেতরে শেষ হয়।

Who fell hardest

An index number hides the dispersion underneath it. The same daily-close arithmetic, run across a handful of representative large-caps, shows where the crash actually landed — both on March 9 itself and across the full February 19 to March 23 slide.

কুয়েরি৯ মার্চ এবং পূর্ণাঙ্গ ক্র্যাশ মুভমেন্ট — cruise, airline, energy, bank, tech, staples বনাম SPY
প্রতিটি সংখ্যার পেছনের সঠিক SQL
WITH dailies AS (
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        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 c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('UAL', 'CCL', 'XOM', 'JPM', 'AAPL', 'WMT', 'SPY')
      AND window_start >= toDateTime('2020-02-18 00:00:00') AND window_start < toDateTime('2020-03-25 00:00:00')
    GROUP BY ticker, d
)
SELECT
    ticker,
    round((anyIf(c, d = toDate('2020-03-09')) / anyIf(c, d = toDate('2020-03-06')) - 1) * 100, 1) AS mar9_pct,
    round((anyIf(c, d = toDate('2020-03-23')) / anyIf(c, d = toDate('2020-02-19')) - 1) * 100, 1) AS crash_pct
FROM dailies
GROUP BY ticker
ORDER BY crash_pct ASC

The hardest-hit name in the panel, CCL (Carnival, the cruise operator), lost -19.9% on March 9 alone and -72.3% peak to trough. United Airlines gave up -66.9% over the crash; ExxonMobil -47.9%; JPMorgan -42.6%. Against them, SPY's -34.2% looks almost gentle, Apple fell roughly with the market at -31%, and Walmart — groceries, essentials, open through lockdowns — finished the same window at just -2.9%. Travel and energy repriced for a stopped world; staples barely moved.

তেলের দামের যুদ্ধ, সংক্ষেপে

ऊর্দ্ধোক্ত জ্বালানি সংক্রান্ত বিবাদটি এক অনুচ্ছেদের ব্যাখ্যা পাওয়ার যোগ্য, কারণ "তেলের দামের যুদ্ধ" শব্দবন্ধটি ৯ মার্চের খবরের অন্য অর্ধাংশকে নির্দেশ করে। সৌদি আরব এবং রাশিয়ার মধ্যে OPEC+ উৎপাদন সংক্রান্ত আলোচনা ৬ মার্চ, ২০২০ শুক্রবার কোনো সমঝোতা ছাড়াই শেষ হয়েছে। সপ্তাহান্তের মধ্যে, সৌদি আরব তাদের অফিসিয়াল বিক্রয়মূল্য হ্রাস করেছে এবং এমন এক বিশ্বে উৎপাদন বৃদ্ধির পরিকল্পনা ঘোষণা করেছে যেখানে ভ্রমণের চাহিদা ইতিমধ্যেই বন্ধ হয়ে যাচ্ছিল — যা একটি চাহিদার ধাক্কার সাথে সরবরাহের ধাক্কা হিসেবে যুক্ত হয়েছে। সোমবারের শেয়ার বাজারের সূচকে এই উভয় প্রভাবই দেখা গেছে, যার ফলাফল উপরে দেওয়া প্যানেলে দেখা যাচ্ছে: সেই সোমবার ExxonMobil -12.2% হ্রাস পেয়েছে, যেখানে SPY -7.7% হ্রাস পেয়েছে।

নিরাপদ আশ্রয়ে বিনিয়োগের প্রবণতা — এবং সেই সপ্তাহ যা নিয়ম ভেঙেছিল

শেয়ার বাজারের চিত্রটি ছিল কেবল অর্ধেক। বাকি অর্ধেক ছিল Treasury বাজার, যেখানে নিরাপদ আশ্রয়ে বিনিয়োগের (flight to safety) চিরাচরিত প্রবণতা একটি রেকর্ড ছুঁয়েছিল — এবং তারপর, একটি অসাধারণ সপ্তাহে, তা উল্টে গিয়েছিল।

কুয়েরিক্র্যাশ চলাকালীন ১০-বছর এবং ৩-মাসের Treasury yield, দৈনিক ক্লোজ
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT
    toString(date) AS date,
    round(yield_10_year, 2) AS ten_year_pct,
    round(yield_3_month, 2) AS three_month_pct
FROM global_markets.treasury_yields
WHERE date >= '2020-02-18' AND date <= '2020-03-31'
  AND isNotNull(yield_10_year)
ORDER BY date

১৯ ফেব্রুয়ারির শেয়ার বাজারের শিখরে ১০-বছরের ইল্ড (yield) ছিল 1.56%। ৯ মার্চ — যখন লেনদেন স্থগিত করা হয়েছিল — তখন এটি সর্বকালের সর্বনিম্ন 0.54% এ বন্ধ হয়; যেখানে ক্রেতারা নিরাপত্তার বিনিময়ে এক দশকের জন্য বছরে অর্ধেক শতাংশ গ্রহণ করেছিলেন। এরপর এই ধারাটি উল্টে যায়: ১৮ মার্চের মধ্যে ১০-বছরের ইল্ড বৃদ্ধি পেয়ে 1.18% এ পৌঁছায়, যখন শেয়ার বাজারের পতন অব্যাহত ছিল — এটি ছিল "dash for cash" বা নগদ টাকার জন্য দৌড়; এমন একটি সপ্তাহ যখন ফান্ড, কোম্পানি এবং বিদেশি হোল্ডাররা ডলার সংগ্রহের জন্য ট্রেজারি সহ যেকোনো তরল সম্পদ বিক্রি করেছিল। এদিকে, সেই দিন ৩-মাসের বিল 0.02% এ বন্ধ হয় — যা নগদ সমतূল্য সম্পদের ক্ষেত্রে শূন্যের কাছাকাছি ছিল। যখন সবচেয়ে নিরাপদ সম্পদ এবং সবচেয়ে ঝুঁকিপূর্ণ সম্পদ একসাথে কমে যায়, তখন মূলত লিকুইডিটি বা তারল্যকেই কেনা হচ্ছে। ইল্ড কার্ভ এই ঘটনাটিকে স্থায়ীভাবে তার ইতিহাসে বহন করে চলেছে।

অপশন টেপ কী নির্দেশ করে

বাজারের হেজিংয়ের প্রধান মাধ্যম হিসেবে পরিচিত SPY-এর তালিকাভুক্ত অপশনগুলো আতঙ্কের একটি প্রমাণ রেখেছে, এবং এর সময়কালটি অত্যন্ত গুরুত্বপূর্ণ।

কুয়েরিSPY options: traded puts বনাম calls, ২–১৩ মার্চ, ২০২০ (মিলিয়ন কন্ট্রাক্ট)
প্রতিটি সংখ্যার পেছনের সঠিক SQL
SELECT
    toString(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS session,
    round(sumIf(toFloat64(size), substring(ticker, 12, 1) = 'P') / 1e6, 2) AS put_contracts_m,
    round(sumIf(toFloat64(size), substring(ticker, 12, 1) = 'C') / 1e6, 2) AS call_contracts_m,
    round(sumIf(toFloat64(size), substring(ticker, 12, 1) = 'P') / sumIf(toFloat64(size), substring(ticker, 12, 1) = 'C'), 2) AS put_call_ratio
FROM global_markets.options_trades
WHERE ticker >= 'O:SPY2' AND ticker < 'O:SPY3'
  AND sip_timestamp >= toDateTime('2020-03-02 00:00:00') AND sip_timestamp < toDateTime('2020-03-14 00:00:00')
GROUP BY session
ORDER BY session

শুক্রবার, ৬ মার্চ, লেনদেন স্থগিত হওয়ার আগে, put/call ভলিউম রেশিও সর্বোচ্চ 1.95 এ পৌঁছেছিল — অর্থাৎ প্রতি একটি call-এর বিপরীতে প্রায় দুটি put লেনদেন হয়েছিল। ৯ মার্চ, 4.35 মিলিয়ন put লেনদেন হয়েছিল 2.38 মিলিয়ন call-এর বিপরীতে, যার রেশিও ছিল 1.83। ১২ মার্চ নাগাদ — যা একটি -9.6% সেশন ছিল — call ভলিউম বৃদ্ধির সাথে সাথে এই রেশিও কমে 1.32 এ নেমে আসে। অপশন ট্রেডিংয়ের এই ভারসাম্যহীনতা বা skew সবচেয়ে বেশি দেখা গিয়েছিল পতনের শুরুর দিকে, একদম শেষে নয়: অর্থাৎ সুরক্ষা বা protection আগে কেনা হয়েছিল, এবং পরবর্তী বড় বড় পতনের দিনগুলোতে অপশন লেনদেন অনেক বেশি ভারসাম্যপূর্ণ ছিল।

বাজারজুড়ে লেনদেন স্থগিত হওয়ার প্রক্রিয়া আসলে কীভাবে কাজ করে

যেহেতু এই প্রক্রিয়াটি খুব কমবার ঘটে, তাই এর কার্যপদ্ধতি মনে না থাকা স্বাভাবিক: বাজারজুড়ে লেনদেন স্থগিত করার নিয়মগুলো S&P 500 সূচকের আগের দিনের ক্লোজিং প্রাইস থেকে পতনের ওপর ভিত্তি করে কাজ করে — যদি পূর্বাহ্নে ৩:২৫ pm ET এর আগে ৭% (Level 1) এবং ১৩% (Level 2) পতন ঘটে, তবে ১৫ মিনিটের জন্য লেনদেন স্থগিত করা হয়; আর ২০% (Level 3) পতন হলে লেনদেন পুরোপুরি বন্ধ হয়ে যায়। স্থগিত থাকাকালীন কোনো এক্সচেজেই কোনো লেনদেন হয় না; অর্ডারগুলো পুনরায় শুরুর নিলামের (reopening auction) জন্য অপেক্ষায় থাকে। এই নিলামটি সঞ্চিত আগ্রহকে একটি নির্দিষ্ট মূল্যে নিয়ে আসে, ঠিক যেভাবে প্রতিদিন সকালে opening auction কাজ করে। এই নকশাটি the 2010 flash crash এর পরবর্তী সময়ের। সেই ঘটনায় দেখা গিয়েছিল যে পুরনো সীমাগুলো অত্যন্ত শিথিল ছিল এবং বড় ধরনের পতন ঘটলেও তা কার্যকর হচ্ছিল না।

২০২০ সালের মার্চ মাস ছিল এই নকশার প্রথম — এবং এ পর্যন্ত একমাত্র — বাস্তব পরীক্ষা। এর ফলাফল উপরের প্যানেলে দেওয়া হয়েছে: চারটি Level-1 স্থগিতাদেশ ঘটেছিল এবং প্রতিটি স্থগিতাদেশের পর সুশৃঙ্খলভাবে লেনদেন পুনরায় শুরু হয়েছিল। কোনো Level 2 বা Level 3 সীমা স্পর্শ করা হয়নি এবং সূচকের ইতিহাসে দ্রুততম বড় পতনের প্রতিটি 23 সেশনে বাজার সঠিকভাবে কাজ করেছে। এর পরে নিয়মগুলো অপরিবর্তিত রাখা হয়েছে: S&P 500 এর ওপর ভিত্তি করে নির্ধারিত ৭/১৩/২০ শতাংশের সীমাগুলো আজও কার্যকর রয়েছে। সিস্টেমটি নতিস্বীকার করলেও এর অভ্যন্তরীণ কাঠামো অটুট ছিল।

COVID ক্রাশ সংক্রান্ত সাধারণ জিজ্ঞাসা

২০ শে মার্চ, ২০২০ তারিখে সার্কিট ব্রেকার কেন সক্রিয় হয়েছিল?

বাজার খোলার মাত্র কয়েক মিনিটের মধ্যে S&P 500 তার পূর্ববর্তী ক্লোজিং থেকে ৭% কমে গিয়েছিল — যা হলো Level-1 মার্কেট-ওয়াইড থ্রেশহোল্ড। এর ফলে পুরো বাজারে ১৫ মিনিটের জন্য লেনদেন স্থগিত করা হয় এবং পরে অকশনের মাধ্যমে পুনরায় শুরু করা হয়। এই পৃষ্ঠার মিনিট টেপে 09:35 ET থেকে শুরু হওয়া 14টি টানা অনুপস্থিত বার (missing bars) হিসেবে এই স্থগিতাদেশ দেখা যাচ্ছে।

COVID ক্রাশের সময় শেয়ার বাজার কতটা কমেছিল?

SPY-এর দৈনিক ক্লোজিং অনুযায়ী, 23টি ট্রেডিং সেশনের মধ্যে ১৯ ফেব্রুয়ারি, ২০২০-এর $338.31 থেকে ২৩ মার্চ, ২০২০-এর $222.51 পর্যন্ত মোট -34.2% কমেছিল।

২০২০ সালের মার্চ মাসে কতবার সার্কিট ব্রেকার সক্রিয় হয়েছিল?

মার্কেট-ওয়াইড Level-1 হিসেবে মোট চারবার: ৯, ১২, ১৬ এবং ১৮ মার্চ। ১৯৯৭ সালের অক্টোবরের পর এগুলোই ছিল প্রথম।

২০২০ সালে কি কখনও Level 2 বা Level 3 সার্কিট ব্রেকার সক্রিয় হয়েছিল?

না। ২০২০ সালের চারটি স্থগিতাদেশই ছিল Level 1 (৭%)। বর্তমান নকশা অনুযায়ী কখনও কোনো Level-2 (১৩%) বা Level-3 (২০%) মার্কেট-ওয়াইড স্থগিতাদেশ কার্যকর হয়নি — এমনকি ক্রাশের সবচেয়ে খারাপ সেশন -11.6% তারিখে ১৬ মার্চও নয়।

বাজার কি COVID ক্রাশ থেকে পুরোপুরি রিকভার করেছে?

হ্যাঁ। SPY, ২৩ মার্চের নিম্নতম স্তর থেকে 103টি ট্রেডিং সেশন পর 2020-08-18 তারিখে তার ১৯ ফেব্রুয়ারি, ২০২০-এর সর্বোচ্চ শিখর অতিক্রম করে ক্লোজ করেছে। এই গভীরতার বিয়ার মার্কেট থেকে এটি অন্যতম দ্রুততম পূর্ণ পুনরুদ্ধার।


উপরের প্রতিটি প্যানেল হলো ঐতিহাসিক টেপের ওপর ভিত্তি করে সংরক্ষিত এবং ভার্সন করা কুয়েরি — প্রতিটি পরিমাপ দেখতে SQL এক্সপ্যান্ড করুন। এটি পড়ার পরিবর্তে সরাসরি অনুভব করতে চান? এটি Strasmore Labs trading simulator-এর একটি প্লেয়াবল সিনারিও।

#market history#covid crash#circuit breakers#spy