The problem: pricing an option without predicting the stock
Most people think an option's price reflects what the market believes the stock will do. That is half right. The price reflects what the market believes about the volatility of the stock, not its direction. The Black-Scholes model makes that precise.
The model takes five inputs — stock price S, strike K, time to expiry T, risk-free rate r, and volatility σ — and returns a fair price for a European call or put. A sixth input, dividend yield q, extends it to the Merton version, which is what the Black-Scholes Calculator implements. Plug in the numbers, read off the price, and read off the five Greeks that tell you how that price will move as each input changes.
The point of the model is not to predict the stock. It is to translate a volatility assumption into a price. If you and a market maker agree on the volatility but disagree on the direction, you will still agree on the option's fair price — because under the model's assumptions, direction washes out through the risk-neutral measure. Only volatility, time, and the gap between S and K survive the math.
Fastest path
Open the Black-Scholes Calculator. Enter the stock price, strike, time to expiry (in years), risk-free rate (as a percent), and volatility (as a percent). Add a dividend yield if the underlying pays one. The tool shows the call price and put price side by side, the d1 and d2 values, and a table of all five Greeks (Delta, Gamma, Theta, Vega, Rho) for both. Switch to the Sensitivity tab for a 5×5 grid showing how the call and put prices move across a range of stock prices and volatilities. Switch to the Formula Steps tab for a six-step walkthrough that substitutes your numbers into the formula and verifies put-call parity. Click Sample to load a worked example, or Download CSV to export the sensitivity grid.
The five inputs, and the one you cannot observe
Four of the six inputs are directly observable. The stock price is on the screen. The strike and expiry are in the contract. The risk-free rate is published (the tool defaults to 5 percent; you should use the yield on a Treasury bill matching the option's maturity). The dividend yield, if any, is announced by the company.
Volatility is the odd one out. You cannot look it up. You have to estimate it, and the estimate is the single biggest driver of the price the model returns. There are two ways to get it:
- Historical volatility: the annualized standard deviation of the stock's log returns over some past window (commonly 30, 60, or 252 trading days). This assumes the future will look like the past.
- Implied volatility: back the volatility out of the market price of a traded option. This is what the market is actually pricing, and it is the number traders use. The Black-Scholes formula is monotonic in σ — for any market price, there is exactly one σ that produces it — so you can solve for it by bisection or Newton's method.
This tool does not solve for implied volatility. Volatility is always an input. If you want implied volatility, you have to estimate historical volatility yourself and plug it in, or use the sensitivity grid to find the σ that reproduces a market price.
d1 and d2: the two numbers under everything
The formula is built on two intermediate values, d1 and d2:
d1 = [ln(S/K) + (r - q + σ²/2) · T] / (σ · √T)
d2 = d1 - σ · √T
Read d1 as the risk-adjusted distance from the stock to the strike, measured in standard deviations. If S is far above K, d1 is large and positive. If S is far below K, d1 is large and negative. The σ·√T in the denominator is the denominator because σ·√T is the standard deviation of the stock's log return over time T — so d1 is a z-score.
d2 is d1 minus one standard deviation: σ·√T. The difference between d1 and d2 is exactly the volatility over the remaining life of the option. As expiry approaches, √T shrinks, d1 and d2 converge, and the option's fate becomes certain.
The cumulative normal distribution N(d2) has a clean interpretation: it is the risk-neutral probability that the option expires in the money. Not the real-world probability — the risk-neutral one, which is the probability under the measure where the stock is expected to grow at r rather than its actual expected return. The model does not need the real-world probability because, under its assumptions, the drift cancels out.
The formula, read left to right
The call price is two terms:
C = S · e^(-qT) · N(d1) − K · e^(-rT) · N(d2)
The first term is the present value of receiving the stock at expiry, weighted by N(d1). The e^(-qT) is the dividend discount — if the stock pays a continuous dividend yield q, holding it costs you that yield in forgone value, which reduces the forward price.
The second term is the present value of paying the strike at expiry, weighted by N(d2). The e^(-rT) is the risk-free discount — a dollar at expiry is worth e^(-rT) dollars today. N(d2) is the probability you actually have to pay it (the option expires in the money).
The put price is the mirror image:
P = K · e^(-rT) · N(−d2) − S · e^(-qT) · N(−d1)
You receive the strike (weighted by the probability the put expires in the money, N(−d2)) and give up the stock (weighted by N(−d1)). The tool shows both prices at once, so you can see how the put and call reflect the same volatility assumption from opposite sides of the strike.
The Greeks: five numbers, five different uses
The Greeks are partial derivatives of the option price with respect to each input. They tell you how the price moves.
Delta (∂C/∂S): how much the option price moves per $1 move in the stock. For a call, delta is between 0 and 1, and equals N(d1) · e^(-qT). A delta of 0.55 means the option price goes up about 55 cents when the stock goes up $1. Traders use delta as a hedge ratio — to be delta-neutral, you short delta shares per option. For a put, delta is negative.
Gamma (∂²C/∂S²): the rate at which delta changes per $1 move in S. Gamma is the convexity of the price curve. It is highest for at-the-money options near expiry, because that is where the price curve bends most sharply. Gamma is the same for calls and puts. Traders care about gamma because it tells you how unstable your delta hedge is — high gamma means you must rebalance constantly.
Theta (∂C/∂T): how much the option loses per day, all else equal. The tool divides the annualized theta by 365, so the number you see is the daily decay. A theta of -0.03 means the option loses 3 cents per day. Theta is the cost of holding an option — you are paying for time value, and time value decays. Long options have negative theta; short options have positive theta.
Vega (∂C/∂σ): how much the option moves per 1 percentage point change in volatility. The tool divides by 100, so the number you see is per 1 percent, not per unit. A vega of 0.12 means the option goes up 12 cents if volatility rises from 20% to 21%. Vega is highest for at-the-money options with long expiry. This is the Greek traders actually trade — in option markets, you are usually trading volatility, not direction.
Rho (∂C/∂r): how much the option moves per 1 percentage point change in the risk-free rate, divided by 100. For most short-dated options, rho is small and ignorable. For long-dated equity options (LEAPS, for instance), rho can matter.
The per-day and per-1% conventions are trading conventions, not the textbook annualized figures. If you compare the tool's output to a textbook that reports annualized theta or per-unit vega, they will differ by a factor of 365 or 100.
Put-call parity: the consistency check
The model has a built-in no-arbitrage constraint called put-call parity:
C − P = S · e^(-qT) − K · e^(-rT)
If you know the call, the put, the stock, and the strike, this identity must hold. If it doesn't, you can construct a riskless arbitrage: buy the cheap side, sell the expensive side, and pocket the difference. The market enforces this because arbitrageurs exist.
The tool verifies this in the Formula Steps tab — it computes both sides from your inputs and reports whether parity holds. For the model's internal output it will always hold (the formulas are algebraically consistent), but if you are comparing the model's price to a market price, parity is a useful sanity check on the inputs. If the market's call and put violate parity, your inputs are wrong, or the market is mispricing something.
Parity also means you can synthesize any option from the others. A synthetic call is a long put, a long stock, and a short bond paying the strike at expiry. This is why option pricing does not depend on the stock's expected return — any position can be replicated, and replication is what enforces the price.
Sensitivity: why a single price is a lie
The tool's Sensitivity tab shows a 5×5 grid: call and put prices across a range of stock prices (±5%, ±10% from current) and volatilities (0.5× to 1.5× the current σ). This matters because an option price is convex in both S and σ.
Convexity means the price reacts asymmetrically. For a call, a 10% drop in the stock reduces the price less than a 10% rise increases it (because the downside is bounded at zero). The further out of the money, the more convex the price — small changes in S produce large percentage moves in the option.
The grid is a small slice of the option's "surface" — the full price as a function of S, σ, and T. Real option desks look at the entire surface, because the Greeks themselves move as the inputs move (gamma is highest at the money, vega is highest for long expiry, theta is highest near expiry). A single point estimate of the price tells you nothing about how the position will behave if the market moves; the grid tells you at least a little.
What the model gets wrong
Black-Scholes is a 1973 model, and the assumptions it makes to derive the formula are all, to varying degrees, false.
- Constant volatility. The model assumes σ is a fixed number over the life of the option. Real volatility is stochastic — it clusters, mean-reverts, and spikes on news. The evidence that this assumption is wrong is the volatility smile: options at different strikes on the same underlying trade at different implied volatilities. If the model were right, every strike would share one σ. They don't.
- Lognormal returns. The model assumes stock returns are lognormally distributed — no fat tails, no jumps. Real returns have fat tails (large moves are more frequent than the model predicts) and occasional jumps (earnings, crashes). This is why out-of-the-money puts trade at higher implied volatilities than the model would suggest — the market is pricing tail risk the model cannot see.
- European exercise. The model prices options that can only be exercised at expiry. American options, which can be exercised any time before expiry, are worth more — especially puts (you can exercise early to capture the time value of the strike) and calls on dividend-paying stocks (exercise right before the ex-dividend date to capture the dividend).
- Continuous trading. The derivation assumes you can rebalance continuously at no cost. Real markets have gaps, transaction costs, and liquidity constraints. The replication argument that justifies the price breaks down when you cannot actually rebalance.
None of this makes the model useless. It makes the model a benchmark — a fair price under a specific set of assumptions, against which you can compare the market price to see what the market is implying. The gap between the model and the market is information. Traders do not use Black-Scholes to predict prices; they use it to quote prices in volatility units (implied vol is the common currency of option markets) and to compute Greeks for hedging.
Gotchas
- Volatility is an input, not an output. The model does not tell you what volatility is. You supply it, and the model returns the price that volatility implies. If you plug in historical volatility, you get a price consistent with the recent past — which may or may not match the market's expectation. If you want the market's expectation, you need implied volatility, which this tool does not solve for.
- The tool is European-only. Black-Scholes prices options exercisable only at expiry. American options (the majority of listed equity options in the US) are worth more because of the early-exercise premium. For American options, use a binomial tree or a model that handles early exercise. The gap is small for short-dated at-the-money calls without dividends, and large for deep in-the-money puts.
- Theta is per day, Vega and Rho are per 1 percent. The tool divides annualized theta by 365 and vega/rho by 100, following trading convention. Textbook formulas often report the raw annualized values. If you compare the tool's Greeks to a textbook and they differ by a factor of 365 or 100, that is why, not a bug.
- The dividend yield is continuous, not discrete. Real dividends are lump payments on specific dates. The continuous-yield approximation (q) works well for broad index options (where dividends are smoothed across many stocks) and less well for single stocks that pay one or two large dividends a year. For a single stock with a known ex-dividend date inside the option's life, you may get a better price by adjusting the stock price down by the dividend amount and using q=0.
- The volatility smile means the model is wrong, not the market. If the model prices a 90% put and a 110% call at the same implied volatility but the market trades them at different implied volatilities, the market is not mispriced — the model's constant-volatility assumption is. The smile is the market's correction for the fat tails and skew that Black-Scholes ignores.
Summary
- Black-Scholes prices a European option from five (or six, with dividends) inputs: stock price, strike, time, risk-free rate, volatility, and optional dividend yield. Four of those are observable. Volatility is the one you cannot read off anything — you estimate it from history or back it out of market prices. The price the model returns is extremely sensitive to which volatility you pick.
- The formula is built on d1 and d2, the risk-adjusted distance from the stock to the strike in standard deviations. N(d2) is the risk-neutral probability the option expires in the money. The call price is the present value of receiving the stock (weighted by N(d1)) minus the present value of paying the strike (weighted by N(d2)). The put is the mirror image.
- The five Greeks are partial derivatives: Delta (price vs stock), Gamma (delta vs stock, the convexity), Theta (price vs time, the daily decay), Vega (price vs volatility, per 1 percent), Rho (price vs rate, per 1 percent). The tool divides Theta by 365 and Vega/Rho by 100 to match trading conventions — this is why the numbers differ from annualized textbook figures.
- Put-call parity (C − P = S·e^(-qT) − K·e^(-rT)) must hold under no arbitrage. The tool verifies it. If a market's call and put violate parity, your inputs are wrong, or there is an arbitrage. Parity means any option can be synthesized from the others, which is why the model does not depend on the stock's expected return.
- The model's assumptions are all wrong to some degree: constant volatility (wrong — the smile proves it), lognormal returns (wrong — fat tails and jumps exist), European exercise (wrong — American options need a different model), continuous trading (wrong — markets gap and charge fees). The model is a benchmark, not a prediction. Use it to quote prices in volatility units and to compute hedge ratios, not to forecast.
- Use the Black-Scholes Calculator for pricing and the Greeks, the Options Profit Calculator for payoff at expiration, the Compound Interest Calculator for the continuous-discounting math behind e^(-rT), and the Dividend Calculator for the dividend-yield input that the Merton extension uses.