Reading media articles or posts online, a common term thrown around is drawdown but do you know what that is? Well, mostly it's a pain metric for investors. In this article we want to explain this term for our users, explain how it is calculated and what a drawdown chart would look like.
Drawdown is the percentage level of your current portfolio below the portfolio's highest performing level in history. If we take the returns of the SPY ETF as an example first we plot the highest performing level, this is termed the Rolling Maximum and also referred to as High Watermark). It will always be the highest point. Next we plot the cumulative or on-going performance.
Once our first graph has been completed, we can calculate the percentage difference between each line. We plot it on a new graph, and this is our Drawdown. This is what is regularly referred to in media articles and forums.
You will frequently see not only a graphical depiction like ours above, but regularly it will be shown as a table. The tabular output is helpful to show deeper drawdown statistics, if for example you want to get a sense of the frequency and length of drawdowns. Other metrics that are commonly used in conjunction with drawdowns are
Drawdowns are a pain measure and as such extra statistics like the above help investors judge what strategies to invest in. It helps provide a realistic expectation of what a user would have gone through emotionally if they had invested in that strategy in the past.
A quick code snippet for the python users out there who want to download some yahoo tickers for example, calculate returns and then show drawdowns.
1# Function to compute drawdowns of a time-series of returns 2def drawdown(my_returns): 3 4 equity_perf = (1+my_returns).cumprod() 5 rolling_max = equity_perf.cummax() 6 drawdowns = (equity_perf - rolling_max)/rolling_max 7 8 return drawdowns
Tutorials on investing and portfolios