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.
- 1Write down what is given: spot rates, prices, discount factors, and the time of each cashflow.
- 2Check the rate type. Confirm whether the spot rate is annual effective, nominal or a force of interest. Convert to annual effective if needed.
- 3Decide the direction: price from rate (discount) or rate from price (invert with a power 1/t).
- 4Compute the discount factor v(t) = (1 + y_t)^(-t) for each relevant term.
- 5Multiply each cashflow by its own discount factor. Do not apply one rate to all cashflows.
- 6Add the present values if there are several cashflows.
- 7Sanity check: with positive rates, a longer term should give a smaller v(t). Check your answer is in a sensible range.
- 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.
- For price: R × (1 + y)^(-t). Store (1 + y) in your calculator memory and use the power key.
- For rate: compute R ÷ P, raise to 1/t, subtract 1.
- For a coupon bond: list each payment, multiply by its own v(t), sum.
- 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
- Discount factor at 6%: v(3) = 1.06^(-3).
- 1.06^3 = 1.191016, so v(3) = 0.839619.
- Price = 1,00,000 × 0.839619 = ₹83,961.93.
- At 7%: 1.07^3 = 1.225043, so v(3) = 0.816298.
- Price = 1,00,000 × 0.816298 = ₹81,629.79.
- 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
- v(1) = 1.05^(-1) = 0.952381.
- v(2) = 1.06^(-2) = 1 ÷ 1.1236 = 0.889996.
- Coupon bond price = 8 × 0.952381 + 108 × 0.889996.
- 8 × 0.952381 = 7.619048.
- 108 × 0.889996 = 96.119568.
- Price = 7.619048 + 96.119568 = 103.7386.
- 2-year zero at 6%: 100 × 0.889996 = 88.9996, about ₹89.00.
- Implied rate for price 85: y_2 = (100 ÷ 85)^(1/2) − 1.
- 100 ÷ 85 = 1.176471; square root = 1.084652.
- 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
- Annual effective spot rates in India are: 1-year spot rate 6.00% and 2-year spot rate 7.00%. What is the one-year forward rate applying from…
- A two-year zero-coupon bond redeems at ₹100 and is currently priced at ₹81. What is its annual effective yield to maturity?
- Under the pure expectations theory of the term structure, the yield curve is upward sloping when investors expect which of the following?
- The annual effective spot rates are 4.0% for 1 year and 5.0% for 2 years. What is the price of a 2-year zero-coupon bond with a face value o…
- Which statement about implied forward rates derived from an upward-sloping spot rate curve is correct?
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.