Skip to content

Economic Modelling · Black-Scholes derivative-pricing model

Black-Scholes Extensions: Dividends, Currencies and Other Underlyings

Updated 11 October 2026 · Fact-checked

To extend Black-Scholes, replace the share price S0 by S0e^(−qT) when the underlying pays a continuous yield q. For currency options, q is the foreign interest rate. For options on futures, use the futures price with q = r. For known cash dividends, subtract their present value from S0. Then use the usual d1 and d2.

Understand Extensions: Dividends, Currencies and Other Underlyings

The basic Black-Scholes formula assumes the underlying share pays no income. Real underlyings do pay income. A share pays dividends. A foreign currency earns foreign interest. A property pays rent. A fund loses money through charges. If you ignore this income, you overprice calls and underprice puts.

The key idea is simple. The holder of an option does not receive the income. The holder of the underlying does. So the option holder is worse off than the share holder by the income paid out before expiry. Over time T, a share with continuous dividend yield q grows at rate r − q in the risk-neutral world, not r. Buying one unit of the underlying today is the same as buying e^(−qT) units and reinvesting the income.

This gives one rule for most extensions. Replace S0 by S0e^(−qT), keep the strike discounted at the risk-free rate r, and use a drift of r − q inside d1. The same formula covers many cases. For a dividend-paying share, q is the dividend yield. For a currency (Garman-Kohlhagen), q is the foreign risk-free rate rf and r is the domestic rate. For an option on a futures contract (Black 76), q = r because a futures price has zero drift under the risk-neutral measure. A futures contract needs no initial outlay, so its price behaves like an asset with drift r − q = 0, which means q = r.

If dividends are known cash amounts rather than a yield, a different adjustment is used. Subtract the present value of the dividends paid during the option's life from S0. Treat the result as the share price in the ordinary formula. This is the standard approach for European options.

The same logic applies to embedded guarantees in insurance contracts. A maturity guarantee on a unit-linked fund behaves like a put option on the fund. Charges taken from the fund act like a dividend yield, because the policyholder's fund does not receive that part of the return. So the guarantee cost can be found with the yield-adjusted formula.

Key rules to remember

Forward price with continuous yield
F0 = S0 e^((r − q)T)
q is the continuous dividend yield, or the foreign rate for a currency. With q = 0 this is the usual forward price.
Call price with continuous yield q
C = S0 e^(−qT) N(d1) − K e^(−rT) N(d2)
European call. Only S0 is discounted at q. The strike is discounted at r.
Put price with continuous yield q
P = K e^(−rT) N(−d2) − S0 e^(−qT) N(−d1)
European put. Use the same d1 and d2 as the call.
d1 and d2
d1 = [ln(S0/K) + (r − q + σ²/2)T] ÷ (σ√T); d2 = d1 − σ√T
Drift is r − q, not r. The volatility σ is that of the underlying asset price.
Garman-Kohlhagen (currency options)
Replace q by rf. S0 = domestic price of one unit of foreign currency; r = domestic rate; rf = foreign rate
Call on foreign currency: S0 e^(−rf T) N(d1) − K e^(−r T) N(d2). Check the quote direction first.
Black 76 (options on futures or forwards)
C = e^(−rT) [F N(d1) − K N(d2)]; P = e^(−rT) [K N(−d2) − F N(−d1)]; d1 = [ln(F/K) + σ²T/2] ÷ (σ√T)
F is the futures or forward price for the same date. This is the yield formula with q = r and S0 replaced by F.
Known cash dividends
S0* = S0 − Σ Di e^(−r ti)
Sum over dividends paid before expiry. Use S0* in place of S0. Applies to European options.
Put-call parity with yield
C − P = S0 e^(−qT) − K e^(−rT)
Use it to get the put from the call, or to check your answer. For futures: C − P = e^(−rT)(F − K).

How to solve Extensions: Dividends, Currencies and Other Underlyings questions

Use this method for any question that asks you to price an option on a dividend-paying share, a currency, a futures contract or a guarantee.

  1. 1Identify the underlying and what income it pays: a dividend yield, a foreign interest rate, known cash dividends, or fund charges.
  2. 2Write down S0, K, r, σ and T. Check units: T in years, rates continuously compounded. Convert annual effective rates with δ = ln(1 + i) if needed.
  3. 3Set the yield q. For a currency, q = rf. For a futures option, use F in place of S0 and set q = r. For cash dividends, replace S0 by S0 minus the present value of the dividends.
  4. 4Calculate d1 using the drift r − q, then d2 = d1 − σ√T.
  5. 5Look up N(d1) and N(d2) from the Actuarial Tables. Use N(−d) = 1 − N(d) for puts.
  6. 6Substitute into the call or put formula. Discount S0 by q and the strike by r.
  7. 7Check with put-call parity, or check that the answer is sensible: non-negative, and a call not above S0e^(−qT).
  8. 8State the answer with units, such as rupees per dollar or total cost for the contract size, and state your assumptions.

Quickest way: Adjusted-spot shortcut

When to use it: Use it when the question gives you a standard Black-Scholes layout and only adds a yield, a foreign rate or a futures price. It saves time and avoids rewriting new formulas.

  1. Compute S* = S0 e^(−qT) first. For futures, compute S* = F e^(−rT).
  2. Compute d1 = [ln(S0/K) + (r − q + σ²/2)T] ÷ (σ√T). For the futures case, use ln(F/K) with a drift of σ²/2.
  3. Use C = S* N(d1) − K e^(−rT) N(d2).
  4. Get the put from parity: P = C − S* + K e^(−rT).
  5. If the option is at the forward (K = S0 e^((r − q)T)), then ln(S0/K) + (r − q)T = 0, so d1 = σ√T / 2. This often saves effort.

Common mistakes in Extensions: Dividends, Currencies and Other Underlyings

  • Using r instead of r − q inside d1

    Students remember the standard d1 and only change the price in the final formula.

    Fix: Treat the change as one rule: the drift is r − q everywhere in d1, and S0 is multiplied by e^(−qT) in the price.

  • Discounting the strike at q or the share at r

    Both rates appear in the formula and students mix them up.

    Fix: The share carries the yield: S0 e^(−qT). The strike carries the risk-free rate: K e^(−rT). For currencies, the foreign rate goes with the foreign currency amount.

  • Swapping the domestic and foreign rates in currency options

    The quote may be rupees per dollar, but the question may give the dollar as the domestic currency.

    Fix: Fix the domestic currency as the one in which the price and strike are quoted. Its rate is r. The other currency's rate is rf. If the quote is inverted, a call on one currency is a put on the other.

  • Subtracting dividends without discounting them, or including dividends paid after expiry

    Students subtract the face value of dividends.

    Fix: Subtract only dividends paid before expiry, each discounted at r from its payment date to time 0. Then use S0* in the formula.

  • Using the spot price in Black 76 and forgetting the e^(−rT) outside

    Students mix up the futures formula with the share formula.

    Fix: Use F in d1 and in the payoff terms, and multiply the whole bracket by e^(−rT). The d1 has no r in it.

  • Applying parity without the yield adjustment

    The no-dividend version, C − P = S0 − K e^(−rT), is the one most students memorise.

    Fix: Use C − P = S0 e^(−qT) − K e^(−rT). It should hold for any consistent pair of prices.

Worked examples

Example 1

A European call and put are written on a share with S0 = ₹100 and strike K = ₹100. The share pays a continuous dividend yield of 3% a year. The risk-free rate is 5% a year, volatility is 20% a year, and the time to expiry is 1 year. Find the call price and, using put-call parity, the put price. Use N(0.2) = 0.5793 and N(0) = 0.5. All rates are continuously compounded.

Show the solution
  1. Here S0 = 100, K = 100, r = 0.05, q = 0.03, σ = 0.2, T = 1.
  2. d1 = [ln(100/100) + (0.05 − 0.03 + 0.5 × 0.04) × 1] ÷ (0.2 × 1) = 0.04 ÷ 0.2 = 0.2.
  3. d2 = 0.2 − 0.2 = 0.
  4. S0 e^(−qT) = 100 e^(−0.03) = 100 × 0.970446 = 97.0446.
  5. K e^(−rT) = 100 e^(−0.05) = 100 × 0.951229 = 95.1229.
  6. C = 97.0446 × 0.5793 − 95.1229 × 0.5 = 56.2179 − 47.5615 = 8.6564.
  7. Parity: P = C − S0 e^(−qT) + K e^(−rT) = 8.6564 − 97.0446 + 95.1229 = 6.7347.

Answer: Call ≈ ₹8.66 and put ≈ ₹6.73.

Example 2

A bank prices a 1-year European call on US dollars. The spot rate is ₹84 per $1 and the strike is ₹84 per $1. The Indian risk-free rate is 7% a year and the US rate is 3% a year, both continuously compounded. Exchange-rate volatility is 10% a year. Use N(0.45) = 0.6736 and N(0.35) = 0.6368. Find the price per dollar, and the price for a contract on $10,000.

Show the solution
  1. Domestic currency is the rupee, so r = 0.07. The foreign rate is rf = 0.03, which plays the role of q. S0 = 84, K = 84, σ = 0.1, T = 1.
  2. d1 = [ln(84/84) + (0.07 − 0.03 + 0.5 × 0.01) × 1] ÷ (0.1 × 1) = 0.045 ÷ 0.1 = 0.45.
  3. d2 = 0.45 − 0.1 = 0.35.
  4. S0 e^(−rf T) = 84 e^(−0.03) = 84 × 0.970446 = 81.5175.
  5. K e^(−rT) = 84 e^(−0.07) = 84 × 0.932394 = 78.3211.
  6. Call per dollar = 81.5175 × 0.6736 − 78.3211 × 0.6368 = 54.9102 − 49.8749 = 5.0353, which rounds to ₹5.04.
  7. Contract on $10,000: 5.0353 × 10,000 ≈ ₹50,350.

Answer: About ₹5.04 per dollar, or roughly ₹50,350 for a $10,000 contract. Small differences come from rounding the normal values.

Exam tips

  • Write the general formula first, then say which q applies: dividend yield, rf, or r for futures. Examiners give marks for this setup even if the arithmetic slips.
  • Check which currency is the domestic one before you start. Say so explicitly in your answer, because this is a common place to lose marks.
  • In the computer-based paper, code the yield version once, with q as an argument. Setting q = 0 should reproduce the standard Black-Scholes price, which is a quick test.
  • For embedded guarantees, state the assumption that charges act as a yield, say which option the guarantee resembles (usually a put), and note that the model assumes constant volatility and rates.
  • Keep four decimal places in N(d) lookups and use put-call parity to cross-check. A put or call outside its no-arbitrage bounds signals an error.

Practice questions from Black-Scholes derivative-pricing model

Extensions: Dividends, Currencies and Other Underlyings in other exams

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

Extensions: Dividends, Currencies and Other Underlyings: frequently asked questions

What is the Black-Scholes formula with a continuous dividend yield?

The call price is C = S0 e^(−qT) N(d1) − K e^(−rT) N(d2). Here d1 = [ln(S0/K) + (r − q + σ²/2)T] ÷ (σ√T) and d2 = d1 − σ√T. The put price is K e^(−rT) N(−d2) − S0 e^(−qT) N(−d1).

How is the Garman-Kohlhagen formula related to Black-Scholes?

It is the same formula with the foreign risk-free rate used as the dividend yield. Holding foreign currency earns foreign interest, just as holding a share earns dividends. The price and strike are in domestic currency units per unit of foreign currency.

When do I use Black 76 instead of the standard formula?

Use Black 76 when the underlying is a futures or forward price. It uses F in place of S0, d1 = [ln(F/K) + σ²T/2] ÷ (σ√T), and discounts the whole bracket by e^(−rT). It is the yield formula with q = r.

How do I handle a share that pays known cash dividends?

Subtract the present value of the dividends paid before expiry from S0 and use the result as the share price in the standard formula. Discount each dividend at the risk-free rate from its payment date. This approach suits European options.

How does this link to guarantees in insurance contracts?

A maturity guarantee on a unit-linked fund is like a put option on the fund. Charges deducted from the fund reduce its growth and act like a dividend yield. You can price the guarantee with the yield-adjusted formula, subject to the model's assumptions.