GRK The Greeks & Sensitivities
Delta, gamma, vega, theta — your portfolio's vital signs
Learning Objectives
- •Understand each Greek and what it measures
- •Learn how to use Greeks for risk management
- •Apply sensitivity analysis concepts to non-options portfolios
Explain Like I'm 5
The Greeks tell you how your option reacts when things change. Delta = option moves when stock moves $1. Gamma = how delta itself changes (the second derivative). Vega = sensitivity to volatility. Theta = time decay eating your position alive. Knowing your Greeks is knowing your risks — they are the vital signs of any portfolio.
Think of It This Way
Greeks are like the dashboard gauges in a car. Delta = speedometer (direction and speed). Gamma = how fast you're accelerating. Theta = fuel gauge (time running out). Vega = weather sensitivity (how road conditions affect your speed). You wouldn't drive without a dashboard. Don't trade without knowing your Greeks.
1The Five Greeks
2Delta Deep Dive
3The Gamma-Theta Tradeoff
4Greeks Beyond Options
Call Option Delta vs Underlying Price (K=100)
Key Formulas
Black-Scholes Delta (Call)
Delta ranges from 0 (deep OTM) to 1 (deep ITM). ATM call delta is approximately 0.5. Delta also roughly represents the probability of finishing ITM.
Gamma
Gamma is highest for ATM options near expiration. High gamma means delta changes rapidly, requiring frequent rebalancing of hedges.
Hands-On Code
Computing Greeks
import numpy as np
from scipy.stats import norm
def compute_greeks(S, K, T, r, sigma, option_type='call'):
"""Compute all Greeks for a European option."""
d1 = (np.log(S/K) + (r + sigma**2/2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
Nd1 = norm.cdf(d1)
Nd2 = norm.cdf(d2)
nd1 = norm.pdf(d1)
if option_type == 'call':
delta = Nd1
theta = (-(S*nd1*sigma)/(2*np.sqrt(T)) - r*K*np.exp(-r*T)*Nd2) / 252
else:
delta = Nd1 - 1
theta = (-(S*nd1*sigma)/(2*np.sqrt(T)) + r*K*np.exp(-r*T)*(1-Nd2)) / 252
gamma = nd1 / (S * sigma * np.sqrt(T))
vega = S * nd1 * np.sqrt(T) / 100 # per 1% vol
rho = K * T * np.exp(-r*T) * (Nd2 if option_type=='call' else Nd2-1) / 100
print(f"=== GREEKS ({option_type.upper()}) ===")
print(f" Delta: {delta:+.4f}")
print(f" Gamma: {gamma:+.4f}")
print(f" Vega: {vega:+.4f}")
print(f" Theta: {theta:+.4f}")
print(f" Rho: {rho:+.4f}")
return {'delta': delta, 'gamma': gamma, 'vega': vega, 'theta': theta, 'rho': rho}Computes all five Greeks for a European option using Black-Scholes closed-form expressions, providing a complete risk sensitivity profile.
Knowledge Check
Q1.You're short an ATM call with delta = -0.5. The stock moves up $2. Approximately how much do you lose?
Assignment
Compute all Greeks for a range of options. Plot delta vs stock price, gamma vs moneyness, and theta vs time to expiration. Which Greeks dominate near expiration vs far from expiration?