Skip to content

FRM Exam Part I · The Black-Scholes-Merton Model

Black-Scholes-Merton Formula for European Options Explained

Updated 11 October 2026 · Fact-checked

The Black-Scholes-Merton formula prices European options on a non-dividend-paying stock. Call = S₀N(d1) − Ke^(−rT)N(d2). Put = Ke^(−rT)N(−d2) − S₀N(−d1). Compute d1, then d2 = d1 − σ√T, read N(d) from the normal table, and plug in. Put-call parity lets you get the put from the call.

Understand Black-Scholes-Merton Formula for European Options

The Black-Scholes-Merton (BSM) model gives a closed-form price for a European option, one that can only be exercised at expiry. The version you need for FRM Part I assumes the stock pays no dividends. The stock price is lognormal, volatility and the risk-free rate are constant, and there are no frictions.

Think of the call price as two pieces. S₀N(d1) is the present value of the stock you receive if the option is exercised, weighted by how likely and how deep in the money that is. Ke^(−rT)N(d2) is the present value of the strike you pay, weighted by the probability of paying it.

The key interpretation: N(d2) is the risk-neutral probability that the option finishes in the money (S_T > K). For a put, N(−d2) is the risk-neutral probability that S_T < K. It is not the real-world probability, because the drift is r, not the stock's expected return. N(d1) is the call's delta, so it is also the number of shares in the replicating portfolio.

d1 and d2 are standardized quantities. d1 = [ln(S₀/K) + (r + σ²/2)T] ÷ (σ√T). d2 = d1 − σ√T. The term ln(S₀/K) measures moneyness. The term (r + σ²/2)T is the drift, and σ√T is the standard deviation of the log price over the option's life. Rates and volatilities are annual and continuously compounded, and T is in years.

Put-call parity links the two prices for European options with the same strike and expiry on a non-dividend stock: C + Ke^(−rT) = P + S₀. If you have one price, you can find the other. BSM prices obey it exactly.

Key formulas to remember

European call price
c = S₀ N(d1) − K e^(−rT) N(d2)
Non-dividend-paying stock. r is the continuously compounded risk-free rate.
European put price
p = K e^(−rT) N(−d2) − S₀ N(−d1)
Uses N(−d) = 1 − N(d).
d1
d1 = [ln(S₀ ÷ K) + (r + σ²÷2) T] ÷ (σ √T)
Use σ as a decimal (0.20, not 20).
d2
d2 = d1 − σ √T
Equals [ln(S₀ ÷ K) + (r − σ²÷2) T] ÷ (σ √T).
Put-call parity
c + K e^(−rT) = p + S₀
European options, same strike and expiry, no dividends.
Interpretation of N(d)
N(d2) = risk-neutral P(S_T > K); N(d1) = call delta
Put delta is N(d1) − 1, and N(−d2) = risk-neutral P(S_T < K).

How to solve Black-Scholes-Merton Formula for European Options questions

Use the same routine for any BSM pricing question. Most errors come from units and signs, so write each input down first.

  1. 1List S₀, K, r, σ and T. Convert percentages to decimals and T to years (6 months = 0.5).
  2. 2Compute σ√T and ln(S₀ ÷ K). Remember ln of 1 is 0.
  3. 3Compute d1 = [ln(S₀ ÷ K) + (r + σ²÷2)T] ÷ (σ√T).
  4. 4Compute d2 = d1 − σ√T.
  5. 5Find N(d1) and N(d2) from the normal table. For negative d use N(−d) = 1 − N(d).
  6. 6Compute the discounted strike K e^(−rT).
  7. 7Call: S₀N(d1) − Ke^(−rT)N(d2). Put: Ke^(−rT)N(−d2) − S₀N(−d1), or use put-call parity.
  8. 8Sense-check: a call must be at least S₀ − Ke^(−rT) and below S₀. A put must be below Ke^(−rT).

Quickest way: Price the call, then use parity for the put

When to use it: When the question asks for a put or compares call and put prices, or gives only one option price.

  1. Compute d1 and d2 once and get the call price.
  2. Get the put from p = c − S₀ + Ke^(−rT). This avoids two more table lookups.
  3. If the question gives c or p directly, skip BSM and use parity alone.
  4. If an option is at the money forward or deep in or out of the money, check the answer against the bounds to eliminate wrong choices quickly.

Common mistakes in Black-Scholes-Merton Formula for European Options

  • Treating N(d2) as the real-world probability of finishing in the money.

    The word probability suggests the actual chance of the stock rising.

    Fix: N(d2) is a risk-neutral probability, using drift r. Say risk-neutral whenever you interpret it.

  • Forgetting to discount the strike, using K instead of Ke^(−rT).

    Students focus on d1 and d2 and rush the final line.

    Fix: Always compute Ke^(−rT) as its own step before combining terms.

  • Plugging in volatility as 20 instead of 0.20, or T in months.

    Inputs are quoted as percentages and months in the question.

    Fix: Convert everything to decimals and years before starting.

  • Using N(d) instead of N(−d) in the put formula, or getting N of a negative number wrong.

    The call and put formulas look alike, and tables show positive values only.

    Fix: Put uses N(−d2) and N(−d1). For negative x, N(x) = 1 − N(−x).

  • Computing d2 as d1 + σ√T or using σ instead of σ√T.

    Sign and time-scaling slips under pressure.

    Fix: d2 is always smaller than d1 by σ√T. Calculate σ√T once and reuse it.

  • Applying the plain BSM or parity formula when the stock pays dividends.

    Students forget the formulas in this topic assume no dividends.

    Fix: Check the question for dividends. If present, the stock price is first reduced by the present value of dividends, as covered in the dividend topic.

Worked examples

Example 1

A non-dividend-paying stock trades at 100. A European call has strike 100, expiry 1 year, r = 5% (continuously compounded) and σ = 20%. Using N(0.35) = 0.6368 and N(0.15) = 0.5596, what are the call price and the put price? Options for the call: A) 8.92 B) 10.45 C) 12.30 D) 14.10.

Show the solution
  1. σ√T = 0.20 × 1 = 0.20. ln(100 ÷ 100) = 0.
  2. d1 = (0 + (0.05 + 0.02) × 1) ÷ 0.20 = 0.07 ÷ 0.20 = 0.35.
  3. d2 = 0.35 − 0.20 = 0.15.
  4. Ke^(−rT) = 100 × e^(−0.05) = 100 × 0.951229 = 95.1229.
  5. Call = 100 × 0.6368 − 95.1229 × 0.5596 = 63.68 − 53.23 = 10.45.
  6. Put by parity: p = c − S₀ + Ke^(−rT) = 10.45 − 100 + 95.12 = 5.57.

Answer: Call ≈ 10.45 (option B). Put ≈ 5.57.

Example 2

A European call on a non-dividend-paying stock has price 3.20. The stock is 50, the strike is 52, expiry is 6 months and r = 4% continuously compounded. What is the price of the European put with the same strike and expiry?

Show the solution
  1. Use put-call parity: p = c − S₀ + Ke^(−rT).
  2. Discount the strike: e^(−0.04 × 0.5) = e^(−0.02) = 0.980199.
  3. Ke^(−rT) = 52 × 0.980199 = 50.9703.
  4. p = 3.20 − 50 + 50.9703 = 4.1703.

Answer: The put price is about 4.17.

Exam tips

  • Expect numerical questions where you must compute d1, d2 and the price, often with N(d) values supplied. Practise the arithmetic until it is automatic.
  • Interpretation questions are common: N(d2) is the risk-neutral probability of exercise, N(d1) is the call delta, and N(−d2) applies to the put.
  • Use put-call parity to cross-check answers or to find a missing option price. It can save you two table lookups.
  • Check the sanity bounds. A European call on a non-dividend stock cannot be below S₀ − Ke^(−rT), and cannot exceed S₀.
  • Watch for traps in the inputs: volatility in percent, time in months, or a discretely quoted rate that you need to treat as continuous.

Practice questions from The Black-Scholes-Merton Model

Black-Scholes-Merton Formula for European Options 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 Formula for European Options: frequently asked questions

What is the difference between d1 and d2 in Black-Scholes?

d2 equals d1 minus σ√T. d1 feeds the stock term and is linked to the call delta, N(d1). d2 feeds the strike term, and N(d2) is the risk-neutral probability the call finishes in the money.

What does N(d2) mean in the Black-Scholes formula?

N(d2) is the risk-neutral probability that the stock price at expiry is above the strike. It uses the risk-free rate as the drift, so it is not the real-world probability. For a put, the matching probability is N(−d2).

How do I find the European put price from the call price?

Use put-call parity: p = c − S₀ + Ke^(−rT). This holds for European options with the same strike and expiry on a non-dividend-paying stock. You do not need to recompute d1 and d2.

Does Black-Scholes work for American options?

The formulas here price European options. For a non-dividend-paying stock, early exercise of an American call is never optimal, so its value equals the European call. An American put can be worth more than the European put.