Black-Scholes Formula and European Option Pricing › Extending to Dividend-Paying Stocks

Michael BrenndoerferNovember 28, 20255 min read
Quantitative FinanceAll chapters
Part 5 of 15Stochastic Calculus and Pricing Theory
Chapter 30Black-Scholes Formula and European Option Pricing › Extending to Dividend-Paying Stocks
Reading section 8 of 11 · Extending to Dividend-Paying Stocks · 5 minSection 8 of 11 · 5 min

Book contents

Section 8 of 11 · 5 min read

Black-Scholes Formula and European Option Pricing › Extending to Dividend-Paying StocksOne section · Sections in this chapter8 / 11 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

The basic Black-Scholes formula assumes the stock pays no dividends. For stocks that pay a continuous dividend yield qq, we can modify the formula by replacing SS with Se−qτSe^{-q\tau}. The intuition behind this adjustment is that dividend payments reduce the effective growth rate of the stock price. An investor who holds the stock receives dividends, but an investor who holds a call option does not. The option holder misses out on this cash flow, making the option less valuable.

The modified call pricing formula becomes:

C=Se−qτN(d1)−Ke−rτN(d2)C = Se^{-q\tau}N(d_1) - Ke^{-r\tau}N(d_2)

where:

  • CC: call option price
  • SS: stock price
  • qq: continuous dividend yield
  • τ\tau: time to expiration
  • N(⋅)N(\cdot): cumulative standard normal CDF
  • KK: strike price
  • rr: risk-free rate

The factor e−qτe^{-q\tau} is the continuous-yield carry adjustment. Under the pricing measure, the ex-dividend stock price grows on average at rate r−qr-q, while the stock's dividend-reinvested total gains have expected return rr. This is a multiplicative adjustment, not a subtraction of the nominal dollars of dividends paid over the option's life.

The parameters d1d_1 and d2d_2 are modified as follows:

d1=ln⁡(S/K)+(r−q+σ22)τστd_1 = \frac{\ln(S/K) + (r - q + \frac{\sigma^2}{2})\tau}{\sigma\sqrt{\tau}}

where:

  • SS: stock price
  • KK: strike price
  • rr: risk-free rate
  • qq: dividend yield
  • σ\sigma: volatility
  • τ\tau: time to expiration

The key change is that r−qr - q replaces rr in the drift term. The effective growth rate of the stock under the risk-neutral measure is now the risk-free rate minus the dividend yield. This makes sense: dividends represent cash flowing out of the stock, reducing its expected appreciation rate.

d2=d1−στd_2 = d_1 - \sigma\sqrt{\tau}

where:

  • d1d_1: standardized moneyness term
  • σ\sigma: volatility
  • τ\tau: time to expiration

The relationship between d1d_1 and d2d_2 remains unchanged; they still differ by exactly στ\sigma\sqrt{\tau}.

The dividend yield reduces the call value and increases the put value. Intuitively, dividends represent cash flows that benefit stockholders but not call option holders (who don't receive dividends until they exercise). Put holders, conversely, benefit from dividends because dividends reduce the stock price, making it more likely that the put will finish in-the-money.

In[27]:
Code
def black_scholes_dividend(S, K, T, r, sigma, q, option_type="call"):
    """
    Scalar European pricing with continuous dividend yield q.

    Requires finite real inputs with S,K,sigma>0 and T>=0; r and q may
    have either sign. option_type must be call or put. T=0 gives the
    expiry payoff. Zero volatility is explicitly excluded. This educational
    implementation assumes numerically usable intermediates.
    """
    S, K, T, r, sigma, q = validate_bs_inputs(S, K, T, r, sigma, option_type, q)
    if T == 0:
        if option_type == "call":
            return max(S - K, 0)
        else:
            return max(K - S, 0)

    sqrt_T = np.sqrt(T)
    d1 = (np.log(S / K) + (r - q + 0.5 * sigma**2) * T) / (sigma * sqrt_T)
    d2 = d1 - sigma * sqrt_T

    if option_type == "call":
        price = S * np.exp(-q * T) * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
    else:
        price = K * np.exp(-r * T) * norm.cdf(-d2) - S * np.exp(-q * T) * norm.cdf(-d1)

    return price


# Compare prices with and without dividend
q = 0.02  # 2% dividend yield
call_no_div = black_scholes_call(S, K, T, r, sigma)
call_with_div = black_scholes_dividend(S, K, T, r, sigma, q, "call")
put_no_div = black_scholes_put(S, K, T, r, sigma)
put_with_div = black_scholes_dividend(S, K, T, r, sigma, q, "put")
Out[28]:
Console
Effect of Dividend Yield on Option Prices
==================================================
Dividend yield: 2.0%
--------------------------------------------------
Option          No Dividend     With Dividend  
Call            $4.5817         $4.1367        
Put             $6.9892         $7.5393        
--------------------------------------------------
Call reduction due to dividend: $0.4450
Put increase due to dividend: $0.5501

The output shows that the dividend yield reduces the call price and increases the put price. This occurs because the dividend drops the expected stock price at expiration, making the call less likely to finish in-the-money and the put more likely.

Out[29]:
Visualization
Line chart showing call and put option prices versus strike price from 80 to 120. Solid lines represent no-dividend prices and dashed lines show prices with a 2% dividend yield. The dashed call curve sits below the solid call curve, while the dashed put curve sits above the solid put curve.
Effect of dividend yield on option prices across different strikes. Calls decrease in value with dividends (dashed versus solid call curve), while puts increase (dashed versus solid put curve). The effect is most pronounced for in-the-money calls.

Key Parameters

The key parameters for the Black-Scholes model with dividends are:

  • SS: Current stock price.
  • KK: Strike price.
  • TT: Time to expiration.
  • rr: Risk-free interest rate.
  • σ\sigma: Volatility.
  • qq: Continuous dividend yield. Represents cash flows paid to shareholders that option holders do not receive. Higher dividends decrease call values and increase put values.