Find YTC and YTM

whoopcrack

New member
Joined
Feb 22, 2015
Messages
5
A corporation sold a 30-year bond with a coupon rate of 8% (4% semiannually) two years ago. The bonds are callable at 105% of par value 5 years after issue and 103% of par value 10 years after issue. The bonds are currently priced at 120% of par value. What is the yield to call after 5 years, after 10 years, and the yield to maturity?
 
DISCLAIMER: Beer soaked rambling/opinion/observation/reckoning ahead. Read at your own risk. Not to be taken seriously. In no event shall the wandering math knight-errant Sir jonah in his inebriated state be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the use of his beer (and tequila) powered views.
What do you have so far?
 
A corporation sold a 30-year bond with a coupon rate of 8% (4% semiannually) two years ago. The bonds are callable at 105% of par value 5 years after issue and 103% of par value 10 years after issue. The bonds are currently priced at 120% of par value. What is the yield to call after 5 years, after 10 years, and the yield to maturity?

http://l.thinkanddone.com/tadBYTM.exe

Put the numbers in and in find out
 
DISCLAIMER: Beer soaked rambling/opinion/observation/reckoning ahead. Read at your own risk. Not to be taken seriously. In no event shall the wandering math knight-errant Sir jonah in his inebriated state be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the use of his beer (and tequila) powered views.
What do you have so far?

I got
2.64% for YTC5years
5.22% for YTC10years
6.45% for YTM

I checked these with all YTM YTC calculators I can find online and I got different values.

Just want to check if I'm right.
For example, for YTM it is
(40(1-(1+i)^-2*28)/i + 1000/(1+i)^2*28

Right?
 
Thanks so much!!!

Can you give us the install link of your program again?
link was broken last time.
 
Thanks so much!!!

Can you give us the install link of your program again?
link was broken last time.


I used to have plenty of online financial calculators roughly 200 of them

I took em all down, as I needed the money that I once used to earn when I charged visitors with a Pay Per Use model, they had to purchase an authorization code for that

I still have some of the Windows 7 and 8 calculators of which I gave you a link to previously

I suppose you were using Windows XP thus were not able to use the calc as it requires .net framework which comes with Windows 7 and 8 by default

Sorry couldn't help you with YTC calcs as I thought I had one of the Windows YTC calc on the domain yet it seems its not there

Here are few bond analytics Windows 7 and 8 calculators

http://l.thinkanddone.com/tadBYTM.exe
http://l.thinkanddone.com/tadBPrice.exe
http://l.thinkanddone.com/tadBCouponRate.exe
http://l.thinkanddone.com/tadBDuration.exe
http://l.thinkanddone.com/tadBConvexity.exe
 
I wrote a quick YTC function in JavaScript using Newton-Raphson method, however I happen to know 150 different numerical methods to find interest rates such as YTM, YTC, IRR, etc

I get these two YTC values

Code:
[COLOR=#000000][FONT=Times New Roman]YTC after 5 since issue = 2.64% [/FONT][/COLOR]
[COLOR=#000000][FONT=Times New Roman]YTC after 10 since issue = 5.22% [/FONT][/COLOR]


Code:
<html>
<body>
<script>
var par=100;
var price=120;
var call_price=105;
var nper=6;
var c_rate=0.04;
var guess=0.1;
var pmt;
var ytc5;
var ytc10;


pmt=par*c_rate;
ytc5 = Math.round(nr(guess, nper, pmt, price, call_price)*20000)/100; 


nper = 16;
call_price=103;


ytc10 = Math.round(nr(guess, nper, pmt, price, call_price)*20000)/100; 


document.write("YTC after 5 = "+ytc5+"% <br/> YTC after 10 = "+ytc10+"%");




function nr(guess, nper, pmt, price, call_price)
{
var x,x0,f,f_prime;
var i;


x0 = guess;


for (i=0;i<100;i++)
{
  f = -price + pmt * pvifa(x0,nper) + call_price * pvif(x0,nper);
  f_prime = pmt * pvifa_prime(x0,nper) + call_price * pvif_prime(x0,nper);
  if(f_prime==0)
    return "#DIV0";
  x = x0 - f/f_prime;
  if(Math.abs(x-x0)<0.000001)
    return x;
  x0 = x;
}
return "#NUM!";
}


function pvif(i,n)
{
  if (i==0)
    return 1;
  if (n==0)
    return 1;
  return Math.pow(1+i,-n);
}
function pvif_prime(i,n)
{
  if (i==0)
    return 0;
  if (n==0)
    return 0;
  return -n*Math.pow(1+i,-n-1);
}
function pvifa(i,n)
{
  if (i==0)
    return 1;
  if (n==0)
    return 0;
  return (1 - pvif(i,n))/i;
}
function pvifa_prime(i,n)
{
  if (i==0)
    return 0;
  if (n==0)
    return 0;
  return ( i*-pvif_prime(i,n) - 1 + pvif(i,n) ) / Math.pow(i,2);
}
</script>
</body>
</html>
 
Last edited:
...
NOW: what's that strange "guess rate" of 10%
go to do with anything?
Calculate the present value?
An initial guess of the interest to get things started.

While we talking about numerical methods, a pretty good one for this problem is
ij+1 = c [xj - 1] / [a xj - b]
where
xj = (1+ij)n
and then double that rate to get the annual rate since it is cpd every 6 months.


i
x
2i
0.1
207.9651
0.2
0.033306512
6.263734
6.66130%
0.032310286
5.934365
6.46206%
0.032244229
5.913137
6.44885%
0.032239678
5.911677
6.44794%
0.032239363
5.911577
6.44787%
0.032239342
5.91157
6.44787%
0.03223934
5.911569
6.44787%

Even a bad initial guess of 0.8 [160% annual interest] agrees at the 2nd iterate to 3 significant figures.
 
Top