Valuation of Interest Rate Derivatives › Risk Measures for Interest Rate Derivatives
Quantitative FinanceAll chapters Valuation of Interest Rate Derivatives › Risk Measures for Interest Rate DerivativesOne section · Sections in this chapter6 / 13 ↓
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
Managing a portfolio of interest rate derivatives requires understanding their sensitivities to various market factors. The primary risk measures extend the Greeks framework from Chapter 7 to the interest rate context. While the conceptual foundation remains the same, namely measuring how derivative values change with underlying factors, the specific risk factors differ when the underlying is an interest rate rather than a stock price.
PV01 and DV01
PV01 (Present Value of a Basis Point) and DV01 (Dollar Value of a Basis Point) measure how much the derivative's value changes for a 1 basis point (0.01%) parallel shift in interest rates. These measures quantify first-order interest rate exposure and are essential for risk management.
where:
- : Dollar Value of a Basis Point
- : value of the derivative
- : level of interest rates (parallel shift)
The interpretation is straightforward: if DV01 equals $5,000 then a 1 basis point rise in rates changes the derivative's value by approximately $5,000. This measure allows you to compare and aggregate positions across different instruments, expressing everything in terms of standardized rate sensitivity.
For caps and floors, PV01 depends on the relationship between the strike and current rates. An out-of-the-money cap has lower PV01 than an at-the-money cap because rate changes have less impact on an option that's far from being exercised. As a cap moves deeper into the money, its PV01 approaches that of the underlying floating-rate exposure, which reflects the fact that deep in-the-money options behave increasingly like the underlying.
def calculate_cap_dv01(
forward_rates,
strike,
volatility,
times_to_expiry,
discount_factors,
day_count_fractions,
notional,
bump=0.0001,
):
"""Calculate DV01 for a cap using finite differences."""
def price_cap(rates, dfs):
total = 0
for i in range(len(rates)):
if times_to_expiry[i] > 0:
total += black_caplet_price(
rates[i],
strike,
volatility,
times_to_expiry[i],
dfs[i],
day_count_fractions[i],
notional,
)
return total
# Base case
base_price = price_cap(forward_rates, discount_factors)
# Bumped case (parallel shift)
bumped_rates = forward_rates + bump
bumped_dfs = discount_factors * np.exp(-bump * (times_to_expiry + 0.25))
bumped_price = price_cap(bumped_rates, bumped_dfs)
dv01 = bumped_price - base_price
return dv01
# Calculate DV01 for our 2-year cap
# Restore cap parameters from earlier example
strike = 0.05
notional = 1_000_000
cap_dv01 = calculate_cap_dv01(
forward_rates,
strike,
flat_vol,
times_to_expiry,
discount_factors,
day_count_fractions,
notional,
)Cap DV01: $23.38 Interpretation: A 1bp rise in rates changes cap value by $23.38
Vega and Volatility Risk
Interest rate derivatives are highly sensitive to implied volatility. Vega measures the sensitivity to a 1% absolute change in volatility. This sensitivity matters because implied volatilities change constantly in response to market sentiment, central bank communications, and economic data releases.
where:
- : sensitivity to volatility
- : value of the derivative
- : implied volatility parameter
For caps, vega is highest when the cap is at-the-money and decreases as the cap moves further in or out of the money. This pattern reflects how volatility matters most when the outcome is uncertain. A deep out-of-the-money cap will likely expire worthless regardless of volatility, while a deep in-the-money cap will almost certainly pay off. The at-the-money cap sits precisely at the boundary where volatility can tip the outcome either way.
def calculate_cap_vega(
forward_rates,
strike,
volatility,
times_to_expiry,
discount_factors,
day_count_fractions,
notional,
vol_bump=0.01,
):
"""Calculate vega for a cap."""
def price_cap(vol):
total = 0
for i in range(len(forward_rates)):
if times_to_expiry[i] > 0:
total += black_caplet_price(
forward_rates[i],
strike,
vol,
times_to_expiry[i],
discount_factors[i],
day_count_fractions[i],
notional,
)
return total
base_price = price_cap(volatility)
bumped_price = price_cap(volatility + vol_bump)
vega = bumped_price - base_price
return vega
cap_vega = calculate_cap_vega(
forward_rates,
strike,
flat_vol,
times_to_expiry,
discount_factors,
day_count_fractions,
notional,
)Cap Vega: $153.03 Interpretation: A 1% rise in implied vol changes cap value by $153.03


Delta and Gamma
Delta measures sensitivity to the underlying forward rates, while gamma captures the second-order sensitivity. These measures show how the derivative's value responds to rate movements.
where:
- : first-order sensitivity to the forward rate (delta)
- : second-order sensitivity to the forward rate (gamma)
- : value of the derivative
- : underlying forward rate
Delta indicates the hedge ratio: how much of the underlying forward rate agreement we need to offset the option's rate exposure. Gamma measures convexity, indicating how quickly the delta changes as rates move. High gamma positions require frequent rebalancing, as the hedge ratio shifts with each rate movement.
For individual caplets, Black's model provides closed-form delta:
where:
- : delta of a single caplet
- : notional principal
- : day count fraction
- : discount factor to the payment date
- : the hedge ratio, representing the sensitivity of the option value to changes in the forward rate
While represents the probability of the option expiring in-the-money under the forward measure, determines the amount of the underlying required to hedge the option's risk. The distinction between these two probabilities reflects the asymmetric nature of option payoffs: we need to consider whether the option pays off and how much it pays conditional on exercise.