Interest Rate Swap Valuation and Applications › Mark-to-Market Swap Valuation

Michael BrenndoerferUpdated January 5, 20263 min read
Quantitative FinanceAll chapters
Part 4 of 15Swaps and Credit Derivatives
Chapter 21Interest Rate Swap Valuation and Applications › Mark-to-Market Swap Valuation
Reading section 10 of 17 · Mark-to-Market Swap Valuation · 3 minSection 10 of 17 · 3 min

Book contents

Section 10 of 17 · 3 min read

Interest Rate Swap Valuation and Applications › Mark-to-Market Swap ValuationOne section · Sections in this chapter10 / 17 ↓
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

Once a swap is traded, its value can change as interest rates move. A par swap's initial zero value can become positive or negative, but some cash-flow states or curve moves leave it unchanged. Mark-to-market (MTM) valuation calculates the current model value of an existing position. Its applications include:

  • Regulatory capital calculations for banks within the applicable framework, which distinguish current counterparty exposure from measures of potential future exposure
  • Collateral management under Credit Support Annexes (CSAs), where parties exchange margin based on the current value of their positions
  • Profit and loss attribution, where you need to understand how rate movements have affected portfolio value
  • Risk management and hedging, where understanding current exposure is essential for making informed decisions about position adjustments

Valuation After Rate Changes

Consider a 5-year receive-fixed swap entered at a rate of 5.5%. After rates change, we need to revalue the swap using current market discount factors. The mechanics are identical to initial valuation: we calculate the present value of the fixed leg and subtract the floating leg value.

In[17]:
Code
def value_existing_swap(notional, fixed_rate, remaining_payments, discount_factors):
    """Annual receive-fixed MTM at a matching base floating reset.

    Factors cover all remaining annual coupon dates. The first fixing
    agrees with this base curve; this function is a base valuation, not
    a risk shock that is allowed to change an already observed fixing.
    Equal hypothetical principal repayments cancel in the bond difference.
    """
    discounts = np.asarray(discount_factors, dtype=float)
    if (
        discounts.ndim != 1
        or not len(discounts)
        or isinstance(remaining_payments, bool)
        or not isinstance(remaining_payments, int)
        or remaining_payments != len(discounts)
        or not np.all(np.isfinite(discounts))
        or np.any(discounts <= 0)
        or not np.isfinite(notional)
        or notional <= 0
        or not np.isfinite(fixed_rate)
    ):
        raise ValueError("Use finite inputs and a factor for every annual payment.")
    fixed_bond = notional * (fixed_rate * np.sum(discounts) + discounts[-1])
    floating_bond = notional
    return fixed_bond - floating_bond


# Original swap parameters
original_swap = {
    "notional": 50_000_000,
    "fixed_rate": 0.055,
    "original_tenor": 5,
    "elapsed_years": 2,
}

# Remaining payments: 3 years
remaining_years = original_swap["original_tenor"] - original_swap["elapsed_years"]

# Hypothetical current curve; not an observed or dated market snapshot
new_maturities = np.array([1, 2, 3])
new_zero_rates = np.array([0.042, 0.044, 0.046])  # Rates are lower now
new_discount_factors = np.exp(-new_zero_rates * new_maturities)

# Value the swap
current_value = value_existing_swap(
    original_swap["notional"],
    original_swap["fixed_rate"],
    remaining_years,
    new_discount_factors,
)
Out[18]:
Console
Mark-to-Market Swap Valuation
=======================================================

Original Swap Terms:
  Notional:          $50,000,000
  Fixed Rate:        5.50%
  Original Tenor:    5 years
  Time Elapsed:      2 years
  Remaining:         3 years

Hypothetical Current Zero Rates:
  1-year: 4.20%
  2-year: 4.40%
  3-year: 4.60%

Swap Valuation:
  Mark-to-Market Value: $1,105,690.30

In this annual receive-fixed example, a small parallel decline in the current continuous zero rates increases model MTM under the stated fixing convention. This is a model mark, not an executable takeover or unwind quote; actual amounts can differ because of bid-offer spreads, fees and contractual close-out terms.