Black-Scholes Calculator — Option Price & Greeks
Price European calls and puts with Black-Scholes: delta, gamma, vega, theta, rho, put-call parity, forward, and a bisection implied-volatility solver.
Black–Scholes–Merton PDE:
V_t + 1/2 σ² S² V_SS + (r - q) S V_S - rV = 0
d1 = [ln(S/K) + (r - q + 1/2σ²)τ] / (σ√τ)
d2 = d1 - σ√τ
C = S e^{-qτ} N(d1) - K e^{-rτ} N(d2)
P = K e^{-rτ} N(-d2) - S e^{-qτ} N(-d1)
Δ_call = e^{-qτ}N(d1)
Γ = e^{-qτ}φ(d1)/(Sσ√τ)
Vega = S e^{-qτ}φ(d1)√τ
Θ_call = -S e^{-qτ}φ(d1)σ/(2√τ) - rK e^{-rτ}N(d2) + qS e^{-qτ}N(d1)
ρ_call = Kτe^{-rτ}N(d2)This calculator uses the Black–Scholes–Merton closed form with continuous dividend yield q and a bisection solver for implied volatility. The 3D surface plots option price across spot and volatility.
A clear path from inputs to results.
For options traders, finance students, and risk analysts who need closed-form European option prices and the sensitivities behind them. Enter spot, strike, maturity, rates, dividend yield, and volatility, and the calculator returns call and put values, the full Greek letter set, a put-call parity check, and an implied volatility solved from any market price. It tells you not just what an option is worth under the model, but which assumption is driving that worth.
How to use
- Choose Call or Put, then set the spot price and strike with their sliders.
- Set the maturity in years (0.01 to 10) and the risk-free rate and continuous dividend yield as annual decimals, for example 4.5% = 0.045.
- Set the annualized volatility; the price cards, d1/d2, forward, and discount factor update as you drag.
- Open the Greeks panel to read delta, gamma, vega, theta, and rho for the selected option type.
- Type an observed market price into the "Market price for IV" box to solve the implied volatility by bisection; leave it at zero and the solver inverts the model price as a self-check.
- Switch between the 2D and 3D views: price and Greeks versus spot, and the spot-by-volatility price surface; the parity gap in the sanity panel should stay near zero.
The formula
Reference: Black & Scholes (1973), "The Pricing of Options and Corporate Liabilities"; Merton (1973) extension to continuous dividend yields; Hull, Options, Futures, and Other Derivatives (closed-form Greeks and put-call parity).
Worked example
Standard textbook case: six-month call on a $42 stock
- Spot $42, strike $40, risk-free rate 10%, dividend yield 0, volatility 20%, maturity 0.5 years.
- 1
d1 = [ln(42/40) + (0.10 + 0.5 x 0.04) x 0.5] / (0.20 x sqrt(0.5)) = 0.7693 and d2 = 0.7693 - 0.1414 = 0.6278. The call is 42 x N(0.7693) - 40 x e^{-0.05} x N(0.6278) = 32.73 - 27.97 = 4.7594, matching the published value for this standard case (e.g. Hull, Options, Futures, and Other Derivatives). The put prices at 0.8086, and the Greeks come out at delta 0.7791, gamma 0.0500, vega 8.8134 per unit of volatility, theta -4.5591 per year, and rho 13.9820; the put-call parity gap is zero to machine precision.
Call 4.7594, put 0.8086, delta 0.7791, gamma 0.0500, vega 8.8134 (0.0881 per volatility point), theta -4.5591 per year, rho 13.9820; put-call parity gap approximately 1e-13.
Interpreting the result
The price is the model value of the European claim under continuous hedging; a market quote far from it usually means the market disagrees about volatility, not about the arithmetic. Delta is the hedge ratio, gamma how fast that hedge goes stale, vega the gain or loss per unit change in volatility, theta the time decay, and rho the rate sensitivity. The parity gap is an internal consistency check: for European options priced from the same inputs it should be zero to machine precision.
Assumptions & limitations
- European exercise only; early-exercise value in American options is not captured, so use a binomial or Longstaff-Schwartz model for those.
- Log-normal underlying with constant volatility and drift; no jumps, no stochastic volatility, and no implied-volatility skew.
- Constant risk-free rate and continuous proportional dividend yield; discrete cash dividends and a rate term structure are not modeled.
- Frictionless, continuously tradable markets with a single borrowing and lending rate.
- The implied-volatility bisection searches 0.0001% to 600% and reports out of bounds if the target price lies outside the achievable no-arbitrage band.
Frequently asked questions
What does delta tell me?
Delta is the sensitivity of the option price to a small move in the underlying, and it doubles as the hedge ratio: a delta of 0.78 means roughly 0.78 shares of the underlying offset one call. It also approximates the probability of finishing in the money under the model, though that is an interpretation rather than a definition. Delta drifts as spot moves, which is exactly what gamma measures.
How should I read theta?
Theta is the option value lost per year of calendar time with everything else fixed, so -4.56 means a long position bleeds about 4.56 of value per year if nothing moves. Decay is steepest for at-the-money options close to expiry, which is why short-dated ATM options are the classic instruments for theta sellers. It is a model quantity: realized decay also depends on realized volatility.
How is the implied volatility computed?
By bisection: a European option price is monotone in volatility between essentially zero and 600%, so the solver halves a bracket until the model price matches your target to 1e-10. If the target price is below the discounted intrinsic floor or above the 600%-volatility price, it reports out of bounds because no implied volatility exists there.
Why are gamma and vega the same for calls and puts?
Both call and put values are convex in the underlying, and both gain when uncertainty rises, so these second-order sensitivities match. In the closed form both reduce to e^{-qT} times a function of d1 alone, which is why the Greeks panel shows a single gamma and a single vega. Delta, theta, and rho differ between the two sides.
What is the parity gap card?
It is C - P - (S e^{-qT} - K e^{-rT}), the deviation from put-call parity. For European options valued from the same inputs it should be zero to floating-point precision, so anything visible signals an input or code issue. With real market data, persistent parity violations point to frictions or American early-exercise value rather than free money.
Can I price American options with this?
Not directly: the closed form covers European exercise only. For American contracts, use a companion Longstaff-Schwartz least-squares Monte Carlo engine, which adds the early-exercise premium on top of the European value. For a call on a non-dividend underlying the two coincide, since early exercise is never optimal in that case.
Methodology last reviewed 2026-10-06. Results are informational and not financial or engineering advice — see our disclaimer.