Valuing Bonds with Embedded Options, Part 1

We finally put the Binomial Tree Framework to work pricing callable and putable bonds, walking through how cash flows shift at every node as rates move.

Now we can finally do what we learned the Binomial Tree Framework for, since we’re assuming a call and a put!

We do the valuation by plugging in whether the call/put gets exercised as interest rates jiggle up and down in the future:

Interest rate tree: from S1 the rate goes up or down to nodes 1 and 2, then on to nodes 3, 4 and 5, with a forward rate on every branch

The trick is to work backwards. At a node, find what the remaining payments are worth, apply any exercise right available there, and then move one step towards today. The exercise decision changes the value we carry back.

Since the cash flow is going to be different at every node, let’s see how we plug in the numbers and calculate.

Textbook example: a two-year 7% annual-pay bond with par 100, callable in one year at 100 (and a putable twin), on an interest rate tree with rates 4.5749%, 7.1826% and 5.3210%

Each bond pays a coupon of 7 at the end of each year and repays 100 at maturity. The call or put can be exercised at 100 after one year. In this example we treat the year-one coupon separately from the exercise price.

The same tree redrawn with the cash flows (100 and 7) on the nodes and the rates 4.5749%, 7.1826% and 5.3210% on the edges

Start at maturity: the payment is $100+7=107$ in either state. One year earlier, the values excluding the coupon payable at that node are

$$V_1^{up}=\frac{107}{1.071826}=99.8296,\qquad V_1^{dn}=\frac{107}{1.053210}=101.5942.$$

Higher rates, lower bond value. OK, that part feels familiar. Use the lower node’s own rate, 5.3210%, in the second denominator; the next picture accidentally writes today’s rate there.

Callable: the issuer gets the choice

Callable bond: backward induction gives 99.830 at the up node and 101.594 at the down node, the down node is cut to the call price 100, and the callable bond is worth 102.238

If keeping the bond alive costs the issuer 101.5942, why leave it alive when it can be called for 100?

That’s the call rule: use the smaller of continuation value and call price. The up node stays at 99.8296; the down node is capped at 100. Then add the coupon of 7 at each node and discount the average back to today:

$$V_{callable}=\frac{0.5(99.8296+7)+0.5(100+7)}{1.045749} \approx102.2376.$$

The 50/50 weights are the tree’s risk-neutral valuation probabilities, not a prediction that actual rates must have equal odds of rising and falling.

Putable: now the investor gets the choice

Putable bond: the up node is lifted to the put price 100, the down node stays 101.594, and the putable bond is worth 103.081

Flip the logic. If the bond is worth only 99.8296, the investor would rather put it back for 100. So the put rule takes the larger value. The up node is lifted to 100; the down node stays at 101.5942:

$$V_{putable}=\frac{0.5(100+7)+0.5(101.5942+7)}{1.045749} \approx103.0812.$$

The coupon is still added once. The floor or cap applies to the bond value after that coupon, not to a total that silently swallows it.

Strip out the options and compare

Straight bond: no node is changed and the value is 102.999

For a straight bond, neither node gets clipped. Carry both continuation values back in exactly the same way:

$$V_{straight}=\frac{0.5(99.8296+7)+0.5(101.5942+7)}{1.045749} \approx102.9998.$$

The option values: call = straight minus callable = 0.76, put = putable minus straight = 0.082

Now the differences tell us what the rights are worth. The issuer’s call takes value away from the investor: $V_{straight}-V_{callable}\approx0.7622$. The investor’s put adds value: $V_{putable}-V_{straight}\approx0.0815$.

The notes subtract already rounded prices and get 0.082 for the put; keeping precision gives about 0.0815. More useful than that last decimal is the ordering: callable < straight < putable, when the other terms are the same. Who gets the choice? That’s what changes the price.


Heads-up. The figures here are the original notes, slips and all. A few things to watch for:

  • In the backward-induction picture, $V_1^{dn}$ is discounted at the lower node’s rate, so it should read $V_1^{dn} = (100 + 7)/1.053210 = 101.594$ dollars; the picture writes $1.045749$ (today’s rate) in the denominator, though its result is right.

Comments

Discussion happens via GitHub Discussions. You'll need a GitHub account to comment.