24 Feb 2022: Russia Ukraine War Market
24 फरवरी 2022 को Russia द्वारा Ukraine पर आक्रमण के बाद US stocks में भारी उतार-चढ़ाव देखा गया। जानें S&P 500, Gold, Oil और Defense stocks का पूरा विवरण।
24 फरवरी, 2022 की तड़के सुबह, Russia ने Ukraine पर पूर्ण पैमाने पर आक्रमण शुरू किया — और US शेयर बाजार ने इस दशक के सबसे अधिक अध्ययन किए जाने वाले सत्रों में से एक दर्ज किया। Index futures में रात भर भारी गिरावट आई, Nasdaq-100 ETF QQQ -3.2% की गिरावट के साथ खुला — और +3.4% पर बंद हुआ। यह पेज पूरी घटना का विवरण देता है: मिनट-दर-मिनट होने वाला उलटफेर, S&P 500 और Dow का प्रदर्शन, तेल, सोना, defense stocks, Treasuries और volatility की स्थिति, और उसके बाद के हफ्तों का विवरण। प्रत्येक संख्या एक संग्रहीत query है; SQL देखने के लिए किसी भी पैनल का विस्तार करें।
बाजार खुलने से पहले: रात की घटनाक्रम
यह आक्रमण अचानक नहीं हुआ था। 2021 के अंत और 2022 की शुरुआत में रूस ने यूक्रेन की सीमा के पास अपनी सेना जमा कर ली थी — उस समय पश्चिमी अनुमानों के अनुसार यह संख्या 100,000 से काफी अधिक थी — और बाजार हफ्तों से इस जोखिम को लेकर ट्रेड कर रहे थे। सोमवार, 21 फरवरी को, मॉस्को ने पूर्वी यूक्रेन में दो स्व-घोषित अलगाववादी गणराज्यों को मान्यता दे दी; वाशिंगटन के जन्मदिन की छुट्टी के कारण अमेरिकी बाजार बंद थे, और इस खबर का असर दिखाने वाला पहला सत्र मंगलवार 22 तारीख को शुरू हुआ, जो कि मंदी वाला (red) रहा। उसी मंगलवार को पश्चिमी प्रतिबंधों का पहला चरण लागू हुआ, और साथ ही जर्मनी ने Nord Stream 2 पाइपलाइन के प्रमाणीकरण पर रोक लगा दी।
इसके बाद, गुरुवार, 24 फरवरी को मॉस्को के समय अनुसार सुबह 6 बजे से कुछ समय पहले — न्यूयॉर्क में बुधवार रात लगभग 10 बजे — रूस के राष्ट्रपति ने सैन्य अभियान की घोषणा की, और एक घंटे के भीतर यूक्रेनी शहरों में विस्फोटों की खबरें आईं। रात भर ट्रेड होने वाले US index futures में तुरंत बिकवाली देखी गई। सूर्योदय तक केवल एक ही सवाल बचा था कि 9:30 a.m. का opening auction बुधवार की क्लोजिंग से कितना नीचे जाएगा।
एक पंक्ति में पूरा दिन
एक पंक्ति में सभी उत्तर मौजूद हैं — पिछला क्लोज, गैप, लो, हाई, क्लोज और वॉल्यूम:
हर आंकड़े के पीछे का पूरा 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 = 'QQQ'
AND window_start >= toDateTime('2022-02-23 00:00:00') AND window_start < toDateTime('2022-02-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(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS trough_to_close_pct,
round((maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) - 1) * 100, 2) AS close_to_high_pct,
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)) / minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 2) AS open_above_low_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 = 'QQQ'
AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')सभी के लिए महत्वपूर्ण डेटा: सत्र का लो $318.26 था जो 09:30 ET — ओपनिंग मिनट — पर बना था — जो पिछले क्लोज से -3.4% नीचे था। उस पहले प्रिंट के बाद, QQQ छह और आधे घंटों तक बढ़ा और $340.65 पर बंद हुआ: दिन में +3.4% की वृद्धि, और 128 मिलियन शेयरों पर 7% का स्विंग (trough-to-close)। क्लोजिंग में कोई गिरावट नहीं देखी गई: यह सत्र के हाई $341.04 से मात्र 0.11% नीचे बंद हुआ, जिसका अर्थ है कि दिन लगभग अपने उच्चतम स्तर पर समाप्त हुआ। जिसने भी ट्रेडिंग के पहले मिनट में सेल किया, उसने सत्र के अंतिम लो के 0.18% के भीतर सेल किया — वास्तविक बॉटम टिक ओपनिंग क्रॉस के कुछ ही क्षणों बाद बना, न कि ओपनिंग पर (ऑक्शन प्रिंट $318.84 था; लो, $318.26 था)।
उलटफेर, प्रत्येक बकेट के अनुसार
आधे घंटे के बकेट चढ़ाई का स्वरूप दर्शाते हैं:
हर आंकड़े के पीछे का पूरा 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 = 'QQQ'
AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-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यह चढ़ाई पूरी तरह से सुचारू नहीं थी — 12:00 ET बकेट $328.03 पर बंद हुआ, जो 11:30 के $330.29 क्लोजिंग से कम था — लेकिन दिशा में कोई बड़ा बदलाव नहीं आया। अंतिम बकेट $340.65 पर बंद हुआ, जो तालिका का उच्चतम स्तर है। वॉल्यूम में सामान्य U-आकार देखा गया: शुरुआती आधे घंटे में 18.6 मिलियन शेयर और अंतिम आधे घंटे में 15 मिलियन शेयर, जबकि दोपहर के समय 4.7 मिलियन शेयर थे। यह 2011 की गिरावट का बिल्कुल उल्टा है। इस तरह के सत्रों के कारण "आक्रमण के दौरान बाजार गिरा" जैसी कहानियाँ भ्रामक होती हैं: फ्यूचर्स रात भर में गिरे थे; जबकि कैश सेशन अपने पहले मिनट से ही बढ़त के साथ शुरू हुआ था। आपने क्या अनुभव किया, यह पूरी तरह से आपके ऑर्डर्स के समय पर निर्भर करता था — ओवरनाइट गैप्स का विषय शांत हफ्तों में मापा जाता है।
केवल Nasdaq ही नहीं: पूरे बाजार में उलटफेर हुआ
केवल एक इंडेक्स पर ध्यान केंद्रित करने से एक महत्वपूर्ण प्रश्न बना रहता है: क्या यह केवल ग्रोथ-स्टॉक्स (growth-stocks) तक सीमित था या पूरे बाजार में उलटफेर हुआ था? नीचे दी गई तालिका ग्यारह टिकर्स (tickers) का विश्लेषण करती है — इसमें तीन प्रमुख इंडेक्स ETF, और भू-राजनीतिक झटकों (geopolitical-shocks) के दौरान इस्तेमाल होने वाली संपत्तियां शामिल हैं: ऊर्जा (energy), सोना (gold), लॉन्ग ट्रेजरीज़ (long Treasuries), एक वोलैटिलिटी ETF, और चार डिफेंस कॉन्ट्रैक्टर्स (defense contractors)।
हर आंकड़े के पीछे का पूरा SQL
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round((rth_open / prior_close - 1) * 100, 1) AS gap_pct,
round((rth_low / prior_close - 1) * 100, 1) AS low_vs_prior_pct,
round((rth_high / prior_close - 1) * 100, 1) AS high_vs_prior_pct,
round((rth_close / prior_close - 1) * 100, 1) AS day_change_pct
FROM (
SELECT
ticker,
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('2022-02-23')) AS prior_close,
argMinIf(toFloat64(open), 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('2022-02-24')) AS rth_open,
minIf(toFloat64(low), (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('2022-02-24')) AS rth_low,
maxIf(toFloat64(high), (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('2022-02-24')) AS rth_high,
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('2022-02-24')) AS rth_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('QQQ', 'SPY', 'DIA', 'XLE', 'GLD', 'TLT', 'VIXY', 'LMT', 'NOC', 'RTX', 'GD')
AND window_start >= toDateTime('2022-02-23 00:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')
GROUP BY ticker
)
ORDER BY indexOf(['QQQ', 'SPY', 'DIA', 'XLE', 'GLD', 'TLT', 'VIXY', 'LMT', 'NOC', 'RTX', 'GD'], ticker)यह उलटफेर पूरे बाजार में देखा गया, लेकिन इसकी तीव्रता सुबह के गैप (gap) के समान नहीं थी: QQQ बाजार खुलने पर -3.2% के गैप के साथ खुला और 3.4% पर बंद हुआ। SPY और DIA में भी लगभग उतना ही गैप था — क्रमशः -2.6% और -2.6% — फिर भी SPY 1.5% पर बंद हुआ जबकि DIA केवल 0.3% पर बंद हुआ। ग्रोथ-स्टॉक्स पर केंद्रित इंडेक्स में सबसे अधिक उलटफेर हुआ; जबकि इंडस्ट्रियल-केंद्रित Dow में सबसे कम। SPY और DIA के बीच का अंतर उनके गैप के कारण नहीं, बल्कि उनकी संरचना (composition) के कारण है।
पैसा कहाँ गया: तेल, सोना, रक्षा और अस्थिरता
अब उसी पैनल की निचली पंक्तियाँ देखें — "युद्ध व्यापार" (war trade)। ऊर्जा क्षेत्र (Energy) अपने उच्चतम स्तर पर खुला और लाल निशान में बंद हुआ: XLE +2.1% के गैप के साथ खुला, इंट्राडे में पिछले क्लोजिंग से -3.4% तक नीचे गया, और -0.9% पर समाप्त हुआ। सोने (Gold) में भी यही उतार-चढ़ाव देखा गया: GLD +2.4% पर खुला और -0.6% पर बंद हुआ। VIXY — जो अल्पकालिक VIX फ्यूचर्स रखने वाला एक ETF है और अस्थिरता सूचकांक (volatility index) का सबसे करीबी ट्रेड करने योग्य विकल्प है — बाजार खुलने पर +11.1% के गैप के साथ खुला और पिछले दिन के क्लोजिंग से नीचे -3% पर बंद हुआ। पारंपरिक डर की संपत्तियों (fear assets) ने ठीक उसी समय बढ़त बनाई जब खबरें सबसे खराब थीं, और इक्विटी रिकवरी के साथ ही वे नीचे गिर गईं: यह इक्विटी रिवर्सल का ठीक उल्टा था।
रक्षा ठेकेदार (defense contractors) अपवाद रहे जो मजबूती से टिके रहे। चारों हरे निशान में बंद हुए — LMT +1.7%, NOC +2.4%, RTX +2.1%, GD +1.1% — और Northrop Grumman पूरे सत्र में बुधवार की क्लोजिंग से नीचे नहीं गया (इसका इंट्राडे लो +1% था), जो इन चारों में से एकमात्र स्टॉक था जो लाल निशान में नहीं आया।
Treasuries: सुरक्षित निवेश की मांग देरी से आई
Treasury yield में गिरावट का अर्थ है कि बॉन्ड की कीमतों में बढ़त हो रही है — यह एक मानक सुरक्षित निवेश (safe-haven) प्रवाह है। आक्रमण के दिन ही, क्लोजिंग के समय यह प्रवाह नगण्य था:
हर आंकड़े के पीछे का पूरा SQL
SELECT
toString(date) AS session,
round(yield_2_year, 2) AS yield_2_year,
round(yield_10_year, 2) AS yield_10_year
FROM global_markets.treasury_yields
WHERE date BETWEEN '2022-02-18' AND '2022-03-08'
ORDER BY date24 फरवरी को 10-year yield 1.96% पर बंद हुआ, जो पिछले दिन के 1.99% से थोड़ा ही कम था। वास्तविक पलायन अगले सप्ताह हुआ: 2022-03-01 तक 10-year 1.72% पर पहुंच गया — जो इस अवधि का सबसे निचला स्तर था — और इसी दौरान 2-year yield 1.58% से गिरकर 1.31% पर आ गया। ऊपर दिए गए पैनल में TLT (long-Treasury ETF) ने भी यही कहानी दोहराई: ओपनिंग पर +1.8% का गैप दिखा, जो क्लोजिंग तक घटकर +0.2% रह गया।
इसके आस-पास के दिन
तीन सप्ताह के दैनिक क्लोजिंग डेटा से इस रिवर्सल का संदर्भ और इसकी स्थिरता का पता चलता है:
हर आंकड़े के पीछे का पूरा 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 = 'QQQ'
AND window_start >= toDateTime('2022-02-18 00:00:00') AND window_start < toDateTime('2022-03-15 23:59:00')
GROUP BY et_date
)
)
WHERE et_date >= toDate('2022-02-22') AND et_date <= toDate('2022-03-14')
ORDER BY et_dateआक्रमण से पहले के सत्र लाल (22-23 फरवरी को -1% और -2.6%) थे क्योंकि उस समय बढ़ते तनाव की खबरें प्रमुख थीं। आक्रमण के दिन बाजार +3.4% पर बंद हुआ, और अगले दिन फिर से +1.5% की वृद्धि हुई। बाजार का खतरे के समय गिरना और घटना के समय बढ़ना एक पुराना पैटर्न है, और यह डेटा इसका सबसे सटीक आधुनिक उदाहरण है। लेकिन तालिका को ध्यान से देखें: 2022-03-14 को यह $318.21 पर समाप्त हुआ — जो आक्रमण की सुबह की घबराहट के स्तर से भी नीचे है।
क्या रैली बनी रही?
नहीं — और अब इसके प्रमाण मौजूद हैं:
हर आंकड़े के पीछे का पूरा SQL
WITH
daily AS (
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
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 c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ'
AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2023-01-01 00:00:00')
GROUP BY d
),
(SELECT c FROM daily WHERE d = toDate('2022-02-24')) AS invasion_close,
(
SELECT round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ'
AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')
) AS invasion_low
SELECT
invasion_close,
invasion_low,
toString(minIf(d, c < invasion_low AND d > toDate('2022-02-24'))) AS first_close_below_invasion_low,
dateDiff('day', toDate('2022-02-24'), minIf(d, c < invasion_low AND d > toDate('2022-02-24'))) AS calendar_days_to_new_low,
round(minIf(c, d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31')), 2) AS march_low_close,
toString(argMinIf(d, (c, d), d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31'))) AS march_low_date,
round((minIf(c, d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31')) / invasion_close - 1) * 100, 1) AS march_low_vs_invasion_close_pct,
round(minIf(c, d > toDate('2022-02-24')), 2) AS year_low_close,
toString(argMinIf(d, (c, d), d > toDate('2022-02-24'))) AS year_low_date,
round((minIf(c, d > toDate('2022-02-24')) / invasion_close - 1) * 100, 1) AS year_low_vs_invasion_close_pct
FROM dailyआक्रमण के 18 कैलेंडर दिनों बाद, 2022-03-14 को, QQQ का क्लोजिंग प्राइस आक्रमण की सुबह के पहले मिनट के $318.26 के पैनिक लो से भी नीचे रहा। मार्च का वह लो क्लोज $318.21 था, जो आक्रमण वाले दिन के क्लोज से -6.6% नीचे था — और गिरावट जारी रही: 2022-12-28 तक, QQQ $260.02 पर बंद हुआ, जो आक्रमण वाले दिन के क्लोज से -23.7% नीचे था। 24 फरवरी का रिवर्सल वास्तविक, तीव्र और स्थानीय था। युद्ध ने नहीं, बल्कि ब्याज दर वृद्धि (rate-hike) चक्र ने 2022 की दिशा तय की, यही वही सबक है जो March 2020 crash ने विपरीत दिशा में सिखाया था।
इस आकार का रिवर्सल कितना दुर्लभ है?
2003 से लेकर 2025 के अंत तक के सभी QQQ सत्रों का विश्लेषण करने पर, ठीक 2 ऐसे सत्र मिले हैं जहाँ इंट्राडे में भाव पिछले क्लोजिंग से कम से कम 3% नीचे गया था, लेकिन फिर भी सत्र 2 कम से कम 1% की बढ़त के साथ समाप्त हुआ:
हर आंकड़े के पीछे का पूरा SQL
SELECT
toString(d) AS session,
low_vs_prior_pct,
close_vs_prior_pct,
trough_to_close_pct
FROM (
SELECT
d,
round((lo / prev_c - 1) * 100, 1) AS low_vs_prior_pct,
round((c / prev_c - 1) * 100, 1) AS close_vs_prior_pct,
round((c / lo - 1) * 100, 1) AS trough_to_close_pct
FROM (
SELECT d, c, lo,
lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c
FROM (
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,
minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS lo
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ'
AND window_start >= toDateTime('2003-01-01 00:00:00') AND window_start < toDateTime('2026-01-01 00:00:00')
GROUP BY d
)
)
WHERE prev_c > 0 AND isFinite(prev_c)
)
WHERE low_vs_prior_pct <= -3 AND close_vs_prior_pct >= 1
ORDER BY session24 फरवरी, 2022 एक उदाहरण है। दूसरा 2022-10-13 है — वह सत्र जो उम्मीद से अधिक मुद्रास्फीति रिपोर्ट के एक घंटे बाद खुला था, जो एक और gap-down-close-green दिन था। आक्रमण वाले दिन का रिवर्सल दोनों में से बड़ा था: 5.7% के विरुद्ध 7% का trough-to-close स्विंग। तेईस वर्षों के डेटा में, दोनों घटनाएँ एक ही वर्ष में हुईं।
यह दिन क्या सिखाता है
इस मार्केट डेटा में तीन टिकाऊ सिद्धांत (mechanics) छिपे हैं। पहला: किसी बड़ी घटना के होने तक, पोजीशनिंग अक्सर पहले ही बन चुकी होती है — घटना से पहले के दो लाल सत्रों (red sessions) में ही प्रत्याशा (anticipation) देखी गई थी। दूसरा: ओपनिंग ऑक्शन वह समय है जब रात भर का डर एक ही कीमत पर साफ हो जाता है, और वह कीमत दिन का उच्चतम या निम्नतम स्तर हो सकती है। तीसरा: एक तीव्र एक-दिवसीय रिवर्सल आपको उस दिन के फ्लो (flows) के बारे में बताता है, न कि अगली तिमाही की दिशा के बारे में — इस सत्र के बाद के हफ्तों में कीमतें वैसे भी नए निचले स्तरों पर चली गईं। इवेंट वाले दिन मार्केट की कार्यप्रणाली को समझने वालों को लाभ देते हैं; जो लोग एक सत्र के उतार-चढ़ाव को मार्केट के लंबे ट्रेंड (regime) के रूप में देखते हैं, उन्हें नुकसान होता है।
वॉल्यूम का विवरण पुष्टि करता है कि कौन क्या कर रहा था: 128.5 मिलियन शेयरों के साथ यह ऊपर दी गई तीन-सप्ताह की तालिका का सबसे भारी सत्र रहा। निचले स्तर से क्लोजिंग तक की बढ़त के साथ भारी वॉल्यूम का मतलब है कि वास्तविक खरीदारी, वास्तविक बिकवाली का मुकाबला कर रही थी — यह कोई खोखली हलचल नहीं थी। इसकी तुलना 24 मार्च, 2020 की रैली से करें, जहाँ भारी वॉल्यूम ने पैनिक के अंत को चिह्नित किया था, और इसकी तुलना उन दिनों से करें जिनमें कम वॉल्यूम के कारण उछाल आता है और अगले सत्र में वे वापस गिर जाते हैं।
आक्रमण दिवस FAQ
जब रूस ने यूक्रेन पर आक्रमण किया तो शेयर बाजार ने क्या किया?
उस दिन — 24 फरवरी, 2022 — Nasdaq-100 ETF QQQ -3.2% की गिरावट के साथ खुला, जिसका निचला स्तर खुलने के पहले मिनट में देखा गया, फिर पूरे सत्र में बढ़ते हुए 3.4% पर बंद हुआ। S&P 500 ETF SPY 1.5% पर बंद हुआ और Dow ETF DIA 0.3% पर।
रूस द्वारा यूक्रेन पर आक्रमण के दौरान शेयर क्यों बढ़े?
यह पेज किसी उद्देश्य का निर्धारण नहीं करता है; यह केवल घटनाओं का क्रम दर्ज करता है — 9:30 बजे बाजार खुलने पर भारी बिकवाली का दबाव देखा गया, और उसके बाद के हर घंटे में खरीदारी हावी रही। खतरे के समय गिरना और घटना के समय बढ़ना, इस पैटर्न के कई ऐतिहासिक उदाहरण मौजूद हैं।
रूस द्वारा यूक्रेन पर आक्रमण के दौरान तेल और सोने ने क्या किया?
दोनों ही बाजार खुलने पर बढ़े और फिर कम हो गए: ऊर्जा ETF XLE 2.1% के गैप के साथ खुला और -0.9% पर बंद हुआ, और गोल्ड ETF GLD 2.4% के गैप के साथ खुला और -0.6% पर बंद हुआ। डिफेंस शेयरों ने अपनी बढ़त बनाए रखी: ऊपर दिए गए पैनल के चारों प्रमुख शेयर हरे निशान में बंद हुए।
क्या आक्रमण के बाद हुई यह तेजी बनी रही?
नहीं। QQQ 2022-03-14 को, आक्रमण के दिन के पैनिक लो 18 से 2022-03-14 कैलेंडर दिनों बाद, नीचे बंद हुआ, और 2022-12-28 को अपने 2022 के निचले स्तर पर, यह आक्रमण के दिन के क्लोजिंग से -23.7% नीचे था।
24 फरवरी, 2022 जैसा रिवर्सल कितना दुर्लभ है?
बहुत दुर्लभ। 2003 से 2025 के अंत तक, केवल 2 QQQ सत्रों में इंट्राडे में पिछले क्लोजिंग से 3% या उससे अधिक की गिरावट आई और फिर भी कम से कम 1% की बढ़त के साथ बंद हुए — यह सत्र, और 2022-10-13।
ऊपर दिया गया प्रत्येक पैनल ऐतिहासिक डेटा पर आधारित एक क्वेरी है — प्रत्येक माप देखने के लिए SQL का विस्तार करें। इसे पढ़ने के बजाय अनुभव करना चाहते हैं? यह Strasmore Labs trading simulator के खेलने योग्य परिदृश्यों में से एक है।