9.2 Swap Pricing and Valuation: Interest Rate, Currency & Equity Swaps

Key Takeaways

  • A swap contract can be mathematically replicated and valued either as a portfolio of forward contracts with varying maturities or as a portfolio of two bonds (a fixed-rate bond and a floating-rate bond).
  • The par swap fixed rate $R_{FIX}$ on an interest rate swap is priced such that initial swap value is zero ($V_0 = 0$), determined using the zero-coupon discount factor term structure: $R_{FIX} = \frac{1 - Z_n}{\sum_{i=1}^n Z_i} \times m$, where $m$ is the annual payment frequency.
  • During the life of an interest rate swap, the floating-rate bond resets to par ($B_{floating} = 1.0$) immediately after each reset payment, allowing the mark-to-market value to the fixed-rate payer to be calculated as $V_{pay-fixed} = \text{Notional} \times (1.0 - B_{fixed}) = \text{Notional} \times [(R_{FIX, t} - R_{FIX, 0}) \times \sum Z_i']$.
  • Currency swaps involve the initial and final exchange of principal amounts in different currencies; pricing requires calculating two separate swap fixed rates ($R_{EUR}$ and $R_{USD}$) based on each nation's sovereign yield curve, and valuation during life incorporates spot FX movements: $V_{swap\,in\,USD} = B_{USD} - (S_{USD/EUR} \times B_{EUR})$.
  • In equity swaps, the equity return leg can be negative (requiring the equity receiver to pay the equity payer), and valuation at time $t$ reflects the cumulative equity index change since the last reset date against the present value of the counterparty bond: $V_t = \text{Notional} \times \left(\frac{S_t}{S_{t-1}}\right) - B_{fixed, t}$.
Last updated: August 2026

9.2 Swap Pricing and Valuation: Interest Rate, Currency & Equity Swaps

Core Insight: A swap is an over-the-counter derivative contract in which two counterparties agree to exchange a series of future cash flows according to a pre-specified formula. At CFA Level II, swaps are evaluated through two complementary lenses: (1) as a portfolio of forward contracts (each forward expiring on a settlement date), and (2) as a portfolio of two distinct bonds (e.g., long a floating-rate note and short a fixed-rate bond). At inception, the swap rate is structured such that the present value of all expected future cash inflows equals the present value of all expected future cash outflows, producing a net initial value of zero ($V_0 = 0$). As time elapses, market interest rates, currency exchange rates, and equity index returns shift, requiring precise mark-to-market valuation.


1. The Fundamental Swap Valuation Framework

                             THE DUAL PERSPECTIVE OF SWAPS
  ┌─────────────────────────────────┐               ┌─────────────────────────────────┐
  │     PORTFOLIO OF FORWARDS       │               │       PORTFOLIO OF BONDS        │
  ├─────────────────────────────────┤               ├─────────────────────────────────┤
  │ • Each payment date corresponds │      EQUALS   │ • Long Floating-Rate Note       │
  │   to an off-market forward      │    ═════════► │ • Short Fixed-Rate Bond         │
  │ • Forward values sum to zero    │               │ • At inception:                 │
  │   in aggregate at t = 0         │               │   B_float = Par = 1.0           │
  │   (Individual forwards != 0)    │               │   B_fixed = Par = 1.0           │
  └─────────────────────────────────┘               └─────────────────────────────────┘

The Discount Factor Term Structure

All swap pricing and valuation formulas rely on zero-coupon Discount Factors ($Z_i$) derived from the prevailing spot rate curve for each settlement period $i = 1, 2, \dots, n$ with day count $d_i$:

Zi=11+ri×(di360)\mathbf{Z_i = \frac{1}{1 + r_i \times \left(\frac{d_i}{360}\right)}}

  • $Z_i$ represents the present value of $1.00 received at future payment date $i$.
  • The sum of discount factors $\sum_{i=1}^n Z_i$ functions as an annuity factor for valuation.

2. Interest Rate Swaps (Fixed-for-Floating)

In a plain vanilla Interest Rate Swap (IRS), the pay-fixed counterparty pays a periodic fixed coupon $R_{FIX}$ and receives a floating rate (e.g., SOFR or Euribor) reset at the start of each period and paid in arrears.

Pricing: Setting the Par Fixed Swap Rate ($R_{FIX}$)

To ensure $V_0 = 0$, the fixed-rate bond must be worth par ($B_{fixed} = 1.0$) at inception. Setting $B_{fixed} = c \sum_{i=1}^n Z_i + 1.0 \times Z_n = 1.0$ yields the per-period swap rate $c$ and annualized par fixed swap rate $R_{FIX}$:

RFIX=1Zni=1nZi×m\mathbf{R_{FIX} = \frac{1 - Z_n}{\sum_{i=1}^n Z_i} \times m}

where $m$ is the number of settlement periods per year (e.g., $m = 2$ for semiannual, $m = 4$ for quarterly).

                        PAR SWAP FIXED RATE FORMULA
                           1 - Z_n          (Par Value - PV of Final Principal)
            R_FIX = ────────────────────── x m
                       Z_1 + Z_2 + ... + Z_n (Sum of all Discount Factors)

Valuation of an Existing Swap During Its Life

At time $t$, market discount factors shift to new values $Z_1', Z_2', \dots, Z_k'$.

A. Valuation on a Payment / Reset Date (Right after payment)

Immediately after a reset payment, the floating leg resets to par value: $B_{floating} = 1.0$. The fixed leg value is computed using the original per-period fixed payment $c_0 = R_{FIX, 0} / m$:

Bfixed=c0i=1kZi+ZkB_{fixed} = c_0 \sum_{i=1}^k Z_i' + Z_k'

Vpayfixed=Notional×(1.0Bfixed)=Notional×[1.0(c0i=1kZi+Zk)]\mathbf{V_{pay-fixed} = \text{Notional} \times (1.0 - B_{fixed}) = \text{Notional} \times \left[ 1.0 - \left( c_0 \sum_{i=1}^k Z_i' + Z_k' \right) \right]}

Alternatively, expressing value via the difference between the new market par swap rate ($R_{FIX, t}$) and the original swap rate ($R_{FIX, 0}$):

Vpayfixed=Notional×(RFIX,tRFIX,0)×(1m)×i=1kZi\mathbf{V_{pay-fixed} = \text{Notional} \times (R_{FIX, t} - R_{FIX, 0}) \times \left(\frac{1}{m}\right) \times \sum_{i=1}^k Z_i'}

B. Valuation Between Reset Dates

Between reset dates, the floating leg no longer equals par because accrued floating interest is pending. Let $r_{float, last}$ be the floating rate fixed at the prior reset date, and $Z_1'$ be the discount factor from time $t$ to the next immediate reset date:

Bfloating=(1.0+rfloat,last×dreset360)×Z1B_{floating} = \left( 1.0 + r_{float, last} \times \frac{d_{reset}}{360} \right) \times Z_1' Bfixed=c0i=1kZi+1.0×ZkB_{fixed} = c_0 \sum_{i=1}^k Z_i' + 1.0 \times Z_k' Vpayfixed,t=Notional×(BfloatingBfixed)\mathbf{V_{pay-fixed, t} = \text{Notional} \times (B_{floating} - B_{fixed})}


3. Currency Swaps

A Currency Swap involves two different currencies (e.g., USD and EUR). Unlike interest rate swaps, counterparties typically:

  1. Exchange principal at inception at the spot exchange rate $S_0(USD/EUR)$.
  2. Exchange periodic interest payments in each respective currency (no netting is possible because payments are in different currencies).
  3. Re-exchange principal at maturity at the original notional amounts.
                               CURRENCY SWAP CASH FLOW STRUCTURE
  Time t = 0 (Inception)              Periodic Dates (1 to n)           Time T (Maturity)
  ┌───────────────────────┐           ┌────────────────────────┐        ┌───────────────────────┐
  │ US Firm pays USD      │           │ US Firm pays EUR       │        │ US Firm pays EUR      │
  │ to European Firm      │ ────────► │ interest (at R_EUR)    │ ─────► │ Principal to Euro Firm│
  │ European Firm pays    │           │ Euro Firm pays USD     │        │ Euro Firm pays USD    │
  │ EUR to US Firm        │           │ interest (at R_USD)    │        │ Principal to US Firm  │
  └───────────────────────┘           └────────────────────────┘        └───────────────────────┘

Pricing: Determining Fixed Rates in Each Currency

Calculate separate par fixed swap rates for each currency using its own domestic discount factor curve:

RUSD=1ZUSD,ni=1nZUSD,i×m,REUR=1ZEUR,ni=1nZEUR,i×m\mathbf{R_{USD} = \frac{1 - Z_{USD, n}}{\sum_{i=1}^n Z_{USD, i}} \times m}, \qquad \mathbf{R_{EUR} = \frac{1 - Z_{EUR, n}}{\sum_{i=1}^n Z_{EUR, i}} \times m}

Valuation During Life

To value a swap where the investor receives USD fixed and pays EUR fixed, calculate the value of each bond in its domestic currency and convert using the prevailing spot exchange rate $S_t(USD/EUR)$:

VswapinUSD,t=(NUSD×BUSD,t)[St(USD/EUR)×NEUR×BEUR,t]\mathbf{V_{swap\,in\,USD, t} = (N_{USD} \times B_{USD, t}) - [S_t(USD/EUR) \times N_{EUR} \times B_{EUR, t}]}

where: BUSD,t=cUSDi=1kZUSD,i+ZUSD,k,BEUR,t=cEURi=1kZEUR,i+ZEUR,kB_{USD, t} = c_{USD} \sum_{i=1}^k Z_{USD, i}' + Z_{USD, k}', \qquad B_{EUR, t} = c_{EUR} \sum_{i=1}^k Z_{EUR, i}' + Z_{EUR, k}'


4. Equity Swaps

In an Equity Swap, at least one leg is tied to the total return of an equity index, stock basket, or individual share. The opposing leg may be a fixed interest rate, a floating interest rate, or another equity index.

Unique Characteristics of Equity Swaps

  • Variable Cash Flows: The equity payment is not known until the end of the settlement period.
  • Negative Return Obligation: If the underlying equity index produces a negative return ($R_{equity} < 0$), the equity-receiver must pay the equity-payer the absolute value of that negative return in addition to the regular financing leg!
                           EQUITY SWAP PAYMENT MECHANICS
  Equity Return > 0:    [ Equity Receiver ] ◄────── Equity Return ─────── [ Fixed/Float Payer ]
                        [ Equity Receiver ] ─────── Fixed/Float Rate ───► [ Fixed/Float Payer ]

  Equity Return < 0:    [ Equity Receiver ] ─── |Negative Return| + Int ─► [ Fixed/Float Payer ]

Valuation of Equity Swaps

For a swap receiving equity return and paying fixed interest:

Vreceiveequity,t=Notional×(StSt1)Notional×Bfixed,t\mathbf{V_{receive\,equity, t} = \text{Notional} \times \left( \frac{S_t}{S_{t-1}} \right) - \text{Notional} \times B_{fixed, t}}

where:

  • $S_t$ is the current equity index level at valuation date $t$.
  • $S_{t-1}$ is the equity index level at the previous reset date.
  • $B_{fixed, t} = c_0 \sum_{i=1}^k Z_i' + Z_k'$ is the value of a $1.00 par fixed-rate bond discounted at the current zero curve.

5. Comprehensive Worked Numerical Examples

Case 1: Interest Rate Swap Valuation on Reset Date

Scenario: One year ago, a financial institution entered a 3-year semiannual pay-fixed interest rate swap with a notional of $100,000,000 at an original fixed rate of 4.20% ($c_0 = 2.10%$ semiannual). Today is a reset date immediately following the second payment (2 years / 4 semiannual periods remaining). The newly observed zero-coupon annual discount rates and factors are:

  • Period 1 (180 days): $r_1 = 5.00% \implies Z_1 = \frac{1}{1 + 0.0500 \times (180/360)} = \frac{1}{1.0250} = 0.975610$
  • Period 2 (360 days): $r_2 = 5.20% \implies Z_2 = \frac{1}{1 + 0.0520 \times (360/360)} = \frac{1}{1.0520} = 0.950570$
  • Period 3 (540 days): $r_3 = 5.40% \implies Z_3 = \frac{1}{1 + 0.0540 \times (540/360)} = \frac{1}{1.0810} = 0.925069$
  • Period 4 (720 days): $r_4 = 5.50% \implies Z_4 = \frac{1}{1 + 0.0550 \times (720/360)} = \frac{1}{1.1100} = 0.900901$

Step 1: Calculate Sum of Discount Factors

i=14Zi=0.975610+0.950570+0.925069+0.900901=3.752150\sum_{i=1}^4 Z_i = 0.975610 + 0.950570 + 0.925069 + 0.900901 = 3.752150

Step 2: Calculate Value of Fixed-Rate Leg ($B_{fixed}$)

Bfixed=c0i=14Zi+Z4=(0.0210×3.752150)+0.900901=0.078795+0.900901=0.979696B_{fixed} = c_0 \sum_{i=1}^4 Z_i + Z_4 = (0.0210 \times 3.752150) + 0.900901 = 0.078795 + 0.900901 = 0.979696

Step 3: Calculate Swap Value to Pay-Fixed Party

Vpayfixed=Notional×(1.0Bfixed)=$100,000,000×(1.00.979696)=$100,000,000×0.020304=+$2,030,400\mathbf{V_{pay-fixed}} = \text{Notional} \times (1.0 - B_{fixed}) = \$100,000,000 \times (1.0 - 0.979696) = \$100,000,000 \times 0.020304 = \mathbf{+\$2,030,400}

Intuition: Market interest rates rose from 4.20% to ~5.30% ($R_{FIX, new} = \frac{1 - 0.900901}{3.752150} \times 2 = 5.282%$). Paying a fixed rate of 4.20% while market rates are higher represents a substantial economic gain to the pay-fixed counterparty.


Case 2: Currency Swap Valuation

Scenario: A US multinational firm entered a 2-year annual currency swap to pay USD fixed at 3.50% on $60,000,000 notional and receive EUR fixed at 2.80% on €50,000,000 notional ($S_0 = 1.20$ USD/EUR). Exactly one year remains (1 payment of interest + principal). Current market rates and data:

  • 1-year USD discount factor: $Z_{USD, 1} = 0.9550$
  • 1-year EUR discount factor: $Z_{EUR, 1} = 0.9700$
  • Current spot exchange rate: $S_t = 1.28$ USD per 1 EUR

Step 1: Value USD Bond Leg ($B_{USD}$)

BUSD=($60,000,000×1.0350)×0.9550=$62,100,000×0.9550=$59,305,500B_{USD} = (\$60,000,000 \times 1.0350) \times 0.9550 = \$62,100,000 \times 0.9550 = \$59,305,500

Step 2: Value EUR Bond Leg in EUR ($B_{EUR}$)

BEUR=(EUR 50,000,000×1.0280)×0.9700=EUR 51,400,000×0.9700=EUR 49,858,000B_{EUR} = (\text{EUR } 50,000,000 \times 1.0280) \times 0.9700 = \text{EUR } 51,400,000 \times 0.9700 = \text{EUR } 49,858,000

Step 3: Convert EUR Leg to USD and Value Swap

EUR Leg in USD=EUR 49,858,000×1.28 USD/EUR=$63,818,240\text{EUR Leg in USD} = \text{EUR } 49,858,000 \times 1.28 \text{ USD/EUR} = \$63,818,240 VswapinUSD=PV of USD Received (EUR leg)PV of USD Paid=$63,818,240$59,305,500=+$4,512,740\mathbf{V_{swap\,in\,USD}} = \text{PV of USD Received (EUR leg)} - \text{PV of USD Paid} = \$63,818,240 - \$59,305,500 = \mathbf{+\$4,512,740}


6. Swap Pricing & Valuation Matrix Reference

Swap TypePricing Formula at Inception ($t=0$)Valuation Formula During Life ($t$)
Interest Rate Swap (Pay-Fixed)$R_{FIX} = \frac{1 - Z_n}{\sum_{i=1}^n Z_i} \times m$$V_t = \text{Notional} \times (B_{floating} - B_{fixed})$
Currency Swap (Pay Currency A, Receive B)$R_A = \frac{1 - Z_{A,n}}{\sum Z_{A,i}} m, ; R_B = \frac{1 - Z_{B,n}}{\sum Z_{B,i}} m$$V_{t,(in,A)} = (S_{t, A/B} \times N_B B_B) - (N_A B_A)$
Equity Swap (Receive Equity, Pay Fixed)Fixed leg priced at par swap rate $R_{FIX}$$V_t = \text{Notional} \left( \frac{S_t}{S_{t-1}} \right) - \text{Notional} \times B_{fixed, t}$
Loading diagram...
Fixed-for-Floating Interest Rate Swap Balance Sheet Replication
Test Your Knowledge

A dealer calculates the following zero-coupon discount factors for quarterly settlement over one year: Z_1 = 0.9890, Z_2 = 0.9760, Z_3 = 0.9620, and Z_4 = 0.9470. What is the annualized par fixed rate for a 1-year quarterly interest rate swap?

A
B
C
D
Test Your Knowledge

Which of the following statements regarding equity swaps is most accurate?

A
B
C
D
Test Your Knowledge

Six months into a 2-year annual pay-fixed interest rate swap with $50,000,000 notional, market interest rates have dropped substantially. If the fixed leg value B_fixed is now $1.0350 per $1.00 par and the floating leg value B_floating is $1.0120 per $1.00 par, what is the mark-to-market value of the swap to the pay-fixed counterparty?

A
B
C
D