The US Equity Historical & Option Implied Volatilities database provides volatility data on over 2,500 US equities.
The database is updated daily, and includes historical volatilities using both the close-to-close and Parkinson models. Historical volatility time periods are at 10, 20, 30, 60, 90, 120, 150, and 180 calendar days.
The database also includes at-the-money option-implied volatilities for calls, puts, and means, as well as skew steepness indicators. The volatilities are provided for constant future time periods at 10, 20, 30, 60, 90, 120, 150, 180, 270, 360, 720, and 1080 calendar days.
The data is calculated using EOD market data provided by the exchanges and is updated by 6:30 PM Eastern on trading days.
Quantcha is a financial software and services company focused on equity and option investing. In addition to data feeds, Quantcha provides a suite of tools for searching, filtering, and analyzing stock market investments at quantcha.com.
The Quandl Code for Quantcha Volatilities is:
||Apple Historical and Implied Volatility
||IBM Historical and Implied Volatility
||Microsoft Historical and Implied Volatility
The full database is searchable from the Data tab on this page. The Metadata tab contains a list of all stock tickers for which volatility data is available.
Any dataset can be directly accessed from a browser using its Quandl code. For example, IBM Implied Volatility: www.quandl.com/data/VOL/IBM
Volatility measurements provide insight as to the actual or expected variation in the price of a stock over a given period of time. This data set provides both historical and implied volatilities.
Historical volatility is the measure of actual price movement for the stock in the past. There are several ways to calculate historical volatility, and this data set provides the two most popular methods:
- Close-to-close volatility ("Hv", such as Hv10, etc) is calculated using the closing price of the stock on each trading day for a calendar period leading up to the most recent trading close.
- Parkinson volatility ("Phv", such as Phv10, etc) is calculated using the high and low prices of the stock on each trading day for a calendar period leading up to the most recent trading close.
The numbers in each volatility field represent a duration in calendar days. For example, Hv30 indicates the historical close-to-close volatility for approximately 30 calendar days, Phv180 indicates the historical Parkinson volatility for approximately 180 calendar days, and so on. Note that these calendar durations are approximations based on a predefined set of trading days over that calendar period as defined in the table below.
|| Calendar Days
|| Trading Days
|| 7 |
|| 14 |
|| 21 |
|| 41 |
|| 62 |
|| 83 |
|| 104 |
|| 124 |
Based on this table, an Hv60 would be calculated using the close price differences between the last 41 trading days and the close prices on their respective previous trading days. By standardizing on this methodology, the historical volatility of any given duration can be cleanly compared with the other historical or implied volatilities of the same duration without having to consider the conversion between calendar and historical days or non-trading calendar days, such as weekends or holidays.
All closing prices are obtained using the CRSP methodology.
Implied volatility is the projected future volatility of a stock inferred from the prices of its options. The fair market price of a given option can be calculated based on five factors:
- The current price of the stock
- The current price of the option (typically calculated as the average of the best bid and ask prices for the option)
- The amount of time until expiration
- The risk-free rate of return (typically the Libor rate for that duration)
- The historical volatility of the stock
However, options rarely trade at their fair market price, which implies that those buying and selling the options expect the stock to trade at a different volatility from its historical volatility. When replacing this implied volatility into the option pricing model, the resulting price will match the option's current market value.
The implied volatility measurements provided are calculated for calls, puts, and means using at-the-money (ATM) options for predefined durations. For the purposes of this data set, an ATM option is one whose strike price is the closing price as of the date of calculation, which may be rounded to two decimals, such as $12.34. The durations are all measured in calendar days.
For example, the IvCall30 provides the implied volatility of the ATM call for the stock with an expiration 30 calendar days from the measurement date. If the stock closed at $12.34 on that day, the option used would be the call with the strike at $12.34. IvPut30 represents the implied volatility for the comparable put, and IvMean30 is simply the average of IvCall30 and IvPut30. The provided durations are 10, 20, 30, 60, 90, 120, 150, 180, 270, 360, 720, and 1080 calendar days.
As it is very uncommon for there to be options that precisely fit the strike and expiration requirements to fulfill these measurements, a multi-step process is employed to calculate the values.
- The implied volatility for each of the available options is calculated. If there are no ordinary dividends to be distributed over the remaining lifetime of a given option, the Black-Scholes model is employed. If there are ordinary dividends to be distributed, the system uses the Cox-Ross-Rubinstein binomial model. For long-range options, the system infers the likelihood of future dividends based on the current expectations for ordinary dividends over the next year.
- Once the implied volatility has been calculated for each option, the ATM option for that duration is calculated using linear interpolation of the two options straddling the ATM price. For example, if the ATM price is $102, the system may use the $100 and $105 strikes to calculate the theoretical $102 strike using a 3:2 weighted ratio (linear interpolation).
In the rare case where all options are above or below the ATM price, the implied volatility of the option closest to the money is used. Note that only call options are used to calculate call implied volatilities and only puts are used for put implied volatilities.
- At this point, the system has the ATM implied volatilities for each actual expiration of the options available for the stock. To calculate the implied volatilities for the predefined durations, the system uses linear interpolation between the two expiration periods straddling the target expiration. For example, if the target duration is 30 days, the system may use the 29-day and 36-day ATM implied volatilities at a ratio of 6:1 (linear interpolation) to calculate the theoretical 30-day implied volatility.
Implied volatilities for the same expiration period vary across the different strike prices. In general, the shape of the graph of implied volatilities against strikes takes the form of a "skew" or "smile" where the implied volatilities are highest for the lowest strike prices and slope downward to reach a low near the money. Then, depending on market sentiment, the implied volatilities may slope further up, down, or even stay flat. When the skew slopes upward after the ATM strike, it may be a sign of bullishness for that time horizon. When the slope continues downward, it may indicate bearish sentiment. A flat skew may indicate neutral sentiment. However, the interpretations of these skews may vary depending on the stock and other market conditions.
One of the best ways to measure the state and change in skew for a given stock is to look at the skew's steepness as it pertains to options straddling the money. This data set provides the skew steepness for each of the implied volatility durations by subtracting the mean implied volatility of the call and put options with strikes at 110% of the money from the mean implied volatility of the call and put options with strikes at 90% of the money.
For example, suppose a stock is trading at $102 and its 30-day implied volatilities are being analyzed. Its 90% of ATM strike is $91.80 and has an implied volatility of 29%. Its 110% strike is $112.20 and has an implied volatility of 27.5%. Subtracting 27.5% from 29% would give the skew steepness of 1.5% for this particular scenario.
Subscribers can download the entire database at any time at:
https://www.quandl.com/api/v3/databases/VOL/data?api_key=<YOUR API KEY>
The above request will re-direct you to a temporary URL referencing a ZIP file. Download the zip file which will contain a CSV representation of the entire database.
Batch download is ideal for maintaining a local version of this database or for screening and/or filtering requirements. (e.g. find all stock meeting some criteria.)
The format of the csv is slightly different from Quandl's csv api. It has an added first column for the Quandl code of that row's data.
The full Quantcha Volatility Surface database is accessible via the Quandl API. The database is also available via Quandl's free libraries for R, Python, Matlab, Excel and other tools.
For complete API documentation, see quandl.com/docs/api API examples specific to this database follow.
This database is premium. You must append
&api_key=YOURTOKEN to all calls to this database.
To get the historical 10 day volatility for Apple for the past 3 days in json:
The Quandl code for this dataset is the stock's ticker:
|This truncates the result to include only the first three rows (days) of data|
|This ensures the result includes the most recent day first|
|This tells the server to send only column 1 (HV10)|
With all columns:
API and Library Helpers
To quickly generate API calls or library calls, you can visit any Volatility Surface data page (AAPL for example). On the right side of the screen are buttons that help you build API calls based on what you are looking at on the screen.
For more information:
- General Quandl API Documentation
- Quandl Libraries
Premium support is available for this database: email@example.com