Published on

What is and how to calculate yield to maturity (YTM)

Authors
  • avatar
    Name
    Benton Li
    Twitter

Yield to maturity (YTM), usually denoted as r, (unless otherwise specified) is an annualized yield that measures how much you gain for every dollar you invest.

The equation is simple,

YTM=(principalpresent value of the bond)1/tYTM = (\frac{principal}{present\ value\ of \ the\ bond}) ^{1/t}

Principal, or the face value, is known. Terms of maturity t is known too. But what about the present value? Sadly, there is no analytical solution (though there exists one for approximation). Let’s look at an example of solving it.

Suppose we have a bond that has a payment schedule below.

YearCash flow
1c (coupon)
2c
3p (principal) + c

Suppose we know the YTM = r%, then we can compute discount factors (DF) and present value (PV) of each cash flow.

YearCash flowDFPV
1c1+r1+rc1+r\frac{c}{1+r}
2c(1+r)2(1+r)^2c(1+r)2\frac{c}{(1+r)^2}
3p + c(1+r)3(1+r)^3p+c(1+r)3\frac{p+c}{(1+r)^3}

Sum up PV, we will get a dirty price:

dirty price=c1+r+c(1+r)2+p+c(1+r)3dirty\ price = \sum{\frac{c}{1+r}+\frac{c}{(1+r)^2}+\frac{p+c}{(1+r)^3}}

How do you solve r?

Short answer: iterative solving r so that dirty price = p

Sort of short answer: dump the table into Excel, and use a solver to set dirty price = p by changing r.

See also: