Chapter Contents Previous Next
 Language Reference

## PV Function

calculates the present value of a vector of cash-flows and returns a scalar

The PV function returns a scalar containing the present value of the cash-flows
based on the specified frequency and rates.

times
is an n x 1 column vector of times.
Elements should be non-negative.
flows
is an n x 1 column vector of cash-flows.
freq
is a scalar which 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.
If -1, it represents per-period discount factors.
No other negative values are allowed.
rates
is an n x 1 column vector of rates
to be used for discounting the cash-flows.
Elements should be positive.

A general present value relationship can be written as:
where P is the present value of the asset, {c(k)}k = 1,..K is the sequence of cash-flows from the asset, tk 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 per-unit-time-period discount factors dt:
D(t) = dtt
With continuous compunding:
D(t) = e-rt t
With discrete compunding:
D(t) = (1+fr)-(t/f)
where f > 0 is the frequency, the reciprocal of the number of compoundings per unit time period.

Example proc iml;
timesn=do(1,100,1);
timesn=T(timesn);
flows=repeat(10,100);
freq=0;
do while(freq<50);
freq=freq+.25;
end;
rate=repeat(.10,100);
pv=pv(timesn,flows,freq,rate);
print pv;
quit;

PV
266.4717

 Chapter Contents Previous Next Top