Skip to content

CFA Level I · CFA Level I Exam

The Term Structure of Interest Rates: Spot, Par, and Forward Curves: formula sheet

Full chapter guide

Key formulas

Discount factor
DF_t = 1 ÷ (1 + S_t)^t
S_t is the annual spot rate for maturity t years, with annual compounding. For semiannual compounding, use S_t ÷ 2 per period and 2t periods.
Bond price from spot rates
PV = Σ [CF_t ÷ (1 + S_t)^t] = Σ [CF_t × DF_t]
Each cash flow is discounted at the spot rate for its own maturity. The final cash flow includes principal.
Spot rate from discount factor
S_t = (1 ÷ DF_t)^(1/t) − 1
Use this to move back from a discount factor to the spot rate.
Spot rate from a zero-coupon price
S_t = (Face value ÷ Price)^(1/t) − 1
For a zero-coupon bond the spot rate equals its YTM.
Price with a single YTM
PV = Σ [CF_t ÷ (1 + YTM)^t]
Same cash flows, but one rate for all dates. The YTM is the single rate that sets this present value equal to the market price. The spot-based price equals the market price only if the bond is priced with no arbitrage.
Spot-forward relationship
(1 + z_B)^B = (1 + z_A)^A × (1 + f(A, B−A))^(B−A)
z is the annual spot rate. A is the start of the forward period and B−A is its length in years. Works for annual compounding.
Implied forward rate
f(A, B−A) = [ (1 + z_B)^B ÷ (1 + z_A)^A ]^(1 ÷ (B−A)) − 1
Always take the root of the ratio over the loan length, B − A, not over B.
One-year forward from adjacent spots
f(n−1, 1) = (1 + z_n)^n ÷ (1 + z_(n−1))^(n−1) − 1
Use this to build the one-year forward curve step by step.
Spot rate from forward rates
(1 + z_n)^n = (1 + f(0,1)) × (1 + f(1,1)) × … × (1 + f(n−1,1))
The spot rate is the geometric average of the one-year forward rates. f(0,1) equals z_1.
Bond value using forward rates
PV = CF_1 ÷ (1 + f(0,1)) + CF_2 ÷ [(1 + f(0,1))(1 + f(1,1))] + …
Gives the same value as discounting each cash flow at its spot rate.
Forward price of a zero-coupon bond
F = DF_B ÷ DF_A, where DF_t = 1 ÷ (1 + z_t)^t
Price per 1 of par, for a contract made today to buy at time A a bond that matures at B (A < B).
Par bond pricing identity (annual pay)
1 = c × (DF₁ + DF₂ + … + DFₙ₋₁) + (1 + c) × DFₙ
c is the par rate for maturity n, written as a decimal. DF is the discount factor per 1 of face value.
Bootstrapped discount factor
DFₙ = [1 − c × (DF₁ + … + DFₙ₋₁)] ÷ (1 + c)
Use the par rate cₙ for maturity n and every earlier discount factor.
Spot rate from discount factor
zₙ = (1 ÷ DFₙ)^(1/n) − 1
On the exam this is usually annual compounding.
Discount factor from spot rate
DFₙ = 1 ÷ (1 + zₙ)ⁿ
Use this to go back and check a result.
First step
z₁ = c₁
The 1-year par rate equals the 1-year spot rate when the bond pays once a year.
Bond price using YTM
PV = Σ CF_t ÷ (1 + y)^t
One rate y for all cash flows. Solve y with the calculator.
Bond price using spot rates
PV = Σ CF_t ÷ (1 + z_t)^t
Each cash flow uses the spot rate z_t for its own maturity.
G-spread
G-spread = bond YTM − government bond YTM (same maturity)
Interpolate between two government bonds if no exact match exists.
I-spread
I-spread = bond YTM − swap rate (same maturity)
Benchmark is the interest rate swap curve, not government bonds.
Z-spread
PV = Σ CF_t ÷ (1 + z_t + Z)^t
Z is constant across all maturities. Found by trial and error or a solver.
OAS for an option bond
OAS = Z-spread − option value (in spread terms)
Callable: OAS < Z-spread. Putable: OAS > Z-spread.
Forward rate from spot rates
(1 + z_B)^B = (1 + z_A)^A × (1 + f(A, B−A))^(B−A)
f(A, B−A) is the rate for a loan of B−A years starting in A years.
Rolling-down return (unchanged curve)
Return = P(horizon) ÷ P(today) − 1
P(horizon) uses the spot rate for the bond's remaining maturity from today's curve.

Quick revision

  • Spot rate is the yield on a zero-coupon bond for a given maturity.
  • Discount factor = 1 ÷ (1 + spot rate)^t, with annual compounding.
  • Bond price = sum of each cash flow times its own discount factor.
  • Forward rate is the rate for a future period implied by today's spot rates through no-arbitrage.
  • Forward rate link: (1 + z_B)^B = (1 + z_A)^A × (1 + f)^(B − A).
  • When the spot curve slopes upward, forward rates lie above spot rates.
  • Par rate is the coupon rate at which a bond prices at par.
  • Bootstrapping solves for spot rates one maturity at a time from par rates.
  • YTM is the single discount rate that equates a bond's price to its cash flows, assuming it is held to maturity and reinvestment at that rate.
  • YTM is a blend of spot rates and generally differs from any single spot rate.
  • Yield spread is the difference between yields of two bonds, often quoted in basis points.
  • A parallel shift moves all rates by the same amount; steepening and flattening change the gap between long and short rates.

Common mistakes

  • Discounting all cash flows at one yield when the question gives spot rates. Fix: Use the spot rate matching each cash flow date. One rate for all dates is the YTM approach.
  • Treating spot rates as YTMs of coupon bonds. Fix: Spot rates come from zero-coupon bonds. A coupon bond YTM blends several spot rates and depends on the coupon.
  • Averaging spot rates instead of using growth factors Fix: Always compound. Use (1 + z_B)^B ÷ (1 + z_A)^A. A simple difference understates the forward rate in an upward-sloping curve.
  • Taking the root over B instead of B − A Fix: The root order equals the length of the forward loan. For a 2y3y forward, take the 3rd root.
  • Treating the par rate as the spot rate for every maturity Fix: Only the 1-year (single cash flow) par rate equals the spot rate. Longer par rates discount all coupons at one rate, so bootstrap them.
  • Discounting the coupons at the new par rate Fix: Use the already-found discount factors for the earlier coupons. The par rate only sets the coupon size.
  • Using the wrong benchmark for a spread, such as subtracting a swap rate for a G-spread. Fix: Link the letter to the benchmark: G for government, I for interest rate swap, Z for the zero-volatility (spot) curve.
  • Discounting at one YTM when the question gives spot rates. Fix: Whenever you see a spot curve, discount each cash flow at its own spot rate.

Exam tips

  • Questions are standalone with three options. If the coupon is above all spot rates, the bond must price above par. Use that to remove an option before calculating.
  • Watch for the words zero-coupon or spot. They signal that each cash flow gets its own rate.
  • A discount factor above 1, or one that rises with maturity under positive rates, signals an error.
  • Check compounding in the stem. Semiannual is a common trap.
  • Know that spot-based pricing is arbitrage-free pricing. If market price differs, an arbitrage exists through stripping or reconstituting.
  • Most questions give two spot rates and ask for a forward rate. Write A and B − A before touching the calculator.
  • Use direction to eliminate options. With an upward-sloping spot curve, the forward rate is above the longer spot rate. With a downward-sloping curve, it is below.
  • Expect the forward-rate bond valuation to match the spot-rate valuation. If a question asks you to choose between the two, the prices are equal.