The Greeks and Option Risk Management › Gamma: The Curvature of Delta
Quantitative FinanceAll chapters The Greeks and Option Risk Management › Gamma: The Curvature of DeltaOne section · Sections in this chapter3 / 14 ↓
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
Gamma () measures the rate of change of delta with respect to changes in the underlying price. While delta tells you your current exposure to price movements, gamma tells you how that exposure will change as the price moves. This second-order sensitivity captures the essence of what makes options non-linear instruments, fundamentally different from stocks or forward contracts.
Mathematically, gamma is the second partial derivative of the option price with respect to the spot price:
where:
- : option gamma
- : option value
- : underlying asset price
- : option delta
The equivalence between these two expressions follows directly from the definition: since delta is the first derivative of price with respect to spot, gamma is the derivative of delta, which is the second derivative of price. Gamma tells you how quickly your hedge (delta) will become stale as the underlying moves. A high gamma position requires frequent rebalancing to maintain delta neutrality.
Gamma for European Options
Using the Black-Scholes framework, we derive gamma by differentiating delta with respect to the spot price . Recall that for a call, . To find gamma, we differentiate this expression with respect to the stock price:
The chain rule tells us to multiply the derivative of the outer function (the cumulative normal, whose derivative is the standard normal PDF) by the derivative of the inner function ( with respect to ). The derivative comes from recognizing that contains , and the derivative of the natural logarithm of is .
This leads to the standard formula:
where:
- : option gamma
- : standard normal probability density function
- : underlying price
- : strike price
- : risk-free interest rate
- : volatility
- : time to expiration
- : standardized moneyness factor
Calls and puts have identical gamma because of put-call parity. Since is linear in , the second derivatives are equal. This makes intuitive sense: both calls and puts exhibit the same curvature in their payoff profiles; they simply face different directions.
Understanding Gamma
Gamma captures the convexity or curvature in an option's value as a function of the underlying price. This curvature is what makes options fundamentally different from linear instruments like forwards. A forward contract has constant delta (equal to one) and zero gamma: its value moves one-for-one with the underlying at all prices. An option, by contrast, has variable delta that changes with the stock price, and this variability is measured by gamma.
Positive gamma means you benefit from large moves in either direction. If you're long an option (long gamma), your delta increases as the stock rises and decreases as the stock falls. You automatically become more long when prices rise and more short when prices fall. This convexity is what you pay for through theta (time decay).
Consider a delta-neutral portfolio. If gamma is positive, a large move in either direction benefits the position; the portfolio gains value whether the stock jumps up or crashes down. This is why being "long gamma" is attractive but costly: you pay time decay for the privilege of this favorable convexity. Conversely, being "short gamma" means you earn time decay but face unlimited downside if the market makes a large move. If you sell options, you are typically short gamma and must actively manage this exposure.
Gamma Behavior
We implement the gamma calculation below. Note that the formula is the same for calls and puts, so we do not need an option type argument:
import numpy as np
from scipy.stats import norm
def black_scholes_gamma(S, K, T, r, sigma):
"""Calculate Black-Scholes gamma for European options."""
if T <= 0:
return 0.0
d1 = (np.log(S / K) + (r + 0.5 * sigma**2) * T) / (sigma * np.sqrt(T))
return norm.pdf(d1) / (S * sigma * np.sqrt(T))# Parameters
K = 100
r = 0.05
sigma = 0.20
# Create meshgrid
S_range = np.linspace(80, 120, 50)
T_range = np.linspace(0.02, 1.0, 50)
S_mesh, T_mesh = np.meshgrid(S_range, T_range)
# Calculate gamma
gamma_mesh = np.zeros_like(S_mesh)
for i in range(len(T_range)):
for j in range(len(S_range)):
gamma_mesh[i, j] = black_scholes_gamma(
S_mesh[i, j], K, T_mesh[i, j], r, sigma
)
Gamma has distinctive characteristics that become clear when we examine the three-dimensional surface:
-
Maximum at-the-money: Gamma is highest when the option is at-the-money because that's where delta is most sensitive to price changes. At the money, the option is on the knife's edge between having value and being worthless, so small price movements can dramatically change its prospects.
-
Increases near expiration: As time passes, gamma for ATM options increases dramatically. This creates "gamma risk" for short positions near expiration. With little time remaining, even small moves in the underlying can cause large changes in delta, requiring urgent and potentially costly rebalancing.
-
Approaches zero OTM and ITM: Deep out-of-the-money and deep in-the-money options have low gamma because their deltas are already near their extreme values (0 or ±1) and don't change much. An option that is certain to be exercised or certain to expire worthless has stable delta.