Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Language Reference

DURATION Function

calculates and returns a scalar containing the modified duration of a non-contingent cash-flow.

 { {DURATION}( times,flows,ytm) }

The Duration function returns the modified duration of a non-contingent
cash-flow as a scalar.

times
is an n-dimensional column vector of times.
Elements should be non-negative.
flows
is an n-dimensional column vector of cash-flows.
ytm
is the per-period yield-to-maturity of the cash-flow stream.
This is a scalar and should be positive.

Duration of a security is generally defined as:
D = -[( [dP/P] )/ dy ]
In other words, it is the relative change in price for a unit change in yield. Since prices move in the opposite direction to yields, the sign change preserves positivity for convenience. With cash-flows that are not yield-sensitive and the assumption of parallel shifts to a flat term-structure, duration is given by:
D_{\rm mod}=
\frac{ \sum_{k=1}^K t_k
\frac{ c(k) } { (1+y)^{t_k} }}
{ P (1+y) }
where P is the present value, y is the per period effective yield-to-maturity, K is the number of cash-flows, the k-th cash flow being c(k), tk periods from the present. This measure is referred to as modified duration to differentiate it from the first duration measure ever proposed, Macaulay duration:
D_{\rm Mac}=
\frac{ \sum_{k=1}^K t_k
\frac{ c(k) } { (1+y)^{t_k} }}
{ P }
This expression also reveals the reason for the name duration, since it is a present-value-weighted average of the duration (i.e. timing) of all the cash-flows and is hence an "average time-to-maturity" of the bond.

Example proc iml;
times=1;
ytm=.1;
flow=10;
duration=duration(times,flow,ytm);
print duration;
quit;

DURATION
0.9090909

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.