<p>The wording of the question is vague, but I will assume that the objective is to get a zero/discount curve via bootstrapping.</p>
<p>The premise of a bootstrapping is straightforward: fit a zero curve so that the shortest maturity bond is priced perfectly. Since we don’t have any other information, assume the curve is flat up to the first maturity; the curve matches the bond yield (modulo quote conventions). In other words, we have the zero curve defined to the maturity of bond #1.</p>
<p>(Pricing the bond perfectly means that if we discount the cash flows of the bond by our zero curve, the sum of the discounted values equals the market price.)</p>
<p>We then target the next maturity. We extend the zero curve so that it is priced perfectly. We will note that the initial coupons are discounted by the already fitted curve, the later coupons and principal by the new curve. Find the discount curve extension that results in bond #2 being priced correctly. That is, the zero curve is now defined to maturity #2.</p>
<p>Repeat for bond #3, ... N.</p>
<p>Issues arise.</p>
<ul>
<li>There are any number of ways that the curve can be interpolated, including how to define the curve. (Interpolate between knot points, functional definition, etc. Do we interpolate forward rates or zero rates? Etc.)</li>
<li>Bonds can be mis-priced, and the curve ends up severely distorted.</li>
</ul>
<p>Finally, the code/mathematical formulae are complex. Even an ugly approximations take a lot of code.</p>

CC BY-SA 4.0
2020-08-19T19:44:03.777Z
Can I show you my calculation in Excel and will you tell me if it is correct?
Daniel
CC BY-SA 4.0
2020-08-19T20:08:45.547Z
Thank you for your answer, it helps
Daniel
CC BY-SA 4.0
2020-08-19T19:33:09.893Z
2020-08-19T19:33:09.893Z
Brian Romanchuk
<p>I am supposed to calculate term structure of interest rate. I got the table including several bonds with price of the bond, face value and number of years till maturity.
<a href="https://i.sstatic.net/SI39L.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/SI39L.png" alt="enter image description here" /></a></p>
<p>I calculated yield of each bond, picture attached below.
<a href="https://i.sstatic.net/CJb78.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/CJb78.png" alt="enter image description here" /></a></p>
<p>My question is.. how am I supposed to calculate the term structure of interest rate from this data? In other words I need the spot rates.</p>
<p>Comma is meant as decimal seperator.</p>
<p>Thanks for any help.</p>

CC BY-SA 4.0
2020-08-19T19:09:54.440Z
The wording of this question is too vague. “Spot rates” just means the yields for “immediate” delivery (whatever the market convention is). “Term structure” is also vague, just a reference to yield curves not being flat. Do you mean that you need something like a bootstrapping or par coupon curve?
Brian Romanchuk
CC BY-SA 4.0
2020-08-19T19:15:38.447Z
@BrianRomanchuk I need something like bootstrapping.. this what I did in my calculation is boostrapping?
Daniel
CC BY-SA 4.0
2020-08-19T19:16:54.737Z
Will write an answer.
Brian Romanchuk
<finance><financial-economics>
Calculation of term structure
Daniel
# Calculation of term structure

(Asked by: username_0 on 2020-08-19)

I am supposed to calculate term structure of interest rate. I got the table including several bonds with price of the bond, face value and number of years till maturity.
[![enter image description here](https://i.sstatic.net/SI39L.png)](https://i.sstatic.net/SI39L.png)

I calculated yield of each bond, picture attached below.
[![enter image description here](https://i.sstatic.net/CJb78.png)](https://i.sstatic.net/CJb78.png)

My question is.. how am I supposed to calculate the term structure of interest rate from this data? In other words I need the spot rates.

Comma is meant as decimal seperator.

Thanks for any help.

**Tags:** finance, financial-economics

> **Comments:**
> **username_1**: The wording of this question is too vague. “Spot rates” just means the yields for “immediate” delivery (whatever the market convention is). “Term structure” is also vague, just a reference to yield curves not being flat. Do you mean that you need something like a bootstrapping or par coupon curve?  
> **username_0**: @BrianRomanchuk I need something like bootstrapping.. this what I did in my calculation is boostrapping?  
> **username_1**: Will write an answer.  

---

## 1 answers

### Answer by username_1 on 2020-08-19. Score: 0 | Accepted answer

The wording of the question is vague, but I will assume that the objective is to get a zero/discount curve via bootstrapping.

The premise of a bootstrapping is straightforward: fit a zero curve so that the shortest maturity bond is priced perfectly. Since we don’t have any other information, assume the curve is flat up to the first maturity; the curve matches the bond yield (modulo quote conventions). In other words, we have the zero curve defined to the maturity of bond #1.

(Pricing the bond perfectly means that if we discount the cash flows of the bond by our zero curve, the sum of the discounted values equals the market price.)

We then target the next maturity. We extend the zero curve so that it is priced perfectly. We will note that the initial coupons are discounted by the already fitted curve, the later coupons and principal by the new curve. Find the discount curve extension that results in bond #2 being priced correctly. That is, the zero curve is now defined to maturity #2.

Repeat for bond #3, ... N.

Issues arise.

* There are any number of ways that the curve can be interpolated, including how to define the curve. (Interpolate between knot points, functional definition, etc. Do we interpolate forward rates or zero rates? Etc.)
* Bonds can be mis-priced, and the curve ends up severely distorted.

Finally, the code/mathematical formulae are complex. Even an ugly approximations take a lot of code.

> **Comments:**
> **username_0**: Can I show you my calculation in Excel and will you tell me if it is correct?  
> **username_0**: Thank you for your answer, it helps  

---

