Prism Data Lab

Every analysis here ships its dataset and the code that produced every figure. Nothing on this site is investment advice.

Data AnalysisUpdated 1,058 words, 5 minutes

VIX regimes: how often the index closes above 30, by year since 1990

Every calendar year since 1990 with the number of VIX closes above 20, 30, and 40, the yearly maximum and its date, and the longest stretches above 30, from FRED.

"The VIX above 30" is shorthand for a stressed market, and it is used as if it were rare. Whether it is rare depends on the year. This article counts, for every calendar year from 1990 to 2026, how many daily closes of the index were above 20, 30, and 40, along with each year's maximum and the longest consecutive runs above 30. The data is the VIXCLS series on FRED and the counting script is attached.

The data

VIXCLS is the daily closing value of the Cboe Volatility Index as carried on FRED, starting 1990-01-02. The FRED notes describe the index as measuring "market expectation of near term volatility conveyed by stock index option prices"; it is quoted in annualised percentage points of implied volatility for the S&P 500 over the next thirty days. The file retrieved on 2026-09-05 runs to 2026-09-03 and contains 9,266 non-missing closes after holidays are dropped. The 2026 row is partial, with 174 closes through September 3.

One caution from the Cboe side: the index methodology was revised in 2003 to use S&P 500 options and a wider strip of strikes, and Cboe back-calculated the series; the early 1990s values in this file are that reconstruction rather than the number that was published on the day.

The method

v = pd.read_csv(CSV, parse_dates=["date"], index_col="date")["VIXCLS"].dropna()
for y, s in v.groupby(v.index.year):
    above30 = int((s > 30).sum())
    share = 100 * (s > 30).mean()
    peak, peak_date = s.max(), s.idxmax()

A "close above 30" is strictly greater than 30.00. Runs are consecutive trading days with closes above 30; a single close at or below 30 ends the run.

The table

Output of python code/vix-closes-above-30-by-year.py on 2026-09-05.

year closes above 20 above 30 above 40 share above 30 max close (date) mean close
1990 253 179 24 0 9.5% 36.47 (1990-08-23) 23.1
1991 252 57 7 0 2.8% 36.20 (1991-01-14) 18.4
1992 254 4 0 0 0.0% 21.02 (1992-10-07) 15.5
1993 253 0 0 0 0.0% 17.30 (1993-09-21) 12.7
1994 252 2 0 0 0.0% 23.87 (1994-04-04) 13.9
1995 252 0 0 0 0.0% 15.74 (1995-10-05) 12.4
1996 254 15 0 0 0.0% 21.99 (1996-12-16) 16.4
1997 251 171 18 0 7.2% 38.20 (1997-10-30) 22.4
1998 252 204 53 15 21.0% 45.74 (1998-10-08) 25.6
1999 252 239 10 0 4.0% 32.98 (1999-01-14) 24.4
2000 252 202 5 0 2.0% 33.49 (2000-04-14) 23.3
2001 248 239 46 4 18.5% 43.74 (2001-09-20) 25.7
2002 252 212 83 10 32.9% 45.08 (2002-08-05) 27.3
2003 252 123 39 0 15.5% 34.69 (2003-01-27) 22.0
2004 253 5 0 0 0.0% 21.58 (2004-03-22) 15.5
2005 252 0 0 0 0.0% 17.74 (2005-04-15) 12.8
2006 251 3 0 0 0.0% 23.81 (2006-06-13) 12.8
2007 251 85 3 0 1.2% 31.09 (2007-11-12) 17.5
2008 253 223 79 63 31.2% 80.86 (2008-11-20) 32.7
2009 252 247 111 61 44.0% 56.65 (2009-01-20) 31.5
2010 252 156 23 3 9.1% 45.79 (2010-05-20) 22.5
2011 252 135 75 11 29.8% 48.00 (2011-08-08) 24.2
2012 250 45 0 0 0.0% 26.66 (2012-06-01) 17.8
2013 252 3 0 0 0.0% 20.49 (2013-06-20) 14.2
2014 252 11 0 0 0.0% 26.25 (2014-10-15) 14.2
2015 252 42 4 1 1.6% 40.74 (2015-08-24) 16.7
2016 252 42 0 0 0.0% 28.14 (2016-02-11) 15.8
2017 251 0 0 0 0.0% 16.04 (2017-08-10) 11.1
2018 251 59 5 0 2.0% 37.32 (2018-02-05) 16.6
2019 252 15 0 0 0.0% 25.45 (2019-01-03) 15.4
2020 253 218 80 35 31.6% 82.69 (2020-03-16) 29.3
2021 252 91 6 0 2.4% 37.21 (2021-01-27) 19.7
2022 256 233 49 0 19.1% 36.45 (2022-03-07) 25.6
2023 257 43 0 0 0.0% 26.52 (2023-03-13) 16.8
2024 259 25 1 0 0.4% 38.57 (2024-08-05) 15.6
2025 258 64 12 4 4.7% 52.33 (2025-04-08) 18.9
2026 174 38 2 0 1.1% 31.05 (2026-03-27) 18.5

Whole sample: 735 of 9,266 closes above 30 (7.9 percent), 207 above 40, median close 17.58, all-time high 82.69 on 2020-03-16. Fifteen of the thirty-seven years had no close above 30 at all. The longest consecutive runs above 30: 170 closes from 2008-09-15 to 2009-05-18; 50 from 2011-08-04 to 2011-10-13; 50 from 2020-02-27 to 2020-05-07; 48 from 1998-08-21 to 1998-10-28; 42 from 2002-08-27 to 2002-10-24. The latest close in the file, 2026-09-03, is 14.32.

What it shows

Closes above 30 cluster. Four years account for 353 of the 735: 2009 (111), 2002 (83), 2020 (80) and 2008 (79). The 2008 to 2009 run of 170 consecutive closes is more than three times the next longest, and is the only period where the mean close for a whole year was above 30 (32.7 in 2008 and 31.5 in 2009).

Between clusters, the index can go years without touching 30. From 2012 to 2014 and again from 2016 to 2017 and in 2019 and 2023 there were no closes above 30, and 2017's maximum close was 16.04, the lowest yearly maximum in the file. The years 1993 to 1996 and 2004 to 2006 are similar. Reading the table top to bottom, the pattern is long quiet stretches with a few short, sharp episodes, and the 40 threshold is rarer still: after 2011 it was crossed on one day in 2015, 35 days in 2020, and 4 days in 2025.

Recent years fit the pattern rather than breaking it. 2024 had one close above 30, the 38.57 spike of August 5; 2025 had 12, concentrated in early April, with a peak of 52.33 on April 8 that is the highest close since March 2020; 2026 to date has 2, with a peak of 31.05 on March 27. The mean close in 2025 (18.9) and 2026 (18.5) is above the 2023 and 2024 means but close to the whole-sample median.

What it does not show

The table counts closes, not intraday highs, and the index has spiked above 30 intraday on days that closed below it. A different threshold would tell a somewhat different story: 20 is crossed in most years, and the "above 20" column shows 2022 with 233 such closes despite no close above 40.

Implied volatility is a price, not a forecast that has been scored. The table does not compare VIX levels with the realised volatility that followed, and it says nothing about whether the index was high or low relative to what happened. Nor does it say anything about returns; nothing here is a signal.

The early 1990s figures are reconstructed under the 2003 methodology and are not the values market participants saw at the time. And 2026 is eight months of a year; its row will change.

This article is analysis and education, not investment, tax, or legal advice. Figures are cited to their source and dated; check them before relying on them.