YIELDP Function

Returns the yield-to-maturity for a periodic cash flow stream, such as a bond.

Category: Financial

Syntax

YIELDP(A,c,n,K,k0,p)

Required Arguments

A

specifies the face value.

Range A > 0

c

specifies the nominal annual coupon rate, expressed as a fraction.

Range 0 c < 1

n

specifies the number of coupons per year.

Range n > 0 and is an integer

K

specifies the number of remaining coupons from settlement date to maturity.

Range K > 0 and is an integer

k0

specifies the time from settlement date to the next coupon as a fraction of the annual basis.

Range 0 < k 0 1 n

p

specifies the price with accrued interest.

Range p > 0

Details

The YIELDP function is based on the following relationship:
P = Σ k = 1 K c ( k ) 1 ( 1 + y n ) t k
The following relationships apply to the preceding equation:
  • t k = n k 0 + k - 1
  • c ( k ) = c n A f o r k = 1 , , K - 1
  • c ( K ) = ( 1 + c n ) A
The YIELDP function solves for y.

Example

In the following example, the YIELDP function returns the yield-to-maturity of a bond that has a face value of 1000, an annual coupon rate of 0.01, 4 coupons per year, and 14 remaining coupons. The time from settlement date to next coupon date is 0.165, and the price with accrued interest is 800.
data _null_;
   y=yieldp(1000,.01,4,14,.165,800);
   put y;
run;  
The value returned is 0.0775031248.