Black-Scholes Option Pricing Calculator
Theoretical European call & put prices from the Black-Scholes-Merton (1973) model, with the full Greeks table, d1/d2 steps, an implied-volatility solver, and payoff diagrams. 100% client-side — your numbers never leave your browser.
Educational estimate — not professional financial advice. The model price is not the market price: real quotes reflect the volatility smile, dividends, and the American-exercise feature, which this model does not capture. Options trading involves substantial risk.
Formulas (Black-Scholes-Merton, 1973)
For a European option on a non-dividend-paying asset, with spot price S, strike K, time to expiry T in years, risk-free rate r, and volatility σ:
d1 = [ln(S/K) + (r + σ²/2)·T] / (σ·√T), d2 = d1 − σ·√T
- Call:
C = S·N(d1) − K·e^(−rT)·N(d2)
- Put:
P = K·e^(−rT)·N(−d2) − S·N(−d1), where N(x) is the standard normal CDF
Normal CDF method & accuracy
N(x) is evaluated with the Abramowitz & Stegun 7.1.26 approximation (1964), whose documented absolute error bound is |ε| ≤ 7.5×10⁻⁸. An independent check against a high-precision integration reference over the grid x ∈ [−8, 8] measured a maximum deviation of 7.45×10⁻⁸, inside the documented bound and far below any displayed digit. Pricing vectors were spot-checked against the canonical Hull textbook examples (S=42/K=40 → C=4.76/P=0.81; the Ch.17 hedge example S=49/K=50 → C=2.40, Δ=0.522, Γ=0.066, Θ=−4.305) before the test suite was frozen.
Edge cases (fail-closed, never NaN)
- T = 0 (expired): price = intrinsic value only; Greeks marked not-applicable.
- σ = 0: deterministic underlying; price = discounted intrinsic value; Greeks not-applicable.
- Implied-vol solver: Newton-Raphson with a vega < 10⁻¹² guard (the deep ITM/OTM precision case) and a bisection fallback; prices violating arbitrage bounds return an explanation, not a fabricated number.
Assumptions & limitations
- European exercise only — American options (early exercise) are worth at least as much; American puts can be worth substantially more.
- No dividends — exactly as in the original 1973 paper. Stocks paying dividends make these call prices slightly high.
- Constant volatility — the model ignores the volatility smile/skew: the market implies different volatilities at different strikes. This is the main reason model prices differ from market prices.
- Lognormal returns, frictionless markets — no transaction costs, continuous trading, constant risk-free rate.
What is the Black-Scholes model?
The Black-Scholes model is a mathematical formula for pricing European-style call and put options. Published by Fischer Black and Myron Scholes in 1973 (with contributions from Robert Merton), it estimates a theoretical option price from five inputs: the underlying asset's current price, the strike price, time to expiry, the risk-free interest rate, and volatility. This calculator implements the classic no-dividend version.
What inputs does the Black-Scholes calculator need?
Five inputs: the spot price of the underlying asset (S), the option's strike price (K), time to expiry in years (T), the annual risk-free interest rate (r), and the annualized volatility of the underlying (sigma). With these five numbers the model produces a theoretical call price, a theoretical put price, and the option Greeks.
How is the call price calculated in the Black-Scholes model?
The call price is C = S*N(d1) - K*e^(-rT)*N(d2), where d1 = [ln(S/K) + (r + sigma^2/2)*T] / (sigma*sqrt(T)), d2 = d1 - sigma*sqrt(T), and N(x) is the standard normal cumulative distribution function. The put price is P = K*e^(-rT)*N(-d2) - S*N(-d1). This calculator shows d1, d2, and every intermediate step.
What are option Greeks and why do they matter?
The Greeks measure how sensitive an option's price is to changes in market conditions: Delta (price move per $1 move in the underlying), Gamma (how fast Delta itself changes), Theta (value lost per day from time decay), Vega (price change per 1-point change in volatility), and Rho (price change per 1-point change in interest rates). Traders use them to hedge and manage risk. This calculator computes all five for both calls and puts.
How accurate is the normal CDF used in this calculator?
The standard normal cumulative distribution N(x) is computed with the Abramowitz-Stegun 7.1.26 approximation, whose documented absolute error is at most 7.5e-8. An independent check against a high-precision erf-based reference confirmed a maximum deviation of about 7e-8 across the full input range, far below anything that affects displayed prices.
What is implied volatility and how does the solver work?
Implied volatility is the volatility value that makes the Black-Scholes price exactly equal to the option's observed market price. It is the market's consensus forecast of future volatility. The solver here uses a guarded Newton-Raphson method that falls back to bisection if vega is near zero, and it refuses to invent a number when the market price violates arbitrage bounds, showing an explanation instead.
Does the Black-Scholes model give the actual market price of an option?
No. The model gives a theoretical price under idealized assumptions. Real market prices often differ because of the volatility smile (options with different strikes imply different volatilities), discrete dividends, transaction costs, and the American exercise feature of many listed options. Treat the output as an educational estimate, not a market quote or trading advice.
Why are vega values so small for deep in-the-money or out-of-the-money options?
Vega peaks for at-the-money options and decays toward zero as the option moves deep in- or out-of-the-money, because the price there is dominated by intrinsic value (or near-zero time value) and barely responds to volatility changes. The implied-volatility solver detects near-zero vega and switches from Newton steps to bisection so it never divides by almost zero.
What happens if I enter T = 0 or volatility = 0?
Both are degenerate cases handled without errors. At expiry (T = 0) the option is worth its intrinsic value only: max(S-K, 0) for a call. With zero volatility the asset price is deterministic, so the value equals the discounted intrinsic value. The calculator shows the price but marks the Greeks as not applicable with an explanation, rather than displaying meaningless numbers.
What is put-call parity and why is it shown?
Put-call parity is the identity C - P = S - K*e^(-rT), which must hold for European options on non-dividend-paying assets. This calculator displays both sides as a self-consistency check: if the model's prices are correct, the two sides agree to within floating-point rounding (about 1e-15).
Is Black-Scholes valid for American options?
Strictly, no: the formula prices European options that can only be exercised at expiry. American options, which can be exercised early, are worth at least as much, and significantly more for deep in-the-money puts. This calculator implements the European version, so its put prices may understate American put values.
Does the model account for dividends?
The version implemented here assumes the underlying pays no dividends, exactly as in the original 1973 Black-Scholes paper. A standard extension (the Merton adjustment) discounts the spot price by e^(-qT) for a continuous dividend yield q. If your stock pays dividends, the call value here will be slightly overstated.
Why is theta shown as a per-year number?
Theta is the partial derivative of the option price with respect to time, so its natural unit is price per year. Many traders quote theta per day, which is simply the annual figure divided by 365. This calculator displays theta per year and notes the per-day conversion so you can use whichever convention you prefer.
Is this calculator financial advice?
No. It is an educational estimate produced by a mathematical model, not professional financial advice. Options trading involves substantial risk and can result in losses exceeding the premium paid. Consult a licensed financial advisor before making investment decisions.
How do I convert days to years for time to expiry?
Divide calendar days by 365 (for example, 30 days is about 0.0822 years). The input field on this calculator accepts years directly, and a small helper converts days to years for you. Market practice often uses trading days (252 per year) instead; the difference is small but noted in the methodology section.