Implied Volatility Calculator: Black-Scholes IV Solver

Black-Scholes inverse solver

Implied Volatility Calculator

Find the annual volatility that makes a European call or put match its entered market price.

The model does not value early exercise.
Formatting only; no exchange-rate conversion is performed.
Current stock or underlying price.
Exercise price in the same currency.
Observed price per share, not the total contract premium.
Enter calendar days or years according to the next field.
Days are divided by 365 to obtain model years.
Continuously compounded rate; negative values are accepted.
Continuous yield. Enter 0 when the underlying pays no dividend.

The entered price must satisfy the European option’s discounted no-arbitrage bounds. The solver searches annual volatility from 0% through 1,000%.

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