Skip to content
All library documents

Building a Composite Implied Volatility from Option Quotes

Article Quant Q&A · Author: Homunculus Reticulli

Summary

The document considers how to combine implied volatilities from calls and puts and interpolate across strikes to produce a single volatility estimate for an underlying. It describes backing out each option’s implied volatility by finding the volatility input that makes the Black–Scholes–Merton price match the observed market price. The resulting strike-dependent values form a volatility smile; calls and puts may have different smile shapes.

One answer suggests smoothing values between strike nodes with a Gaussian kernel, while another proposes weighting observations by open interest as a practical measure of market participation. The responses do not establish a generally accepted weighting rule, and they disagree on whether call and put values should be combined. The setup assumes European options and a Black–Scholes–Merton model; the document cautions that observed smiles and call-put differences are inconsistent with that model’s assumptions.

Key ideas

  • Implied volatility can be found by matching a model price to the observed option price.
  • Implied volatility varies by strike, forming a smile for calls and puts.
  • A Gaussian kernel is suggested for interpolating between strike observations.
  • Open interest is proposed as a practical weighting measure for combining values.
  • The responses do not settle whether calls and puts should be combined.

Tags

Full text
# How to calculate COMPOSITE underlying implied volatility from ATM (near month) option prices?


# How to calculate COMPOSITE underlying implied volatility from ATM (near month) option prices?












I am trying to calculate the implied volatility of an underlying given observed prices of call and puts. There are two scenarios:

- The ATM strike is pinned by the market (i.e. underlying level == strike price)

- The price of the underlying lies between two strikes

I have the following questions:

- How to combine the implied vols for same strike calls and puts

- How to interpolate between iVols for two strikes

- How to interpolate between iVols for calls and puts accross two strikes (Combination of 1 and 2 above)

Note: For the sake of simplicity, I'll assume that the options are European style, and I am using the BSM to backout the ivols.

[[Edit]]

I have changed the title to reflect the fact that it is a SINGLE (i.e. composite) value that I want to determine from the set of previously calculated IVols. Put simply, I want to know what is the most appropriate weighting scheme to apply, given the scenarios described above.

## Answer by Homunculus Reticulli (score 0, accepted)

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

The more I think about this question, the more obvious it becomes to me (from a traders point of view) that both 'intra strike' and 'inter strike' averaging should be done by weighting by open interest - as this (open interest) is a measure of (putting it crudely), people "putting their money where their mouth is".

Unless there is a fundamental reason that makes sense from a practioners point of view, this is the way I will proceed. I find that sometimes the mathematics becomes too far removed from what actually happens in the markets.

## Answer by SRKX (score 3)

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

First, this question is barely on-topic because it's a very common topic and you can find the answer in basically any derivatives book.

However, the interpolation part is interesting so I'll give it a shot.

First of all, what you are actually trying to compute is called the Volatility Smile. It is basically a graph which shows the implied volatility of an option vs its strike price. So you get 1 smile for the calls, and 1 smile for the puts.

To compute the volatility, you basically have to run an algorithm which finds what $\sigma$ would have to be in order to get your pricing formula to give you the result which is provided by the market. For your setup,

$$\sigma_i=\underset{\sigma}{\arg\min} \quad (\text{BS}(\sigma,\theta)- \hat{c})^2$$

where $\hat{c}$ is the market price for the option with parameters $\theta=(K,S,T)$

I do not think you should interpolate between the values obtained from the puts and the values obtained from the calls.

Between the nodes, you can use a Gaussian Kernel with a Kernel density estimation, I think it's quite an elegant way to get you complete line.

Finally, note that the fact that the smile are not equal for puts and calls, and that the graph are "smiles" and not "straight lines" demonstrate that the assumptions of the BS model are not supported by the market.

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.