DJIA Normalized Peak Plot over last 15 Recessions (1929-2022)
Explore the performance of the Dow Jones Industrial Average in the first months of the last 15 recessions (1929-2022). [Updated Mar. 4, 2022]
About this visualization
I (Richard Evans) first created a version of this plot using STATA in early 2009 during the Great Recession (Dec. 2007 to June 2009), which I posted and wrote about on the now defunct Econosseur.com blog. The updated dynamic visualization on this page was created using the Python prgramming language and the Bokeh plotting library. It shows the Dow Jones Industrial Average (DJIA) during the last 15 recessions, from the Great Depression that started in 1929 to the most recent COVID-19 recession that started in February 2020 (and ended April 2020). I take the peak stock price at the beginning of the recession and normalize its value to 1.0. This plot, therefore, shows the percent deviation of the DJIA during each recession relative to its peak at the beginning of the recession. It is a way to compare severity and duration of recession shocks to stock prices across different recessions in different time periods.
Back in 2009, I wanted to highlight how bad the effect of the Great Recession was on the stock market. You'll notice that it wasn't until October 2008, one year after the peak Dow, that its stock decline began to rival that of the Great Depression. If you look at this plot out three years from the peak, you would see that the stock decline of the Great Recession was deeper than 12 of the previous 13 recessions, where the only exception was the Great Depression.
My first update of this plot was published in a Quantitative Note entitled, “Stock Price Perspective on Coronavirus Crash” (March 20, 2020). This piece and visualization detailed how the DJIA had dropped 37% in less than 40 days by early March 2020, which was nearly twice as big as any 40-day percent drop in any of the 14 previous recessions including the Great Depression.
The data underlying the visualization on this page default to showing DJIA index values in the 15 recessions from 4 months before the peak to 36 months after the peak. However, the data here are available to be views from 8 months before the peak to 60 months after the peak.
Functionality of the dynamic visualization
This dynamic visualization allows the user to customize some different views and manipulations of the data using the following functionalities.
- Highlight or mute specific recession time series by clicking on the series label in the legend on the right side of the plot. Even when muted, the time series are still faintly visible.
- Hovertool display. If you select the hovertool button on the left side of the plot, which is the default for the plot, information about each point in each time series will be displayed when you hover your cursor over a given point in the plot area.
- Pan different areas of the data. If you click on the pan button on the left side of the plot, you can use your cursor to click and drag on the data window and change your view of the data.
- Zoom in or out on the data. You can zoom in or zoom out on the data series in three different ways. You can use the box zoom functionality by clicking on its button on the left side of the plot and clicking and dragging a box on the area of the plot that you want to zoom in on. You can also zoom in by clicking on the zoom in button on the left side of the plot, then clicking on the area of the plot you want to center your zoom in around. Or you can zoom out by clicking on the zoom out button on the left side of the plot, then clicking on the area of the plot you want to center your zoom out around.
- Save current view of data as .png file. You can save your current view of the data as a .png file to your local hard drive by clicking on the save button on the left side of the plot.
- Undo and redo actions. You can undo or redo any of the plot changes that you make using the undo button or the redo button on the left side of the plot.
- Reset the plot. After any changes you make to the plot, you can reset it to its original position by using the reset button on the left side of the plot.
Contributing to this visualization code
This dynamic visualization was created using the scripts written in the Python programming language. I used the Bokeh plotting library to create the JavaScript for the visualization. All of the scripts, data, and detailed documentation are available on the GitHub page for this visualization (https://github.com/OpenSourceEcon/DJIA_NormPeakPlot). You can fork that repository and follow the instructions in the README.md to create and modify this visualization on your own machine. If you wish to improve or enhance this code or if you find errors or bugs, please consider the following ways to contribute to this project.
- Browse the repository Issues for known areas that need attention.
- Submit questions or suggestions by submitting a new issue in the repository Issues.
- Submit a pull request with your proposed changes.
References
Evans, Richard W., “Stock Price Perspective on Coronavirus Crash,” Quantitative Notes, 2020-1 (March 20, 2020).
Evans, Richard W., “Code for creating normalized peak plot of Dow Jones Industrial Average (DJIA) in last 15 recessions,” https://github.com/OpenSourceEcon/DJIA_NormPeakPlot, (Mar. 4, 2022).