Obtaining Implied Volatility for Black–Scholes Delta
Summary
The question asks how to obtain the volatility input needed to calculate an option’s Black–Scholes delta. The replies explain that this input is commonly implied volatility: the volatility value consistent with the observed market price of the option and the model’s other inputs. It is generally quoted with option market data, so a year of underlying closing prices is not inherently required to obtain this market-implied input.
If a volatility quote is unavailable, implied volatility can be found numerically by solving for the volatility that reproduces the observed option price, using a root-finding method or a suitable software package. The replies also note that volatility is specified across contracts with different strikes and expiries, forming an implied-volatility surface. The discussion does not compare implied volatility with historical volatility, address quote quality, or explain model limitations. The option price, underlying price, strike, time to expiry, and rate must be aligned with the selected pricing model and market conventions.
Key ideas
- Black–Scholes delta requires a volatility input, commonly supplied as implied volatility.
- Implied volatility is the value that reconciles a model price with the observed option quote.
- When no quote is supplied, numerical root finding can solve for implied volatility.
- Volatility quotes vary by strike and expiry, forming an implied-volatility surface.
Tags
Full text
# How to calculate sigma in order to calculate delta?
# How to calculate sigma in order to calculate delta?
I am calculating option delta using py_vollib.black_scholes
```
from py_vollib.black_scholes.greeks.analytical import delta
if option_type == 'call':
delta_calc = delta('c', S, K, t, r, sigma)
elif option_type == 'put':
delta_calc = delta('p', S, K, t, r, sigma)
```
How do I calculate the sigma? Do I need the closing process of the underlying for one year?
Please keep in my mind, I am a python programmer and I do not understand the math behind it.
## Answer by KaiSqDist (score 1)
https://quant.stackexchange.com/a/78386
Do you have the price of the option and the other variables? The sigma is commonly known as implied volatility, which is another way of quoting the option price. Usually it is listed alongside the price of the option and its other variables.
If it is not listed, you can also solve for sigma numerically by using a root finding approach such as SOLVER in Excel or Newton's method coded out (or by using packages).
## Answer by solid (score 1)
https://quant.stackexchange.com/a/78394
You need, for each point of the implied volatility surface, the relative quote from option market:
```
from py_vollib_vectorized import vectorized_implied_volatility
quotes: np.ndarray = np.array([5.0,10.])
s0: float = 100
tau: np.ndarray = np.array([0.1,0.2])
strike: np.ndarray = np.array([105.0,110.])
risk_free_rate: float = 0.02
# $_implied_volatilities_for_puts
vectorized_implied_volatility(quotes, s0, strike, tau, risk_free_rate, 'p').values
```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.