Skip to content

CFA Level I Exam · Pricing and Valuation of Options

Black-Scholes-Merton Model: N(d1), N(d2) and Extensions

Updated 7 October 2026 · Fact-checked

The Black-Scholes-Merton model prices European options assuming lognormal prices and constant volatility. A call equals S0 × N(d1) minus the discounted strike times N(d2). N(d1) is the call delta and N(d2) is the risk-neutral probability of finishing in the money. For dividends, currencies or futures, adjust the underlying and keep the same structure.

Understand Black-Scholes-Merton Model

The binomial model prices an option by building a tree of up and down moves. The Black-Scholes-Merton (BSM) model is what that tree becomes when you take the steps so small that price moves continuously. It gives a closed-form price for a European option.

The model assumes the underlying price is lognormally distributed, so continuously compounded returns are normal. Volatility and the risk-free rate are constant and known. There are no taxes or transaction costs, trading is continuous, short selling is allowed, and there is no arbitrage. The underlying pays no cash flows unless you adjust for them. The options are European, so there is no early exercise.

Read the call formula as two pieces. S0 × N(d1) is the present value of what you receive if the call finishes in the money, and N(d1) is also the call's delta. X e^(−rT) × N(d2) is the present value of the strike you pay. N(d2) is the risk-neutral probability that the call finishes in the money. The call price is the first piece minus the second.

The model extends easily. For an underlying with a continuous dividend yield, or a currency with a foreign interest rate, replace S0 with a version reduced for the income. For discrete dividends, subtract their present value from S0. For options on futures, use the Black model, which works with the futures price F0 and has no drift term in d1.

Limitations matter for the exam. Real volatility is not constant, which produces the volatility smile. Prices can jump. American early exercise is not captured. Interest rates move. The model is a benchmark, not a perfect description of markets.

Key formulas to remember

BSM call price
c = S0 × N(d1) − X × e^(−rT) × N(d2)
European call, no income on the underlying. r is the continuously compounded risk-free rate.
BSM put price
p = X × e^(−rT) × [1 − N(d2)] − S0 × [1 − N(d1)]
Equivalent to using put-call parity: p = c − S0 + X × e^(−rT).
d1
d1 = [ln(S0 ÷ X) + (r + σ²÷2) × T] ÷ (σ × √T)
σ is annualized volatility and T is in years.
d2
d2 = d1 − σ × √T
d2 is always lower than d1, so N(d2) is lower than N(d1).
Delta
Call delta = N(d1); put delta = N(d1) − 1
Without dividends. Call delta is between 0 and 1, put delta between −1 and 0.
Continuous dividend yield (δ)
Replace S0 with S0 × e^(−δT); d1 = [ln(S0 ÷ X) + (r − δ + σ²÷2) × T] ÷ (σ × √T)
Call delta becomes e^(−δT) × N(d1). Discrete dividends: use S0 minus the PV of the dividends.
Currency options
Replace S0 with S0 × e^(−rf × T); d1 = [ln(S0 ÷ X) + (r − rf + σ²÷2) × T] ÷ (σ × √T)
S0 is the spot rate in domestic currency per unit of foreign currency. rf is the foreign risk-free rate and acts like a dividend yield.
Black model, call on a futures
c = e^(−rT) × [F0 × N(d1) − X × N(d2)]; d1 = [ln(F0 ÷ X) + (σ²÷2) × T] ÷ (σ × √T); d2 = d1 − σ × √T
Put: p = e^(−rT) × [X × (1 − N(d2)) − F0 × (1 − N(d1))]. Discounting applies to the whole bracket.

How to solve Black-Scholes-Merton Model questions

Use this order for any BSM question. It keeps the dividend, currency and futures versions from getting mixed up.

  1. 1Identify the underlying: a plain stock, a stock with dividends, a currency, or a futures contract. This decides which formula version you use.
  2. 2List the inputs: S0 (or F0), X, r, T in years, σ, and any dividend yield or foreign rate. Check that all rates are annual and continuously compounded.
  3. 3Adjust the underlying if needed: use S0 minus the PV of discrete dividends, S0 × e^(−δT) for a dividend yield, or S0 × e^(−rf × T) for a currency. For futures, use F0 directly.
  4. 4Compute d1, then d2 = d1 − σ × √T. Round to two decimals if the question gives a normal table.
  5. 5Read N(d1) and N(d2) from the values given. For a put, use N(−d1) and N(−d2), which equal 1 − N(d1) and 1 − N(d2).
  6. 6Plug into the call or put formula. If the question asks for the put and you have the call, use put-call parity.
  7. 7Sanity check: the call must be at least max(0, adjusted S0 − X × e^(−rT)) and must not exceed S0. Only then pick your answer.

Quickest way: Shortcut: use meanings before arithmetic

When to use it: Use this when the question asks about delta, probability, direction of change, or the effect of an assumption, and no full price is needed.

  1. If the question gives N(d1), that is the call delta. The put delta is N(d1) − 1.
  2. If it asks for the probability a call expires in the money under risk-neutral pricing, that is N(d2). For a put it is 1 − N(d2).
  3. If you need a put from a call, use p = c − S0 + X × e^(−rT) instead of recomputing with N values.
  4. For a futures option, skip the drift: d1 = [ln(F0 ÷ X) + σ²T ÷ 2] ÷ (σ√T). If F0 = X, d1 = σ√T ÷ 2 and d2 = −σ√T ÷ 2.
  5. On the TI BA II Plus or HP 12C, compute ln with the LN key and e^(−rT) with e^x. Example: 0.05 [+/−] [2nd][e^x] gives 0.9512 on the BA II Plus; on the HP 12C key 0.05 [CHS] [g][e^x]. Neither calculator has a normal CDF, so the N values come from the question.
  6. Eliminate options that break bounds, such as a call worth more than the underlying, or a negative price.

Common mistakes in Black-Scholes-Merton Model

  • Treating N(d1) and N(d2) as the same thing, or swapping them in the formula.

    Both look like probabilities and both appear in the call formula.

    Fix: N(d1) multiplies the stock (S0) and is the delta. N(d2) multiplies the discounted strike and is the risk-neutral probability of finishing in the money.

  • Forgetting to discount the strike, or discounting it with the wrong rate or time.

    Candidates copy the formula quickly and drop the e^(−rT) term.

    Fix: Always write X × e^(−rT) as a separate number first. T is in years, so 6 months is 0.5.

  • Using σ² instead of σ in the denominator, or forgetting the square root of T.

    σ appears as σ² in the numerator, which causes confusion in the denominator.

    Fix: The denominator is σ × √T. Only the numerator has σ²÷2. Compute σ√T first and reuse it for d2.

  • Ignoring dividends or the foreign rate when the question mentions them.

    The base formula is memorised without its extensions.

    Fix: Check the stem for dividends, a foreign rate or a futures price. Reduce S0 for income, or switch to the Black model for futures.

  • Discounting only the strike in the Black model, instead of the whole bracket.

    It is confused with the standard BSM formula.

    Fix: In the Black model, e^(−rT) multiplies the whole expression [F0 × N(d1) − X × N(d2)].

  • Using the put formula with N(d1) and N(d2) instead of 1 − N(d1) and 1 − N(d2).

    Candidates reuse the call numbers.

    Fix: Use the put formula as written, or find the call and apply put-call parity.

Worked examples

Example 1

A European call has S0 = 100, X = 100, r = 5% (continuously compounded), T = 1 year, σ = 20%. The stock pays no dividends. Given N(0.35) = 0.6368 and N(0.15) = 0.5596, and e^(−0.05) = 0.9512, the call price is closest to: A) 7.64 B) 10.45 C) 13.21

Show the solution
  1. d1 = [ln(100 ÷ 100) + (0.05 + 0.20² ÷ 2) × 1] ÷ (0.20 × 1) = (0 + 0.07) ÷ 0.20 = 0.35.
  2. d2 = 0.35 − 0.20 = 0.15.
  3. S0 × N(d1) = 100 × 0.6368 = 63.68.
  4. X × e^(−rT) × N(d2) = 100 × 0.9512 × 0.5596 = 53.23.
  5. c = 63.68 − 53.23 = 10.45.

Answer: B) 10.45. As a check, the call is above its lower bound of 100 − 95.12 = 4.88 and below the stock price of 100.

Example 2

A call option on a futures contract has F0 = 80, X = 80, r = 4%, T = 0.5 years, σ = 30%. Use the Black model. Round d1 to 0.11 and d2 to −0.11, and use N(0.11) = 0.5438 and N(−0.11) = 0.4562. With e^(−0.02) = 0.9802, the call price is closest to: A) 4.12 B) 6.87 C) 9.80

Show the solution
  1. σ × √T = 0.30 × 0.7071 = 0.2121.
  2. d1 = [ln(80 ÷ 80) + (0.30² ÷ 2) × 0.5] ÷ 0.2121 = (0 + 0.045 × 0.5) ÷ 0.2121 = 0.0225 ÷ 0.2121 = 0.1061, which rounds to 0.11.
  3. d2 = d1 − σ√T = 0.1061 − 0.2121 = −0.1060, which rounds to −0.11.
  4. N(d1) = N(0.11) = 0.5438 and N(d2) = N(−0.11) = 0.4562. The difference is 0.5438 − 0.4562 = 0.0876.
  5. c = 0.9802 × [80 × 0.5438 − 80 × 0.4562] = 0.9802 × 80 × 0.0876 = 0.9802 × 7.008 = 6.87.

Answer: B) 6.87. The whole bracket is discounted once by e^(−rT).

Exam tips

  • Know the meaning of N(d1) (call delta) and N(d2) (risk-neutral probability of finishing in the money). Conceptual questions on these are common and need no calculation.
  • Read the stem for the underlying type. A dividend yield, foreign rate or futures price changes the formula, and wrong-option traps are built from the unadjusted version.
  • The question will usually supply N(d) values, because the BA II Plus and HP 12C cannot compute them. Spend your calculator time on ln, √ and e^x.
  • Memorise the assumptions and limitations as short lists. Typical traps are constant volatility, European exercise and lognormal prices.
  • With three options and no penalty, use bounds and put-call parity to eliminate two choices quickly, and always answer.

Practice questions from Pricing and Valuation of Options

Black-Scholes-Merton Model in other exams

The same ground in other exams, if you are preparing for more than one or want another angle on it.

Black-Scholes-Merton Model: frequently asked questions

What is the difference between N(d1) and N(d2)?

N(d1) is the delta of a call and weights the stock in the formula. N(d2) is the risk-neutral probability that the call finishes in the money and weights the discounted strike. N(d1) is always higher than N(d2) because d1 is higher than d2.

What are the main assumptions of the Black-Scholes-Merton model?

Prices are lognormal, volatility and the risk-free rate are constant, and options are European. Markets are frictionless with no taxes or transaction costs, trading is continuous, and there is no arbitrage. The underlying has no cash flows unless the formula is adjusted.

How do I adjust BSM for dividends or currencies?

For a continuous dividend yield, reduce S0 by e^(−δT) and subtract δ from r in d1. For a currency option, treat the foreign risk-free rate as the yield. For discrete dividends, subtract their present value from S0.

When do I use the Black model instead of BSM?

Use the Black model when the underlying is a futures or forward price. It uses F0 in place of S0, has no drift term in d1, and discounts the whole price expression by e^(−rT).