Skip to content

CFA Level I Exam · The Term Structure of Interest Rates: Spot, Par, and Forward Curves

Spot Rates and Discount Factors for CFA Level I

Updated 7 October 2026 · Fact-checked

A spot rate is the yield on a zero-coupon bond for a given maturity. The discount factor is 1 ÷ (1 + spot)^t. To price a bond, discount each cash flow at the spot rate for its own date, then add the present values. Do not use one yield for all cash flows.

Understand Spot Rates and Discount Factors

A spot rate is the annualized yield today on a zero-coupon bond that pays one amount at maturity. It is the return for lending money from today to a single future date. A 2-year spot rate of 3% means you get 3% a year on money locked up for exactly 2 years, with no coupons to reinvest.

Different maturities have different spot rates. Plot the spot rates against maturity and you get the spot curve, also called the zero curve. It is the cleanest picture of the term structure because each rate applies to one cash flow date only.

A discount factor is the present value of 1 unit received at time t. It equals 1 ÷ (1 + S_t)^t, where S_t is the t-year spot rate. Multiply any cash flow due at time t by its discount factor and you have its present value. Discount factors fall as maturity rises when rates are positive.

To price a coupon bond, treat it as a bundle of zero-coupon bonds: one for each coupon and one for the final coupon plus principal. Discount each at its own spot rate and sum. The result is the arbitrage-free price. If the bond trades at a different price, you could profit by stripping or rebuilding it from zeros.

Yield to maturity (YTM) is different. It is one single rate that makes the present value of all cash flows equal the price. It is a kind of average of the spot rates, weighted by the cash flows. Two bonds with the same maturity but different coupons usually have different YTMs, yet they share the same spot curve. For a zero-coupon bond, YTM and spot rate are the same thing.

Key formulas to remember

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.

How to solve Spot Rates and Discount Factors questions

Use this routine for any question that gives spot rates or discount factors and asks for a price, a rate or a comparison.

  1. 1List every cash flow and its date. Add the principal to the last coupon.
  2. 2Check the compounding: annual or semiannual. Convert the periods and rates to match.
  3. 3Find the discount factor for each date, either given or from 1 ÷ (1 + S_t)^t.
  4. 4Multiply each cash flow by its own discount factor.
  5. 5Add the present values to get the price.
  6. 6If asked for a spot rate, invert: S_t = (1 ÷ DF_t)^(1/t) − 1.
  7. 7If asked to compare with YTM, remember YTM is one blended rate and the spot-based price is the arbitrage-free value.
  8. 8Check the answer is sensible: a bond with a coupon above the spot rates should price above par.

Quickest way: Discount factor table method

When to use it: Use it when the question gives a spot curve and asks for a bond price. It saves time because each factor is used once.

  1. Write the cash flows in a column and the spot rates beside them.
  2. Compute each discount factor with the 1/x key: enter 1 + S, raise to the power t with yˣ, then press 1/x.
  3. On the TI BA II Plus, for example for 1.04^2: 1.04, then yˣ, 2, then =, then 1/x.
  4. Multiply each by its cash flow and add into memory, using M+ on the HP 12C or the TI memory with STO and RCL.
  5. Eliminate options: if the coupon exceeds every spot rate, the price must be above par. This often removes one option at once.

Common mistakes in Spot Rates and Discount Factors

  • Discounting all cash flows at one yield when the question gives spot rates.

    Students are used to YTM pricing.

    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.

    Both are quoted as annual yields.

    Fix: Spot rates come from zero-coupon bonds. A coupon bond YTM blends several spot rates and depends on the coupon.

  • Forgetting to add principal to the final coupon.

    Students discount the coupon and the principal as separate steps and drop one.

    Fix: Write the final cash flow as coupon plus face value before discounting.

  • Using annual periods with semiannual data.

    The compounding line in the stem is skipped.

    Fix: For semiannual compounding, use half the rate and twice the number of periods, with half the annual coupon each period.

  • Raising to the wrong power, such as using (1 + S) × t.

    Confusion between simple and compound growth.

    Fix: The exponent is t on the whole (1 + S) term. Check that the discount factor is below 1.

Worked examples

Example 1

The 1-year, 2-year and 3-year spot rates are 2%, 3% and 4%, with annual compounding. What is the price of a 3-year bond with a 5% annual coupon and face value of 1,000 EUR? A. 1,003.58, B. 1,029.60, C. 1,052.31.

Show the solution
  1. Cash flows: 50 at year 1, 50 at year 2, 1,050 at year 3.
  2. DF1 = 1 ÷ 1.02 = 0.980392. PV1 = 50 × 0.980392 = 49.02.
  3. DF2 = 1 ÷ 1.03² = 1 ÷ 1.0609 = 0.942596. PV2 = 50 × 0.942596 = 47.13.
  4. DF3 = 1 ÷ 1.04³ = 1 ÷ 1.124864 = 0.888996. PV3 = 1,050 × 0.888996 = 933.45.
  5. Sum: 49.02 + 47.13 + 933.45 = 1,029.60.
  6. The sum matches option B. The coupon of 5% is above every spot rate, so the price must be above par. All three options are above 1,000, so this check removes none of them. The calculation is what separates them.

Answer: B. The price is about 1,029.60 EUR.

Example 2

A 2-year zero-coupon bond with a face value of USD 1,000 trades at USD 925.93. What is the 2-year spot rate, with annual compounding? A. 3.00%, B. 3.92%, C. 4.00%.

Show the solution
  1. Use S_2 = (Face value ÷ Price)^(1/2) − 1.
  2. 1,000 ÷ 925.93 = 1.08000.
  3. The square root of 1.08 is 1.03923.
  4. So the 2-year spot = 1.03923 − 1 = 3.92%.
  5. Check: 1,000 ÷ 1.0392² = 1,000 ÷ 1.0800 = 925.93, which matches the price.

Answer: B. The 2-year spot rate is about 3.92%.

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.

Practice questions from The Term Structure of Interest Rates: Spot, Par, and Forward Curves

Spot Rates and Discount Factors in other exams

The same ground in other exams, if you are preparing for more than one or want another angle on it.

Spot Rates and Discount Factors: frequently asked questions

What is the difference between a spot rate and yield to maturity?

A spot rate applies to a single cash flow at one date, as on a zero-coupon bond. YTM is one rate that discounts all cash flows of a bond to its price. For a coupon bond, YTM is a blend of the spot rates.

How do I calculate a spot rate from a bond price?

For a zero-coupon bond, use S_t = (Face value ÷ Price)^(1/t) − 1. For a coupon bond, you need the spot rates for earlier dates first, then solve for the last one. That process is called bootstrapping.

What is the discount factor formula?

DF_t = 1 ÷ (1 + S_t)^t, where S_t is the t-year spot rate. It is the present value of 1 unit paid at time t. Multiply any cash flow at t by it to get the present value.

Why price bonds with spot rates instead of YTM?

Each cash flow is paid at a different date, and each date has its own market rate. Discounting at the matching spot rate gives an arbitrage-free price. A single YTM hides the shape of the curve.