Loading
Learn the Black-Scholes-Merton option pricing model: continuous-time differential equation, closed-form formulas, key assumptions, and practical limitations.
The Black-Scholes model is a mathematical formula that calculates theoretical prices for European call and put options based on current stock price, strike price, time to expiration, risk-free interest rate, and volatility.
Fischer Black, Myron Scholes, and Robert Merton earned the 1997 Nobel Prize in Economics for this breakthrough.
import numpy as np
from scipy.stats import norm
def black_scholes_call(S, K, T, r, sigma):
d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
d2 = d1 - sigma * np.sqrt(T)
return S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
# Price a 1-year European Call option
call_price = black_scholes_call(S=100, K=100, T=1.0, r=0.05, sigma=0.20)
print(f"Call Option Price: ${call_price:.2f}")No, standard Black-Scholes only applies to European options that can only be exercised at expiry. American options require binomial trees or numerical PDE solvers.