Valuation of Interest Rate Derivatives › Risk Measures for Interest Rate Derivatives

Michael BrenndoerferDecember 8, 20257 min read
Quantitative FinanceAll chapters
Part 7 of 15Interest Rate Models and Derivatives
Chapter 40Valuation of Interest Rate Derivatives › Risk Measures for Interest Rate Derivatives
Reading section 6 of 13 · Risk Measures for Interest Rate Derivatives · 7 minSection 6 of 13 · 7 min

Book contents

Section 6 of 13 · 7 min read

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.

DV01=∂V∂r×0.0001\text{DV01} = \frac{\partial V}{\partial r} \times 0.0001

where:

  • DV01\text{DV01}: Dollar Value of a Basis Point
  • VV: value of the derivative
  • rr: 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.

In[15]:
Code
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,
)
Out[16]:
Console
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.

Vega=∂V∂σ\text{Vega} = \frac{\partial V}{\partial \sigma}

where:

  • Vega\text{Vega}: sensitivity to volatility
  • VV: value of the derivative
  • σ\sigma: 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.

In[17]:
Code
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,
)
Out[18]:
Console
Cap Vega: $153.03
Interpretation: A 1% rise in implied vol changes cap value by $153.03
Out[19]:
Visualization
Line chart of cap value in thousands of dollars versus a parallel rate shift in basis points, showing an upward-sloping convex curve with a highlighted point at the unshifted curve.
Cap value under parallel shifts to the forward-rate curve. The cap value increases as rates rise toward and above the 5% strike, with a convex profile reflecting the option's asymmetric payoff.
Line chart of cap value in thousands of dollars versus implied volatility percentage, showing an upward-sloping relationship with a highlighted point at the current volatility.
Cap value sensitivity to implied volatility (vega). Cap value increases with volatility because greater uncertainty raises the value of the out-of-the-money cap.

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.

Δ=∂V∂F,Γ=∂2V∂F2\Delta = \frac{\partial V}{\partial F}, \quad \Gamma = \frac{\partial^2 V}{\partial F^2}

where:

  • Δ\Delta: first-order sensitivity to the forward rate (delta)
  • Γ\Gamma: second-order sensitivity to the forward rate (gamma)
  • VV: value of the derivative
  • FF: 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:

Δcaplet=N⋅τi⋅P(0,Ti)⋅N(d1)\Delta_{\text{caplet}} = N \cdot \tau_i \cdot P(0, T_i) \cdot N(d_1)

where:

  • Δcaplet\Delta_{\text{caplet}}: delta of a single caplet
  • NN: notional principal
  • τi\tau_i: day count fraction
  • P(0,Ti)P(0, T_i): discount factor to the payment date
  • N(d1)N(d_1): the hedge ratio, representing the sensitivity of the option value to changes in the forward rate

While N(d2)N(d_2) represents the probability of the option expiring in-the-money under the forward measure, N(d1)N(d_1) 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.