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


11 thoughts on “Calculate Historical Volatility in Excel

  1. 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. Please ignore request as I’ve fixed the problem… yahoo went and changed the stock ticker – it’s now DJIA.

  3. 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?

    Thanks!

  4. 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. Hello Samir,

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

  6. HELLO,SAMIR

    CN U PREPARE SAME HISTORICAL VOLATILITY CHART FOR “NSE SCRIPTS N INDEXES OF INDIA”…..

    IT WILL B GREAT HELP 4 ME….

    I SEARCH EVERY CORNER OF INTERNET,BT INDIAN OPTIONS HV IS NOT AVAILABLE

    PLS HELP

    REGARDS

    1. Hello Ajay ,

      This Excel Sheet created by Samir works perfectly with NSE Stocks. Only thing is that you have to change the Ticker name to NSE Stock Ticker. In Yahoo if you want ticker symbol of State bank of India then you have to write like this SBIN.NS . Thats it . For the whole list of symbols you may refer to the undermentioned link:

      Yahoo NSE Symbol List

  7. In the spreadsheet, how come the closing prices are used to compute standard deviation, instead of using ADJUSTED closing prices. Wouldn’t the adjusted closing price be more accurate, since it takes into account share splits and dividends?

Leave a Reply

Your email address will not be published. Required fields are marked *

What is 13 + 13 ?
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) :-)