Calculate Historical Volatility in Excel

This spreadsheet calculates the historical volatility of a stock. It uses returns data automatically downloaded from Yahoo.

Historical volatility is the standard deviation of an asset’s historical returns. The standard deviation is calculated over a moving time window.

The historical volatility of a stock is distinct from implied volatility of an option. The former represents past movements in price. The latter represents future expectations about price movements, and is calculated from the option price.

By comparing the historical volatility of the underlying to the implied volatility of the option, investors can judge if the option is cheap or expensive. If the implied volatility is high, then selling the option is sensible.  However, if the implied volatility is low, the option is a good buy.

How to Calculate Historical Volatility

  1. Calculate the natural log of the current stock price to yesterday’s stock price. This is the continuously compounded return.log stock price
  2. Calculate the average return over a moving time window of n days. A value of n = 21 represent the typical number of trading days in a month, and is often used. Values lower than this tend to produce lots of noise in the results. The greater the time window, the smoother the results.  average stock return over a moving time window
  3. Calculate the standard deviation of the returns over the moving time window.Historical Volatility Equation
  4. Annualize the daily standard deviation by multiplying by the square root of the number of days in a year. The average number of trading days in a year is 252.

Calculate Historical Volatility in Excel

The spreadsheet automates the steps described above, and is simple to use. Simply enter the stock ticker, the start and end dates, and the volatility window (i.e. the number of days over which the volatility is calculated).

Historical Volatility

The end date is set to NOW() by default, which gives the current date.

After clicking the button, the spreadsheet downloads returns data from Yahoo using VBA. Then, the chart will plot the historical volatility (based on the daily adjusted close)

Historical Volatility Excel

Download Excel Spreadsheet to Calculate Historical Volatility

7 Responses to "Calculate Historical Volatility in Excel"

  1. Tai says:

    Hi, This has been wroking fine until after the 4th July, recently, I could no longer download the data for Dow Jones(^DJI) but other still work fine with other data, e,g, FTSE, DAX, which I use daily. Could someone into look at this? Many thanks. T.

  2. Tai says:

    Please ignore request as I’ve fixed the problem… yahoo went and changed the stock ticker – it’s now DJIA.

  3. Bruno says:

    Great tool but unfortunately in Excel for Mac 2011 there is a VBS error message. Somehow your other excel files that run on Excel 2002 work.

    Is there a work around or another version of this worksheet that would work in Mac?


  4. joe says:

    I have a question, how do I read this chart? What does it mean if the voltaitly is high and the adjusted close is low? Am I looking for when they are close to one another?

    great app by the way!

  5. Frank Zampella says:

    This Excel file will not run on MS Office 2010.

  6. Krunal bhadra says:

    Hello Samir,

    You have calculated Standard Deviation (Volatility) & Histogram for a single Stock. How it can be calculated for multiple number of stocks?

Leave a Reply

Submit Comment
What is 12 + 8 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)
© 2014 Invest Excel. All rights reserved. XHTML / CSS Valid.