Skip to content

Actuarial Mathematics for Modelling · Term structure of interest rates

Spot Rates and Zero-Coupon Bond Pricing Explained

Updated 11 October 2026 · Fact-checked

A spot rate y_t is the annual effective yield on a zero-coupon bond that pays ₹1 at time t. The discount factor is v(t) = (1 + y_t)^(-t), and the bond price is the redemption amount times v(t). To find a spot rate, invert: y_t = (Redemption ÷ Price)^(1/t) − 1.

Understand Spot Rates and Zero-Coupon Bond Pricing

A zero-coupon bond pays one amount only: the redemption value at maturity. There are no coupons. So its price today is just the present value of that one payment.

The spot rate y_t is the single annual effective rate that links today's price to the payment at time t. If a bond pays ₹100 at time t and costs P today, then P = 100 × (1 + y_t)^(-t). The word "spot" means the rate applies to money invested from now (time 0) until time t.

Different terms have different spot rates. Plot y_t against t and you get the spot rate curve, also called the zero-coupon yield curve. It may slope up, slope down or be humped. This is why you cannot use one flat rate for all cashflows.

The discount factor v(t) = (1 + y_t)^(-t) is the present value of ₹1 due at time t. To value any set of cashflows, you discount each cashflow with the spot rate for its own term and add them up. This is how a coupon bond is priced from the spot curve: it is treated as a bundle of zero-coupon bonds.

A spot rate is not the same as the yield to maturity of a coupon bond, and not the same as a forward rate. A spot rate covers time 0 to t. A forward rate covers a later period, such as t to t+1.

Key rules to remember

Discount factor from spot rate
v(t) = (1 + y_t)^(-t)
y_t is the annual effective spot rate for term t years. Present value of ₹1 due at time t.
Zero-coupon bond price
P = R × (1 + y_t)^(-t)
R is the redemption payment at time t. No coupons.
Spot rate from price
y_t = (R ÷ P)^(1/t) − 1
Use the same time unit for t as the rate (years for annual effective).
Spot rate from discount factor
y_t = v(t)^(-1/t) − 1
Same relation rearranged.
Value of cashflows using spot rates
PV = Σ C_t × (1 + y_t)^(-t)
Each cashflow C_t is discounted at the spot rate for its own term.
Continuous spot rate link
v(t) = e^(-δ_t × t), so δ_t = ln(1 + y_t)
δ_t is the force-of-interest equivalent of the spot rate for term t.

How to solve Spot Rates and Zero-Coupon Bond Pricing questions

Use this method for any question on spot rates, discount factors and zero-coupon prices.

  1. 1Write down what is given: spot rates, prices, discount factors, and the time of each cashflow.
  2. 2Check the rate type. Confirm whether the spot rate is annual effective, nominal or a force of interest. Convert to annual effective if needed.
  3. 3Decide the direction: price from rate (discount) or rate from price (invert with a power 1/t).
  4. 4Compute the discount factor v(t) = (1 + y_t)^(-t) for each relevant term.
  5. 5Multiply each cashflow by its own discount factor. Do not apply one rate to all cashflows.
  6. 6Add the present values if there are several cashflows.
  7. 7Sanity check: with positive rates, a longer term should give a smaller v(t). Check your answer is in a sensible range.
  8. 8State the answer with units and the rate basis, for example "annual effective".

Quickest way: Price and invert in two moves

When to use it: Use in MCQs and short written parts where you are given one price or rate and asked for the other.

  1. For price: R × (1 + y)^(-t). Store (1 + y) in your calculator memory and use the power key.
  2. For rate: compute R ÷ P, raise to 1/t, subtract 1.
  3. For a coupon bond: list each payment, multiply by its own v(t), sum.
  4. Quick check: if R ÷ P is about 1.2 and t = 2, the rate is about 9.5%, not 20%.

Common mistakes in Spot Rates and Zero-Coupon Bond Pricing

  • Using one rate for every cashflow.

    Students are used to a constant interest rate from earlier topics.

    Fix: Read the term of each cashflow and pick the spot rate for exactly that term.

  • Forgetting to subtract 1 when finding the spot rate.

    The calculation stops at (R ÷ P)^(1/t), which looks like a rate but is an accumulation factor.

    Fix: Always finish with y_t = (R ÷ P)^(1/t) − 1 and check that the answer looks like a percentage.

  • Using t instead of 1/t as the power.

    Mixing up the price formula (power −t) with the inversion step.

    Fix: Rate from price uses the root, power 1/t. Price from rate uses power −t.

  • Confusing a spot rate with a forward rate or yield to maturity.

    All three are called yields or rates and are linked.

    Fix: A spot rate runs from time 0 to t. A forward rate starts later. A yield to maturity is one rate for a whole coupon bond.

  • Treating a nominal spot rate as annual effective.

    The rate is quoted as "per annum" and the compounding frequency is missed.

    Fix: Convert first: (1 + i) = (1 + i^(m)/m)^m.

Worked examples

Example 1

A zero-coupon bond pays ₹1,00,000 in 3 years. The 3-year spot rate is 6% per annum effective. Find its price. Then find the price if the spot rate is 7%.

Show the solution
  1. Discount factor at 6%: v(3) = 1.06^(-3).
  2. 1.06^3 = 1.191016, so v(3) = 0.839619.
  3. Price = 1,00,000 × 0.839619 = ₹83,961.93.
  4. At 7%: 1.07^3 = 1.225043, so v(3) = 0.816298.
  5. Price = 1,00,000 × 0.816298 = ₹81,629.79.
  6. Check: a higher rate gives a lower price, as expected.

Answer: ₹83,962 at 6% and ₹81,630 at 7% (to the nearest rupee).

Example 2

The 1-year spot rate is 5% and the 2-year spot rate is 6%, both annual effective. A bond pays a coupon of ₹8 at the end of year 1, and ₹108 at the end of year 2. Find its price. Also find the price of a 2-year zero-coupon bond redeeming ₹100 and the spot rate implied if a 2-year zero-coupon bond redeeming ₹100 costs ₹85.

Show the solution
  1. v(1) = 1.05^(-1) = 0.952381.
  2. v(2) = 1.06^(-2) = 1 ÷ 1.1236 = 0.889996.
  3. Coupon bond price = 8 × 0.952381 + 108 × 0.889996.
  4. 8 × 0.952381 = 7.619048.
  5. 108 × 0.889996 = 96.119568.
  6. Price = 7.619048 + 96.119568 = 103.7386.
  7. 2-year zero at 6%: 100 × 0.889996 = 88.9996, about ₹89.00.
  8. Implied rate for price 85: y_2 = (100 ÷ 85)^(1/2) − 1.
  9. 100 ÷ 85 = 1.176471; square root = 1.084652.
  10. y_2 = 0.084652, about 8.47%.

Answer: Coupon bond price ≈ ₹103.74. The 2-year zero redeeming ₹100 costs ≈ ₹89.00 at 6%. A price of ₹85 implies a 2-year spot rate of about 8.47% per annum effective.

Exam tips

  • In written answers, define your notation first: y_t as the t-year spot rate and v(t) as the discount factor. Marks follow clear notation.
  • Check the rate basis in the question. Many marks are lost by skipping a nominal-to-effective conversion.
  • When asked to price a coupon bond from a spot curve, show a line for each cashflow. Partial marks are given for correct individual discounting.
  • In computer-based questions, build a column of terms, spot rates, discount factors and present values, then sum. State the formula you used.
  • Do a reasonableness check on every answer: discount factors below 1, falling with term when rates are positive.

Practice questions from Term structure of interest rates

Spot Rates and Zero-Coupon Bond Pricing 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 Zero-Coupon Bond Pricing: frequently asked questions

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

A spot rate is the yield on a zero-coupon bond for a single term from time 0. A yield to maturity is the single rate that equates the price of a coupon bond to all its cashflows. The two differ when the spot curve is not flat.

How do I calculate a spot rate from a zero-coupon bond price?

Divide the redemption value by the price, raise the result to the power 1/t, and subtract 1. For example, ₹100 redeemed in 2 years for a price of ₹85 gives about 8.47% per annum effective.

What is a discount factor in terms of spot rates?

It is the present value of ₹1 due at time t, equal to (1 + y_t)^(-t). You multiply each cashflow by the factor for its own term to get present value.

Can I get discount factors directly from bond prices?

Yes. The price of a zero-coupon bond redeeming ₹1 at time t is exactly v(t). If the redemption is ₹100, divide the price by 100.