← Back to Learn
III AdvancedWeek 22 • Lesson 64Duration: 55 min

CHRT Black-Scholes Model

The Nobel Prize equation that's technically wrong but runs the entire options market

Learning Objectives

  • Understand the Black-Scholes formula and its assumptions
  • Learn to price European options using Black-Scholes
  • Know WHY the model is wrong and what that means

Explain Like I'm 5

Black-Scholes is THE formula. Plug in stock price, strike, volatility, time, and interest rate — out pops the "fair" option price. It literally won the Nobel Prize. It's also wrong (assumes constant vol, normal returns, no jumps). But it's wrong in a way everyone understands, which makes it MORE useful than something complex that nobody can reason about.

Think of It This Way

Black-Scholes is like Newton's Laws of Motion. Technically "wrong" (Einstein showed us relativity), but enormously useful for everyday situations. You use Newton to build bridges, not general relativity. Similarly, you use Black-Scholes as a starting point and adjust for real-world messiness. The model is the map, not the territory.

1The Black-Scholes Formula

For a European call option:
C=SN(d1)KerTN(d2)C = S \cdot N(d_1) - K \cdot e^{-rT} \cdot N(d_2)
Where: - SS = current stock price - KK = strike price - rr = risk-free rate - TT = time to expiration - σ\sigma = volatility of the underlying - N()N(\cdot) = cumulative standard normal distribution
d1=ln(S/K)+(r+σ2/2)TσT,d2=d1σTd_1 = \frac{\ln(S/K) + (r + \sigma^2/2)T}{\sigma\sqrt{T}}, \quad d_2 = d_1 - \sigma\sqrt{T}
The key insight: the option price depends on FIVE inputs, but only ONE is unknown — volatility (σ\sigma). Everything else is observable. This is why implied volatility is so important — it's the only knob you can turn.

2Assumptions (All Violated in Practice)

This is arguably the most important part. Black-Scholes assumes: - Constant volatility — actually varies (smile/skew exists). This is the big one. - Log-normal returns — actually have fat tails. 20-sigma moves happen far more often than they "should." - Continuous trading — markets close at night, gaps happen. - No dividends — stocks pay dividends (fixable with adjustments). - No transaction costs — we literally just covered TCA. - Free short selling — short sale restrictions exist. - Constant risk-free rate — rates move around. Every assumption is wrong. And yet the model works well enough that the entire options market uses it as the reference language. When a trader says "vol is 20" they mean "the σ\sigma that makes Black-Scholes match the market price is 0.20." The model IS the common language of the options market.

3Why It Matters Even If You Trade Spot

Even if your system trades FOREX spot and never touches options, Black-Scholes matters because: Implied volatility: Computed FROM option prices USING Black-Scholes. Tells you the market's expectation of future volatility. Production systems often use VIX (derived from S&P options) as a fear gauge feature. Risk management: Delta-hedging and gamma risk concepts apply to ANY portfolio. Understanding how exposures change with price moves is universal. Quant career: If you want to work at a hedge fund or prop firm, you must understand BS. It's table stakes for interviews. The formula itself matters less than the FRAMEWORK: identify inputs, understand assumptions, know limitations, use it anyway because it's the best available reference.

4The Implied Volatility Game

Here's the real-world workflow: 1. You observe a call option trading at $7.50 in the market 2. You know SS, KK, TT, and rr (all observable) 3. You reverse-engineer Black-Scholes: "what σ\sigma makes BS output $7.50?" 4. That σ\sigma is the IMPLIED VOLATILITY This is one of the most important concepts in derivatives. Implied vol is: - The market's consensus forecast of future volatility - A measure of fear/uncertainty (high IV = scared market) - The "language" options traders speak When someone says "vol is cheap" they mean implied vol is below where they think realized vol will be. When they say "vol is rich" they mean the opposite. The entire options trading industry is fundamentally about arguing whether implied vol is correct or not.

Black-Scholes Call Price vs Underlying Price (K=100, sigma=20%, T=0.25)

Key Formulas

Black-Scholes Call Price

Price of a European call option. S_0 N(d_1) is the expected asset receipt. Ke^{-rT}N(d_2) is the expected cost of exercise. The difference is the option value.

Black-Scholes d1

d_1 measures how far the option is in/out of the money, adjusted for drift and volatility. Think of it as the z-score of the option's "moneyness."

Hands-On Code

Black-Scholes Option Pricing

python
import numpy as np
from scipy.stats import norm

def black_scholes(S, K, T, r, sigma, option_type='call'):
    """Black-Scholes European option pricing."""
    d1 = (np.log(S / K) + (r + sigma**2 / 2) * T) / (sigma * np.sqrt(T))
    d2 = d1 - sigma * np.sqrt(T)
    
    if option_type == 'call':
        price = S * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
    else:
        price = K * np.exp(-r * T) * norm.cdf(-d2) - S * norm.cdf(-d1)
    
    print(f"=== BLACK-SCHOLES PRICING ===")
    print(f"  S={S}, K={K}, T={T:.3f}, r={r:.3f}")
    print(f"  d1={d1:.4f}, d2={d2:.4f}")
    print(f"  {option_type.upper()} price: {price:.4f}")
    
    return price

def implied_vol(market_price, S, K, T, r, option_type='call', tol=1e-6):
    """Compute implied volatility using Newton's method."""
    sigma = 0.20  # initial guess
    for _ in range(100):
        price = black_scholes(S, K, T, r, sigma, option_type)
        d1 = (np.log(S / K) + (r + sigma**2 / 2) * T) / (sigma * np.sqrt(T))
        vega = S * norm.pdf(d1) * np.sqrt(T)
        
        diff = price - market_price
        if abs(diff) < tol:
            break
        sigma -= diff / vega  # Newton step
    
    print(f"  Implied Vol: {sigma:.2%}")
    return sigma

Implements the Black-Scholes formula for European options plus Newton's method for reverse-engineering implied volatility from market prices.

Knowledge Check

Q1.All Black-Scholes inputs are directly observable EXCEPT:

Assignment

Implement Black-Scholes and compute call/put prices for a range of strikes and maturities. Then compute implied volatility from market prices and plot the "volatility smile."