Black-Scholes inverse solver
Implied Volatility Calculator
Find the annual volatility that makes a European call or put match its entered market price.
Implied volatility result
| Measure | Value | Interpretation |
|---|---|---|
| Market option price | Observed price supplied to the solver | |
| Model years | Calendar days divided by 365 when days are selected | |
| Iterations | Bisection steps used within the 0%–1,000% interval |
Implied volatility formula and numerical method
Find σ such that: Black-Scholes price(S, K, T, r, q, σ) = market option price
d1 = [ln(S ÷ K) + (r − q + σ² ÷ 2)T] ÷ (σ√T)
d2 = d1 − σ√T
Call = S·e−qT·N(d1) − K·e−rT·N(d2)
Put = K·e−rT·N(−d2) − S·e−qT·N(−d1)
There is no elementary closed-form formula for σ. This tool brackets the solution and uses bisection, which is slower than a pure Newton step but remains stable when vega is small. S is spot, K is strike, T is time in years, r is the continuous risk-free rate, q is the continuous dividend yield, σ is annual volatility and N is the standard normal cumulative distribution.
Verified examples
At-the-money one-year call
With S = 100, K = 100, 365 days, a 5% continuous risk-free rate, no dividend and a call market price of 10.4506, the solver returns approximately 20.0001% annual implied volatility. The lower discounted bound is 4.8771 and the upper bound is 100.
At-the-money one-year put
With the same inputs and a put market price of 5.5735, the result is approximately 19.9999%. With a 2% continuous dividend yield and a call price of 9.2270, the result is approximately 20.0000%.
How to interpret implied volatility
Implied volatility is the annualized volatility assumption embedded in one option price under this model. It is not a prediction of direction and it is not the same as historical volatility. Different strikes and expirations often produce different implied volatilities, creating a volatility smile or skew.
Price bounds and supported limits
- For a European call, the discounted lower bound is max(S·e−qT − K·e−rT, 0) and the upper bound is S·e−qT.
- For a European put, the lower bound is max(K·e−rT − S·e−qT, 0) and the upper bound is K·e−rT.
- A price at the lower bound corresponds to the 0% volatility limit. A price at the upper bound has no finite implied volatility.
- The search interval is 0% to 1,000% annual volatility. A valid bounded price can still require volatility above this supported limit.
- Spot, strike and market price support six decimals; rates and time support four decimals; time is limited to 100 years.
Assumptions and limitations
- The model is for European options. American early exercise is not valued.
- Dividend yield is continuous; discrete dividend dates and amounts are not modeled.
- Rates, dividends and volatility are treated as constant through expiration.
- The result excludes bid-ask spreads, fees, taxes, liquidity, dividends not captured by q, and model error.
- Market prices can reflect volatility smiles, jumps and supply-demand effects that Black-Scholes does not model.
Risk note: Implied volatility can change quickly and the same underlying can have many different IV values across its option chain. This educational calculator is not investment advice.
Related calculators
Black-Scholes CalculatorOptions Profit CalculatorCovered Call CalculatorPosition Size Calculator