CFA Level II Exam · Pricing and Valuation of Forward Commitments
Pricing and Valuation of Currency Swaps
Updated 7 October 2026 · Fact-checked
A currency swap exchanges interest payments, and usually notional, in two currencies. Set each fixed rate from its own currency's discount factors: (1 − final factor) ÷ sum of factors. To value it, price each leg as a bond using its own curve, convert the foreign leg at spot, and take the difference.
Understand Pricing and Valuation of Currency Swaps
A currency swap is an agreement to exchange cash flows in two different currencies. Each side pays interest on a notional in one currency and receives interest on a notional in the other. The legs can be fixed or floating, so you may see fixed-for-fixed, fixed-for-floating or floating-for-floating swaps.
The main difference from an interest rate swap is the notional. In a plain interest rate swap, both legs use one currency and the notional is never exchanged. In a currency swap, the notionals are in different currencies and are normally exchanged at the start and again at maturity, at the same initial spot rate. Because of this, the final payment on each leg is interest plus notional, so each leg looks like a bond.
At initiation the swap has zero value. The two notionals are equal in value at the spot rate. Each fixed rate is set so the PV of that leg equals its notional, using that currency's own discount factors. This is the same logic as the par swap rate in an interest rate swap, done once per currency. The two fixed rates will differ because the two yield curves differ.
After initiation, value changes for two reasons: interest rates move in each currency, and the spot exchange rate moves. To value the swap, treat each leg as a bond in its own currency and discount with that currency's curve. Convert the foreign-currency value into your base currency at the current spot rate. The swap value to one party is the PV of what it receives minus the PV of what it pays, in one currency.
In an item set, the vignette usually gives discount factors or spot rates for each currency, the notionals, the fixed rates and the time left. Your job is to pick the right numbers for each leg and not mix curves or currencies.
Key formulas to remember
- Fixed swap rate per period (each currency)
- Fixed rate per period = (1 − Z_N) ÷ (Z_1 + Z_2 + … + Z_N)
- Z are discount factors in that currency only. Multiply by periods per year to annualise. Do this separately for each currency.
- Notional in the second currency
- Foreign notional = Domestic notional ÷ S0 (S0 quoted as domestic per 1 foreign)
- Check the quote convention. If S0 is foreign per domestic, multiply instead. The notionals have equal value at S0, so the swap starts at zero.
- Value of a fixed leg (in its own currency)
- PV = C × (Z_1 + … + Z_N) + Notional × Z_N
- C is the fixed coupon in currency units. Use current discount factors for the time remaining.
- Value of a floating leg just after a reset
- PV = Notional (par), for a leg with floating rate set at the reset date
- Between resets, PV = (Notional + next coupon) × Z for the next payment date.
- Swap value to a party
- V = (PV of leg received, converted at current spot) − (PV of leg paid, converted at current spot)
- Express both in one currency. Use the current spot rate, not the initial one. The counterparty's value is the negative.
How to solve Pricing and Valuation of Currency Swaps questions
Use this order for any currency swap question. It prevents mixing curves and currencies.
- 1Write down which currency each leg is in, which party pays and receives each leg, and whether each leg is fixed or floating.
- 2Check the spot quote. Decide whether it is domestic per foreign or the reverse, and note which spot is initial and which is current.
- 3If asked for notionals, convert using the initial spot so that the two notionals are equal in value.
- 4If asked for a fixed rate, compute (1 − final discount factor) ÷ sum of discount factors using only that currency's factors. Annualise if payments are not annual.
- 5If asked for value, compute each leg's coupons from its own fixed rate and notional, then find its PV using its own current discount factors. Include the notional at maturity.
- 6Convert the foreign-currency PV into the base currency at the current spot rate.
- 7Subtract the PV of the leg paid from the PV of the leg received, in one currency. Flip the sign for the counterparty.
- 8Sanity check: if the received currency has strengthened, the value to its receiver should tend to rise.
Quickest way: Leg-as-bond shortcut
When to use it: Use when the vignette gives discount factors for both currencies and asks for the swap value or fixed rates.
- Compute the annuity factor for each currency: the sum of its discount factors. Reuse it for the fixed rate and the PV.
- Fixed rate = (1 − last factor) ÷ annuity factor. Check that it looks sensible against the curve.
- Leg PV = coupon × annuity factor + notional × last factor. Do this twice.
- Convert one leg at current spot, subtract, and attach the sign for the party asked about.
- If a leg is floating and you are at a reset date, skip the calculation and use its notional.
Common mistakes in Pricing and Valuation of Currency Swaps
Discounting both legs with the same curve.
Interest rate swap habits carry over, where there is only one currency and one curve.
Fix: Each leg is discounted with the discount factors of its own currency. Underline the currency of each set of factors before calculating.
Converting at the initial spot rate when valuing.
The initial spot was used to set the notionals, so it feels like the right rate to keep using.
Fix: Use the initial spot only to set the foreign notional. Use the current spot to convert the foreign leg's PV.
Leaving out the notional at maturity.
Students remember that interest rate swaps do not exchange notional.
Fix: In a currency swap with notional exchange, add notional × final discount factor to each leg. Treat each leg as a bond.
Dividing when you should multiply by the spot rate.
The quote can be domestic per foreign or foreign per domestic, and it is easy to misread.
Fix: Write the quote as units of A per 1 unit of B. Multiply B amounts by it to get A. Check the result is sensible.
Using the same fixed rate in both currencies.
Students assume one swap rate applies to the whole contract.
Fix: Each currency has its own curve and so its own fixed rate. Calculate them separately.
Getting the sign wrong for the party.
The legs are mixed up when reading who pays which currency.
Fix: Write 'receives EUR leg, pays USD leg' before starting. Value = received minus paid, then state whose value it is.
Worked examples
Example 1
A swap dealer sets up a 3-year annual-pay fixed-for-fixed currency swap between USD and EUR. USD discount factors are 0.9709, 0.9426, 0.9151. EUR discount factors are 0.9804, 0.9612, 0.9423. The spot rate is USD 1.10 per EUR 1. The USD notional is USD 10,000,000. (1) What is the annual USD fixed rate? (2) What is the annual EUR fixed rate? (3) What is the EUR notional?
Show the solution
- USD annuity factor = 0.9709 + 0.9426 + 0.9151 = 2.8286.
- USD fixed rate = (1 − 0.9151) ÷ 2.8286 = 0.0849 ÷ 2.8286 = 0.0300, or 3.00%.
- EUR annuity factor = 0.9804 + 0.9612 + 0.9423 = 2.8839.
- EUR fixed rate = (1 − 0.9423) ÷ 2.8839 = 0.0577 ÷ 2.8839 = 0.0200, or 2.00%.
- The spot is USD per EUR, so EUR notional = 10,000,000 ÷ 1.10 = EUR 9,090,909.
Answer: (1) 3.00% in USD; (2) 2.00% in EUR; (3) EUR 9,090,909.
Example 2
Continue with the swap above, but now two years remain and payments are annual. Party A pays USD fixed 3.00% on USD 10,000,000 and receives EUR fixed 2.00% on EUR 9,090,909. Current USD discount factors are 0.9800 (1 year) and 0.9590 (2 years). Current EUR discount factors are 0.9850 and 0.9700. The spot is now USD 1.15 per EUR 1. (1) What is the PV of the EUR leg in EUR? (2) What is the swap value to Party A in USD? (3) What is the value to Party B?
Show the solution
- EUR coupon = 2.00% × 9,090,909 = EUR 181,818.
- EUR leg PV = 181,818 × (0.9850 + 0.9700) + 9,090,909 × 0.9700 = 181,818 × 1.9550 + 8,818,182 = 355,455 + 8,818,182 = EUR 9,173,637 (rounded).
- Convert at current spot: 9,173,637 × 1.15 = USD 10,549,682.
- USD coupon = 3.00% × 10,000,000 = USD 300,000.
- USD leg PV = 300,000 × (0.9800 + 0.9590) + 10,000,000 × 0.9590 = 300,000 × 1.9390 + 9,590,000 = 581,700 + 9,590,000 = USD 10,171,700.
- Value to Party A = received minus paid = 10,549,682 − 10,171,700 = USD 377,982.
- Party B holds the opposite position, so its value is −USD 377,982.
Answer: (1) About EUR 9,173,637; (2) about +USD 377,982 to Party A; (3) about −USD 377,982 to Party B.
Exam tips
- Read the spot quote twice. Write it as 'USD per 1 EUR' next to your working before you multiply or divide.
- The vignette often gives both initial and current spot rates. Use the initial rate for notionals and the current rate for valuation.
- Each currency has its own discount factors and fixed rate. Label your annuity factors by currency so you do not mix them.
- A floating leg valued at a reset date is worth its notional. Spot this to save time when a question asks for fixed-for-floating value.
- Questions often ask the value for one specific party. Check whether it is the payer or receiver of the foreign currency before giving the sign.
Pricing and Valuation of Currency Swaps in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Pricing and Valuation of Currency Swaps: frequently asked questions
What is the difference between an interest rate swap and a currency swap?
An interest rate swap uses one currency and normally does not exchange notional. A currency swap uses two currencies and usually exchanges notional at the start and end. This is why a currency swap leg is valued like a bond and its value is affected by the exchange rate.
How do you calculate the fixed rate on a currency swap?
Calculate it separately for each currency using that currency's discount factors. The rate per period is (1 − final discount factor) ÷ sum of discount factors. Multiply by the number of periods per year to annualise it.
How do you value a currency swap after it starts?
Value each leg as a bond in its own currency using current discount factors. Convert the foreign leg at the current spot rate. The value to a party is the PV of the leg it receives minus the PV of the leg it pays.
Why is a currency swap worth zero at the start?
The two notionals are set equal in value at the initial spot rate. Each fixed rate is set so its leg's PV equals its notional. The two legs therefore have equal value and the net is zero.