{"slug":"march-2009-market-bottom","qid":"sector_year","label":"One year off the low: the crisis epicenter vs the broad market","post_title":"March 9, 2009: The Bottom, On the Tape","post_url":"/blog/march-2009-market-bottom#q-sector_year","columns":["ticker","close_mar9_2009","close_mar9_2010","pct_1yr","financial"],"rows":[{"ticker":"BAC","close_mar9_2009":3.75,"close_mar9_2010":16.82,"pct_1yr":349,"financial":1},{"ticker":"C","close_mar9_2009":1.05,"close_mar9_2010":3.83,"pct_1yr":265,"financial":1},{"ticker":"WFC","close_mar9_2009":10,"close_mar9_2010":28.97,"pct_1yr":190,"financial":1},{"ticker":"AAPL","close_mar9_2009":83.15,"close_mar9_2010":223.17,"pct_1yr":168,"financial":0},{"ticker":"JPM","close_mar9_2009":15.9,"close_mar9_2010":42.39,"pct_1yr":167,"financial":1},{"ticker":"XLF","close_mar9_2009":6.35,"close_mar9_2010":15.3,"pct_1yr":141,"financial":1},{"ticker":"GS","close_mar9_2009":73.86,"close_mar9_2010":168.97,"pct_1yr":129,"financial":1},{"ticker":"SPY","close_mar9_2009":68.07,"close_mar9_2010":114.45,"pct_1yr":68,"financial":0},{"ticker":"XOM","close_mar9_2009":64.56,"close_mar9_2010":66.79,"pct_1yr":3,"financial":0}],"shape":"table","sql":"SELECT\n    ticker,\n    round(b_close, 2) AS close_mar9_2009,\n    round(y_close, 2) AS close_mar9_2010,\n    round((y_close / b_close - 1) * 100, 0) AS pct_1yr,\n    fin AS financial\nFROM (\n    SELECT\n        ticker,\n        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2009-03-09') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS b_close,\n        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2010-03-09') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS y_close,\n        max(ticker IN ('C', 'BAC', 'WFC', 'JPM', 'GS', 'XLF')) AS fin\n    FROM global_markets.delayed_stocks_minute_aggs\n    WHERE ticker IN ('C', 'BAC', 'WFC', 'JPM', 'GS', 'XLF', 'SPY', 'AAPL', 'XOM')\n      AND ((window_start >= toDateTime('2009-03-09 04:00:00') AND window_start < toDateTime('2009-03-10 04:00:00'))\n        OR (window_start >= toDateTime('2010-03-09 04:00:00') AND window_start < toDateTime('2010-03-10 04:00:00')))\n    GROUP BY ticker\n)\nORDER BY pct_1yr DESC","computed_at":"2026-07-26T05:41:00.256458+00:00","elapsed":0.061709222}