Skip to content
All library documents

Estimating Constant-Maturity Implied Volatility from Listed Options

Article Quant Q&A · Author: Chuck Remes

Summary

The procedure estimates an at-the-money implied volatility for a target maturity by using two listed option expirations that bracket it. It first selects nearby call and put strikes, estimates a forward price for each expiration from put–call parity, and interpolates that forward and the option prices by time to reach the target horizon. Black–Scholes is then used to infer call and put implied volatilities, which are averaged.

The worked example uses historical AAPL option quotes and reports a 60-day estimate; the response also describes how to repeat the method for another target horizon. Its accuracy depends on quote quality, consistent settlement-time and year-fraction conventions, suitable interest rates, and the assumptions behind the option model. The example assumes European-style options and uses a simple average of call and put estimates, so it is an illustrative calculation rather than a universal market-index methodology.

Key ideas

  • Choose two option expirations that surround the target maturity.
  • Estimate each expiration’s forward price from put–call parity using a suitable strike.
  • Interpolate forward price and option prices by time to the target date.
  • Invert the interpolated call and put prices with Black–Scholes and average their implied volatilities.
  • Results depend on quotes, timing conventions, rates, and model assumptions.

Tags

Full text
# How to compute 30/60/90-day Implied Volatility?


# How to compute 30/60/90-day Implied Volatility?












I want to calculate the 30/60/90/180 day 100% moneyness implied volatility for a stock. I think I know how to do it but would like to share my thought processes with the group to verify I'm on the right track. I roughly followed the process given in this white paper from Bloomberg (top hit for google search terms "bloomberg implied volatility calculation").

I'm going to run through an example using AAPL.

Assumptions:

- AAPL has European-style options

- As of 2016-04-29 compute the 60-day IV

- Stock closed at 93.75

- My calculations are correct :)

The process is as follows:

- 60-day IV would be for expiration as of June 28, 2016. Find option series bracketing that date. The June 17 and July 15 series both bracket it.

- For each series, find 4 calls and 4 puts around 93.75. Two should be ITM, two should be OTM. This gives us the 90, 92.5, 95, and 97.5 strikes.

- Compute cubic interpolation of a "synthetic" 93.75 strike for the calls and puts on both expiration dates.

June 17 Call, 3.1005

June 17 Put, 3.5855

July 15 Call, 4.0283

July 15 Put, 4.4095

- Compute the minutes to settlement from 2016-04-29T15:00:00 (CST) to the June 17 and July 15 dates.

June17_settlement = 70500

July15_settlement = 110820

60day_minutes = 86400

- Compute the time-weighted average using #4

June17 = (110820 - 86400) / (110820 - 70500) = 0.6057

July15 = (86400 - 70500) / (110820 - 70500) = 0.3943

Sanity check... 0.6057 + 0.3943 = 1.0

- Compute weighted average Call and Put prices for synthetic 60-day option

Call

(3.1005 * 0.6057) + (4.0283 * 0.3943) = 3.4663

Put

(3.5855 * 0.6057) + (4.4095 * 0.3943) = 3.9104

- Compute time to settlement for 60-day option

(60 / 365) = 0.1643835

- Use Black-Scholes to back out the IV of a Call and Put with stock price 93.75, strike 93.75, rfr 0.25%, time to maturity 0.1643835, and prices of:

Call(3.4663) = 22.7% IV

Put(3.9104) = 25.7% IV

Am I on the right path here? Any suggestions or corrections would be welcome.

## Answer by Chuck Remes (score 5, accepted)

https://quant.stackexchange.com/a/27736

Thanks to @Quantuple I was able to modify the steps listed above to give a more accurate calculation. I'll run through the modified steps with real numbers all the way to the result.

The process is as follows:

- 60-day IV would be for expiration as of June 28, 2016. Find option series bracketing that date. The June 17 and July 15 series both bracket it.

- For each series, find 4 calls and 4 puts around 93.75. Two should be ITM, two should be OTM. This gives us the 90, 92.5, 95, and 97.5 strikes. (We'll use the "last" posted on 2016-04-29 for these strikes.)

- Compute time to maturity for the near-term and next-term options (fractions of a year) from today (2016-04-29) June 17 expiration = 70500 minutes July 15 expration = 110820 minutes maturity-day-minutes = 86400 minutes (60 days) t1 = (70500 / 525600) = 0.1341324200913242 t2 = (110820 / 525600) = 0.21084474885844748

- Compute the forward price in each series for the strike with the smallest difference between put/call prices. June 17 forward f1 = 92.5 + (e^(0.0025 * 0.1341324200913242)) * (3.80 - 3.02) = 93.28026160207838 July 15 forward f2 = 92.5 + (e^(0.0025 * 0.21084474885844748)) * (4.69 - 3.80) = 93.39046925322982

- Compute the weighted average components for both expirations (110820 - 86400) / (110820 - 70500) = 0.6056547619047619 (86400 - 70500) / (110820 - 70500) = 0.3943452380952381

- Interpolate the forward price for our specific time T (93.28026160207838 * 0.6056547619047619) + (93.39046925322982 * 0.3943452380952381) = 93.3237214645116

- Compute time to maturity for a 60-day option (60 / 365.0) = 0.1643835616438356

- Use Black-Scholes to compute implied volatility of puts and calls using the interpolated implied forward price instead of spot and the interpolated put/call prices forward price = 93.3237214645116 strike = 93.75 (for 100% moneyness) time to maturity = 0.1643835616438356 (60 / 365) risk free rate = 0.25% (feel free to look up and interpolate better value) call option price = 3.4663 put option price = 3.9104 these inputs into BS produce Call IV 0.24188995361328125 Put IV 0.24555206298828125

- Average the call and put IV to get mean 60-day IV which is an annualized value (0.24188995361328125 + 0.24555206298828125) / 2 = 0.24372100830078125 24.37% annualized

To do this calculation for a 90-day IV, follow these steps. Replace the option series for two series that bracket the maturity date, calc t1, t2, and a 90-day maturity minutes and plug-and-chug.

I'll mark this as the accepted answer unless someone speaks up with any corrections or clarifications in the next day or so.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.