DURP Function

Returns the modified duration for a periodic cash flow stream, such as a bond.

Category: Financial

Syntax

DURP(A,c,n,K,k0,y)

Required Arguments

A

specifies the par value.

Range A > 0

c

specifies the nominal per-period coupon rate, expressed as a fraction.

Range 0 ≤ c< 1

n

specifies the number of coupons per period.

Range n > 0 and is an integer

K

specifies the number of remaining coupons.

Range K > 0 and is an integer

k0

specifies the time from the present date to the first coupon date, expressed in terms of the number of periods.

Range 0 < k0 ≤ 1/n

y

specifies the nominal per-period yield-to-maturity, expressed as a fraction.

Range y > 0

Details

The DURP function returns the value
D = 1 n Σ k = 1 K t k c ( k ) ( 1 + y n ) t k P ( 1 + y n )
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 following relationship applies to the preceding equation:
P = Σ k = 1 K c ( k ) ( 1 + y n ) t k

Example

data _null_;
d=durp(1000,1/100,4,14,.33/2,.10);
put d;
run;
The value returned is 3.26496.