Stock Regimes
Major swings and moving-average trends across the full price history, with each period compared to the S&P 500.
Price history
Green bands are rallies and red bands are drawdowns. A swing is confirmed when price reverses by at least 20%.
Versus the S&P 500
Both series are rebased to 100 at the first date they share in this window. Returns are price returns from adjusted closes, not dividend total return.
Regimes
| Direction | Start | End | Trading days | Start price | End price | Stock | Annualized | S&P 500 | Excess |
|---|---|---|---|---|---|---|---|---|---|
| Drawdown | 2011-07-15 | 2011-08-10 | 19 | $121.89 | $74.08 | -39.2% | -99.9% | -14.8% | -24.4% |
| Rally | 2011-08-10 | 2011-08-30 | 14 | $74.08 | $95.62 | +29.1% | +9,781.8% | +8.2% | +20.8% |
| Drawdown | 2011-08-30 | 2011-10-04 | 26 | $95.62 | $70.03 | -26.8% | -95.1% | -7.3% | -19.4% |
| Rally | 2011-10-04 | 2012-02-08 | 88 | $70.03 | $95.27 | +36.0% | +141.4% | +20.1% | +15.9% |
| Drawdown | 2012-02-08 | 2012-04-23 | 52 | $95.27 | $74.94 | -21.3% | -68.7% | +1.3% | -22.6% |
| Rally | 2012-04-23 | 2012-09-19 | 104 | $74.94 | $91.92 | +22.7% | +64.0% | +6.9% | +15.8% |
| Drawdown | 2012-09-19 | 2013-06-27 | 190 | $91.92 | $54.61 | -40.6% | -49.9% | +10.4% | -51.0% |
| Rally | 2013-06-27 | 2013-09-20 | 61 | $54.61 | $76.65 | +40.4% | +306.0% | +6.0% | +34.4% |
| Drawdown | 2013-09-20 | 2014-04-25 | 146 | $76.65 | $39.19 | -48.9% | -68.6% | +9.0% | -57.9% |
| Rally | 2014-04-25 | 2014-06-23 | 40 | $39.19 | $47.31 | +20.7% | +227.5% | +5.3% | +15.4% |
| Drawdown | 2014-06-23 | 2014-12-29 | 131 | $47.31 | $15.38 | -67.5% | -88.5% | +6.5% | -74.0% |
| Rally | 2014-12-29 | 2015-02-16 | 33 | $15.38 | $24.57 | +59.8% | +3,478.0% | +0.3% | +59.4% |
| Drawdown | 2015-02-16 | 2015-08-26 | 134 | $24.57 | $9.46 | -61.5% | -83.4% | -7.5% | -54.0% |
| Rally | 2015-08-26 | 2015-09-17 | 17 | $9.46 | $14.42 | +52.4% | +51,476.5% | +2.6% | +49.8% |
| Drawdown | 2015-09-17 | 2016-01-12 | 78 | $14.42 | $8.30 | -42.5% | -83.2% | -2.6% | -39.9% |
| Rally | 2016-01-12 | 2016-05-02 | 78 | $8.30 | $19.57 | +135.8% | +1,498.2% | +7.4% | +128.4% |
| Drawdown | 2016-05-02 | 2016-06-01 | 21 | $19.57 | $12.14 | -38.0% | -99.7% | +0.9% | -38.8% |
| Rally | 2016-06-01 | 2016-11-28 | 126 | $12.14 | $82.80 | +582.0% | +4,551.2% | +4.9% | +577.1% |
| Drawdown | 2016-11-28 | 2017-01-03 | 26 | $82.80 | $56.98 | -31.2% | -97.3% | +2.5% | -33.7% |
| Rally | 2017-01-03 | 2018-01-15 | 258 | $56.98 | $102.35 | +79.6% | +77.2% | +23.4% | +56.2% |
| Drawdown | 2018-01-15 | 2018-09-10 | 165 | $102.35 | $59.62 | -41.7% | -56.2% | +3.3% | -45.0% |
| Rally | 2018-09-10 | 2018-11-05 | 40 | $59.62 | $74.87 | +25.6% | +320.1% | -4.8% | +30.4% |
| Drawdown | 2018-11-05 | 2019-10-08 | 230 | $74.87 | $19.13 | -74.5% | -77.6% | +5.7% | -80.1% |
| Rally | 2019-10-08 | 2020-01-02 | 56 | $19.13 | $24.24 | +26.7% | +190.2% | +12.6% | +14.1% |
| Drawdown | 2020-01-02 | 2020-03-12 | 50 | $24.24 | $9.13 | -62.3% | -99.3% | -23.9% | -38.5% |
| Rally | 2020-03-12 | 2020-06-05 | 59 | $9.13 | $21.14 | +131.5% | +3,509.3% | +28.8% | +102.8% |
| Drawdown | 2020-06-05 | 2020-08-20 | 54 | $21.14 | $15.10 | -28.6% | -79.2% | +6.0% | -34.6% |
| Rally | 2020-08-20 | 2020-09-16 | 20 | $15.10 | $28.32 | +87.5% | +276,126.5% | 0.0% | +87.6% |
| Drawdown | 2020-09-16 | 2020-10-30 | 33 | $28.32 | $15.19 | -46.4% | -99.1% | -3.4% | -43.0% |
| Rally | 2020-10-30 | 2021-02-15 | 71 | $15.19 | $41.00 | +169.9% | +3,292.7% | +20.3% | +149.6% |
| Drawdown | 2021-02-15 | 2021-03-24 | 28 | $41.00 | $28.30 | -31.0% | -96.4% | -1.2% | -29.8% |
| Rally | 2021-03-24 | 2021-10-18 | 145 | $28.30 | $61.10 | +115.9% | +281.0% | +15.4% | +100.5% |
| Drawdown | 2021-10-18 | 2021-12-27 | 48 | $61.10 | $33.04 | -45.9% | -96.0% | +6.8% | -52.7% |
| Rally | 2021-12-27 | 2022-02-10 | 32 | $33.04 | $48.80 | +47.7% | +2,057.1% | -6.0% | +53.7% |
| Drawdown | 2022-02-10 | 2022-02-24 | 11 | $48.80 | $38.07 | -22.0% | -99.7% | -4.8% | -17.2% |
| Rally | 2022-02-24 | 2022-03-30 | 25 | $38.07 | $79.00 | +107.5% | +156,866.0% | +7.3% | +100.2% |
| Drawdown | 2022-03-30 | 2022-09-29 | 127 | $79.00 | $33.00 | -58.2% | -82.3% | -20.9% | -37.3% |
| Rally | 2022-09-29 | 2023-01-31 | 85 | $33.00 | $67.24 | +103.8% | +725.0% | +12.0% | +91.8% |
| Drawdown | 2023-01-31 | 2023-08-17 | 137 | $67.24 | $34.10 | -49.3% | -71.3% | +7.2% | -56.5% |
| Rally | 2023-08-17 | 2023-11-20 | 67 | $34.10 | $50.90 | +49.3% | +351.1% | +4.1% | +45.2% |
| Drawdown | 2023-11-20 | 2024-06-07 | 137 | $50.90 | $25.18 | -50.5% | -72.6% | +17.6% | -68.1% |
| Rally | 2024-06-07 | 2024-07-03 | 19 | $25.18 | $31.09 | +23.5% | +1,538.5% | +3.6% | +19.9% |
| Drawdown | 2024-07-03 | 2024-09-10 | 49 | $31.09 | $22.01 | -29.2% | -83.1% | -0.7% | -28.5% |
| Rally | 2024-09-10 | 2024-10-03 | 18 | $22.01 | $28.77 | +30.7% | +4,150.9% | +3.7% | +27.0% |
| Drawdown | 2024-10-03 | 2024-12-23 | 56 | $28.77 | $20.20 | -29.8% | -79.6% | +4.8% | -34.6% |
| Rally | 2024-12-23 | 2025-03-17 | 55 | $20.20 | $28.14 | +39.3% | +356.7% | -5.0% | +44.3% |
| Drawdown | 2025-03-17 | 2025-06-23 | 67 | $28.14 | $20.73 | -26.3% | -68.3% | +6.2% | -32.5% |
| Rally | 2025-06-23 | 2025-07-23 | 23 | $20.73 | $27.59 | +33.1% | +2,192.3% | +5.5% | +27.6% |
| Drawdown | 2025-07-23 | 2025-12-18 | 105 | $27.59 | $21.39 | -22.5% | -45.7% | +6.5% | -29.0% |
| Rally | 2025-12-18 | 2026-02-02 | 27 | $21.39 | $32.50 | +51.9% | +4,861.5% | +3.0% | +49.0% |
| Drawdown | 2026-02-02 | 2026-02-05 | 4 | $32.50 | $24.70 | -24.0% | -100.0% | -2.6% | -21.4% |
| Rally | 2026-02-05 | 2026-03-19 | 31 | $24.70 | $35.30 | +42.9% | +1,722.4% | -2.8% | +45.7% |
| Drawdown | 2026-03-19 | 2026-06-26 | 68 | $35.30 | $24.20 | -31.4% | -75.3% | +11.3% | -42.8% |
| Rally | 2026-06-26 | 2026-09-08 | 53 | $24.20 | $38.90 | +60.7% | +855.2% | +4.3% | +56.4% |
| Drawdown Ongoing | 2026-09-08 | 2026-11-06 | 44 | $38.90 | $26.30 | -32.4% | -89.4% | -3.9% | -28.5% |
Stock returns use adjusted closes. Annualized compounds that stock return over a 252-trading-day year. S&P 500 is the GSPC index price return over the same dates. Excess is the stock return minus the S&P 500 return.