Saturday, 1 August 2015

First coupon adjustment to the simple bond pricer

$ c(\frac{1-{\frac{1}{(1+r)^n}}}{1-\frac{1}{(1+r)}}) + \frac{P}{(1+r)^{n}}$

To make this slightly better, I will improve the first part of the equation - the annuity.  This is the equality of the sum of $n$ payments starting with the amount $c$.  But with a bond, you never start with $c$.  You will either (1) have a whole period to wait (that is, you start with $\frac{c}{(1+r)}$), or else (2) you're a day away from the coupon payment, in which case if you do buy the bond, you have to compensate the buyer by giving him an accrued interest payment equivalent to almost that whole coupon, or else (3) you're somewhere in between, in which case you can assume you get coupon minus accrued interest, which is a time-linear fraction of the coupon.

So the equation at the top is too generous to you, since it assumes the first coupon payment is $c$.  Best case, it is  $\frac{c}{(1+r)}$, but probably some fraction of that.  Notice that on the bottom line $1- \frac{1}{(1+r)}$ is also expressed as $\frac{r}{(1+r)}$, which means you multiply by $\frac{(1+r)}{r}$.  But if best case I only get an annuity of $\frac{c}{(1+r)}$, the  expression simplifies and you have:

$ c(\frac{1-{\frac{1}{(1+r)^n}}}{r}) + \frac{P}{(1+r)^{n}}$

Lastly you can just make an adjustment for the fact that you only get some fraction $f$ of that first coupon of $\frac{c}{(1+r)}$ anyway.

$ c(\frac{1-{\frac{1}{(1+r)^n}}}{r}) + \frac{P}{(1+r)^{n}} - f(\frac{c}{(1+r)})$

Ukrainian sovereign bond pricer

Displaying image001.png

I took the equation for a simple bond pricer discussed in my last post and created an excel formula with it.  I then loaded up a Ukrainian bond and checked out its maturity date, face value, coupon and current market price.  I used these to work out which value of the discounting value $r$ returned the current market price of the bond.  I then subtracted the risk free rate, and the resulting implied credit spread was really surprisingly close to the actual credit spread of the bond.  I just used Excel's goal seek functionality to find $r$ based on the inputs.