CFA Level I · CFA Level I Exam
The Term Structure of Interest Rates: Spot, Par, and Forward Curves: formula sheet
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.