Model prices for European calls and puts, with d1, d2, the Greeks and a put-call parity check
Updated October 2026
With stock price S, strike K, years to expiration T, volatility σ, continuously compounded risk-free rate r and dividend yield q: d1 = [ln(S/K) + (r − q + σ²/2)T] ÷ (σ√T) and d2 = d1 − σ√T. The call is S·e−qT·N(d1) − K·e−rT·N(d2) and the put K·e−rT·N(−d2) − S·e−qT·N(−d1), where N is the standard normal cumulative distribution.
Worked example (Hull, Example 15.6): ln(42/40) = 0.04879; (0.10 + 0.02) × 0.5 = 0.06; σ√T = 0.2 × 0.7071 = 0.14142. So d1 = 0.10879 ÷ 0.14142 = 0.7693 and d2 = 0.6278. N(0.7693) = 0.7791 and N(0.6278) = 0.7349, and 40e−0.05 = 38.049. Call = 42 × 0.7791 − 38.049 × 0.7349 = 4.76; put = 38.049 × 0.2651 − 42 × 0.2209 = 0.81.
| Scenario | Inputs | Call | Put | Call delta |
|---|---|---|---|---|
| Textbook (Hull Example 15.6) | S 42, K 40, 6 months, 20% vol, 10% rate | 4.7594 | 0.8086 | 0.7791 |
| At-the-money 30-day | S 100, K 100, 30 days, 25% vol, 3.87% | 3.0158 | 2.6982 | 0.5320 |
| Deep in-the-money put | S 80, K 100, 3 months, 30% vol, 3.87% | 0.4642 | 19.5014 | 0.0888 |
| Volatility 20% | S 100, K 100, 3 months, 3.87% | 4.4685 | 3.5057 | 0.5583 |
| Volatility jumps to 40% | same option | 8.4179 | 7.4550 | 0.5590 |
The model assumes the stock price follows a lognormal random walk with constant volatility, a constant risk-free rate, no transaction costs, continuous trading, and exercise only at expiration (a European option). Real markets break each of these: volatility changes, prices jump, and most US stock options are American-style. The price is the model’s fair value given the inputs, not a prediction of the stock.
Volatility is the annualized standard deviation of the stock’s log returns. Historical volatility is measured from past prices; implied volatility is the value that makes the model match an option’s market price, and traders often quote options in implied volatility. Because the price depends heavily on it, doubling volatility from 20% to 40% roughly doubles an at-the-money option’s value (see the table). For the rate, use a Treasury yield matching the option’s life; the field shows the average rate on marketable Treasury bills reported for September 30, 2026 (3.87%).
Delta is the change in option price for a $1 move in the stock (N(d1) for a call without dividends; 0.7791 in the example). Gamma is how fast delta changes. Vega is the price change for one percentage point of volatility. Theta is time decay, shown per calendar day. Rho is the price change for one percentage point of interest rate.
For European options on the same stock, strike and expiration, C − P = S·e−qT − K·e−rT. In the example, 4.7594 − 0.8086 = 3.9508 = 42 − 38.0492. If market prices break parity by more than trading costs, one of the quotes is stale or the options are not comparable.
The dividend yield input handles a steady continuous dividend. Discrete dividends and American-style early exercise are outside the formula: an American put, and an American call on a stock paying a dividend before expiration, can be worth more than the Black-Scholes value. Binomial trees or other numerical methods handle those.
It does not give trading advice or predict prices, model taxes or commissions, or price American, barrier or other exotic options. Options can lose their full value; read the Options Disclosure Document your broker provides before trading.
Entering volatility as a decimal. Enter 20 for 20%.
Using trading days with a 365-day year. Use calendar days ÷ 365, or trading days ÷ 252, consistently.
Comparing with an American option’s market price without allowing for early exercise and dividends.
Treating model value as profit. The options profit calculator shows payoff at expiration for a price you paid.