Forward and Futures Pricing and Hedging › Hedging with Futures

Michael BrenndoerferNovember 14, 202510 min read
Quantitative FinanceAll chapters
Part 3 of 15Forwards, Futures, and Options
Chapter 15Forward and Futures Pricing and Hedging › Hedging with Futures
Reading section 6 of 11 · Hedging with Futures · 10 minSection 6 of 11 · 10 min

Book contents

Section 6 of 11 · 10 min read

Forward and Futures Pricing and Hedging › Hedging with FuturesOne section · Sections in this chapter6 / 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 primary economic function of futures markets is risk transfer. Producers, consumers, and investors use futures to hedge unwanted price exposure, converting uncertain future prices into known amounts. Speculators on the other side of these trades earn risk premiums for bearing the uncertainty that hedgers wish to avoid. This exchange benefits both parties: hedgers achieve certainty needed for planning and investment, while speculators are compensated for providing insurance.

Perfect Hedges

A perfect hedge eliminates all price risk. If you own an asset and sell a futures contract on the same asset with the same delivery date, your position is fully hedged. The mathematics are straightforward:

Hedged position value=ST+(F0−ST)=F0\text{Hedged position value} = S_T + (F_0 - S_T) = F_0

where:

  • STS_T: spot price at expiration
  • F0F_0: initial futures price

No matter what happens to the spot price, your total value equals the initial futures price. The spot gain or loss is exactly offset by the futures loss or gain. If the spot price rises by $10, you gain $10 on your asset but lose $10 on your short futures. If the spot price falls by $10, you lose $10 on your asset but gain $10 on your short futures. The net effect is always zero variation around the locked-in forward price.

In[15]:
Code
import numpy as np

# Perfect hedge demonstration
spot_range = np.linspace(80, 120, 100)
initial_futures = 100

# Unhedged position: just hold the asset
unhedged_value = spot_range

# Hedged position: asset + short futures
futures_pnl = initial_futures - spot_range  # Short futures P&L
hedged_value = spot_range + futures_pnl  # Total = S_T + (F_0 - S_T) = F_0
Out[16]:
Visualization
Line chart showing flat hedged value versus diagonal unhedged value across spot prices.
Payoff profiles for hedged versus unhedged positions at expiration. The unhedged position (blue) varies one-to-one with the spot price, while the hedged position (green) remains flat at the initial futures price of 100 dollars, showing how the short futures contract perfectly offsets spot price risk.

In practice, perfect hedges are rare. The futures contract available may not match your exposure exactly, leading to basis risk. Effective hedging therefore requires accounting for this risk.

Understanding Basis and Basis Risk

Basis

Basis is the difference between the spot price of the asset being hedged and the futures price of the contract used to hedge: Basis=S−F\text{Basis} = S - F. At futures expiration, basis converges to zero (or to the delivery cost for physical commodities).

Basis risk arises from three sources, each introducing uncertainty into what should be a certain hedge:

  • Asset mismatch: The asset you're hedging differs from the futures underlying (e.g., hedging jet fuel with crude oil futures). Different assets may have different supply and demand dynamics.
  • Maturity mismatch: Your exposure date doesn't match the futures expiration. You may need to roll positions or accept settlement at a different time than your underlying exposure.
  • Grade or location mismatch: For commodities, the deliverable grade or location differs from your actual commodity. West Texas Intermediate oil delivered at Cushing, Oklahoma differs from Brent crude in Rotterdam.

When basis exists and changes unpredictably, the hedged position's profit becomes:

Profit=(ST−S0)−h(FT−F0)=(ST−hFT)−(S0−hF0)\text{Profit} = (S_T - S_0) - h(F_T - F_0) = (S_T - hF_T) - (S_0 - hF_0)

where:

  • hh: hedge ratio (number of futures per unit of spot exposure)
  • ST,S0S_T, S_0: spot price at expiration and initiation
  • FT,F0F_T, F_0: futures price at expiration and initiation

If the basis changes unexpectedly, hedging effectiveness suffers. You have transformed outright price risk into basis risk, which is typically smaller but not zero.

Out[18]:
Visualization
Line chart showing simulated spot price (blue) and futures price (red) paths converging over 90 days to the same value at expiration.
Convergence of spot and futures prices. The futures price (red) tracks the spot price (blue) and meets it at expiration.
Line chart with shaded area showing the basis (futures minus spot) decaying from a positive value toward zero at day 90, with an annotation marking the convergence point.
Basis decay over time. The basis (purple) fluctuates due to noise but ultimately decays to zero at maturity (day 90), as enforced by arbitrage.

Minimum Variance Hedge Ratio

When the asset and futures don't move in perfect lockstep, we need to determine the optimal number of futures contracts to minimize risk. The minimum variance hedge ratio balances the tradeoff between unhedged exposure and hedge imperfection. Too few contracts leave residual exposure to the underlying asset; too many contracts introduce exposure to futures movements that don't correspond to the spot position.

Let ΔS\Delta S be the change in spot value and ΔF\Delta F be the change in futures price. The hedged portfolio change is:

ΔP=ΔS−h⋅ΔF\Delta P = \Delta S - h \cdot \Delta F

where:

  • ΔP\Delta P: change in the value of the hedged portfolio
  • ΔS\Delta S: change in spot price
  • ΔF\Delta F: change in futures price
  • hh: hedge ratio

Our objective is to choose hh to minimize the variance of ΔP\Delta P, thereby minimizing the uncertainty in our hedged position. To find the optimal hedge ratio, we first express the variance of the portfolio change using standard variance properties:

Var(ΔP)=Var(ΔS−hΔF)=Var(ΔS)+h2Var(ΔF)−2hCov(ΔS,ΔF)\begin{aligned} \text{Var}(\Delta P) &= \text{Var}(\Delta S - h \Delta F) \\ &= \text{Var}(\Delta S) + h^2 \text{Var}(\Delta F) - 2h \text{Cov}(\Delta S, \Delta F) \end{aligned}

This variance expression is quadratic in hh, opening upward (since the coefficient on h2h^2 is positive). It therefore has a unique minimum that we can find using calculus. To minimize variance, we take the derivative with respect to hh and set it to zero:

dVar(ΔP)dh=−2Cov(ΔS,ΔF)+2hVar(ΔF)=0\frac{d\text{Var}(\Delta P)}{dh} = -2\text{Cov}(\Delta S, \Delta F) + 2h\text{Var}(\Delta F) = 0

Solving for hh:

h∗=Cov(ΔS,ΔF)Var(ΔF)=ρσSσFh^* = \frac{\text{Cov}(\Delta S, \Delta F)}{\text{Var}(\Delta F)} = \rho \frac{\sigma_S}{\sigma_F}

where:

  • h∗h^*: minimum variance hedge ratio
  • ρ\rho: correlation between spot and futures price changes
  • σS\sigma_S: spot price volatility
  • σF\sigma_F: futures price volatility

This elegant result has a natural interpretation. The optimal hedge ratio is simply the regression coefficient from regressing spot changes on futures changes. It tells us how much the spot position moves, on average, for each unit move in the futures. This result is known as the optimal hedge ratio. We can calculate this ratio given the correlation and volatilities:

In[19]:
Code
import numpy as np
from scipy import stats

# Simulate spot and futures returns with imperfect correlation
np.random.seed(123)
n_days = 252

# Assume spot and futures are correlated but not perfectly
correlation = 0.92
sigma_spot = 0.02
sigma_futures = 0.018

# Generate correlated returns
cov_matrix = np.array(
    [
        [sigma_spot**2, correlation * sigma_spot * sigma_futures],
        [correlation * sigma_spot * sigma_futures, sigma_futures**2],
    ]
)
mean = [0, 0]
returns = np.random.multivariate_normal(mean, cov_matrix, n_days)
spot_returns = returns[:, 0]
futures_returns = returns[:, 1]

# Calculate minimum variance hedge ratio
hedge_ratio = correlation * sigma_spot / sigma_futures

# Verify via regression
slope, intercept, r_value, p_value, std_err = stats.linregress(
    futures_returns, spot_returns
)
Out[20]:
Console
Minimum Variance Hedge Ratio Calculation
=============================================
Spot volatility (σ_S):    0.020
Futures volatility (σ_F): 0.018
Correlation (ρ):          0.920

Theoretical h* = ρ × σ_S/σ_F = 1.0222
Regression estimate:       1.0323
Regression R²:             0.8481
Out[21]:
Visualization
Parabolic curve showing portfolio variance minimized at the optimal hedge ratio of approximately 1.02.
Portfolio variance as a function of the hedge ratio. The parabolic curve illustrates that risk is minimized at the optimal hedge ratio h* (red line), rather than the naive 1:1 ratio (grey line). Deviating from this optimal ratio in either direction increases portfolio volatility.

A hedge ratio greater than 1 means we need more futures notional than spot exposure because the futures is less volatile than the spot asset. Each dollar of spot movement requires more than a dollar of futures position to offset it. A hedge ratio less than 1 means the opposite: the futures is more volatile than the spot, so less notional is needed. Understanding why the ratio takes a particular value helps in assessing whether a hedging strategy makes economic sense.

Number of Contracts

To calculate the actual number of futures contracts needed, we must translate the hedge ratio into contract quantities:

N=h∗×Value of positionValue of one futures contractN = h^* \times \frac{\text{Value of position}}{\text{Value of one futures contract}}

where:

  • NN: number of contracts
  • h∗h^*: optimal hedge ratio

For equity index futures:

N=h∗×VF×mN = h^* \times \frac{V}{F \times m}

where:

  • NN: number of contracts
  • h∗h^*: optimal hedge ratio (or beta)
  • VV: portfolio value
  • FF: futures price
  • mm: contract multiplier