YIELD Function

YIELD (times, flows, freq, value) ;

The YIELD function returns a scalar that contains yield-to-maturity of a cash-flow stream based on frequency and value specified.

The arguments to the YIELD function are as follows:

times

is an $n$-dimensional column vector of times. Elements should be nonnegative.

flows

is an $n$-dimensional column vector of cash flows.

freq

is a scalar that represents the base of the rates to be used for discounting the cash flows. If positive, it represents discrete compounding as the reciprocal of the number of compoundings. If zero, it represents continuous compounding. No negative values are accepted.

value

is a scalar that is the discounted present value of the cash flows.

The present value relationship can be written as

\[  P=\sum _{k=1}^{K} c(k) D(t_ k)  \]

where $P$ is the present value of the asset, $\{ c(k)\} {k=1,..K}$ is the sequence of cash flows from the asset, $t_ k$ is the time to the $k$th cash flow in periods from the present, and $D(t)$ is the discount function for time $t$.

With continuous compounding:

\[  D(t) = e^{-y t}  \]

With discrete compounding:

\[  D(t) = (1+fy)^{-t/f}  \]

where $f > 0$ is the frequency, the reciprocal of the number of compoundings per unit time period, and $y$ is the yield-to-maturity. The YIELD function solves for $y$.

For example, the following statements produce the output shown in Figure 23.378:

timesn = T(do(1, 100, 1));
flows = repeat(10, 100);
freq = 50;
value = 682.31027;
yield = yield(timesn, flows, freq, value);
print yield;

Figure 23.378: Yield to Maturity

yield
0.01