{"slug":"ukraine-invasion-market-2022","qid":"did_it_hold","label":"After the reversal: when QQQ broke the invasion-day low, and how far it fell","post_title":"Feb 24, 2022: War at the Open, Green by Close","post_url":"/blog/ukraine-invasion-market-2022#q-did_it_hold","columns":["invasion_close","invasion_low","first_close_below_invasion_low","calendar_days_to_new_low","march_low_close","march_low_date","march_low_vs_invasion_close_pct","year_low_close","year_low_date","year_low_vs_invasion_close_pct"],"rows":[{"invasion_close":340.65,"invasion_low":318.26,"first_close_below_invasion_low":"2022-03-14","calendar_days_to_new_low":18,"march_low_close":318.21,"march_low_date":"2022-03-14","march_low_vs_invasion_close_pct":-6.6,"year_low_close":260.02,"year_low_date":"2022-12-28","year_low_vs_invasion_close_pct":-23.7}],"shape":"scalar","sql":"WITH\n    daily AS (\n        SELECT\n            toDate(toTimeZone(window_start, 'America/New_York')) AS d,\n            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\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'QQQ'\n          AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2023-01-01 00:00:00')\n        GROUP BY d\n    ),\n    (SELECT c FROM daily WHERE d = toDate('2022-02-24')) AS invasion_close,\n    (\n        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)\n        FROM global_markets.delayed_stocks_minute_aggs\n        WHERE ticker = 'QQQ'\n          AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')\n    ) AS invasion_low\nSELECT\n    invasion_close,\n    invasion_low,\n    toString(minIf(d, c < invasion_low AND d > toDate('2022-02-24'))) AS first_close_below_invasion_low,\n    dateDiff('day', toDate('2022-02-24'), minIf(d, c < invasion_low AND d > toDate('2022-02-24'))) AS calendar_days_to_new_low,\n    round(minIf(c, d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31')), 2) AS march_low_close,\n    toString(argMinIf(d, (c, d), d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31'))) AS march_low_date,\n    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,\n    round(minIf(c, d > toDate('2022-02-24')), 2) AS year_low_close,\n    toString(argMinIf(d, (c, d), d > toDate('2022-02-24'))) AS year_low_date,\n    round((minIf(c, d > toDate('2022-02-24')) / invasion_close - 1) * 100, 1) AS year_low_vs_invasion_close_pct\nFROM daily","computed_at":"2026-07-26T06:18:40.207695+00:00","elapsed":0.537194083}