Returns the net present value of a stream of equal periodic cash flows, which are subject to a given discount rate.

Namespace: Imsl.Finance
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
public static double Pv(
	double rate,
	int nper,
	double pmt,
	double fv,
	Finance..::.Period time
)
Visual Basic (Declaration)
Public Shared Function Pv ( _
	rate As Double, _
	nper As Integer, _
	pmt As Double, _
	fv As Double, _
	time As Finance..::.Period _
) As Double
Visual C++
public:
static double Pv(
	double rate, 
	int nper, 
	double pmt, 
	double fv, 
	Finance..::.Period time
)

Parameters

rate
Type: System..::.Double
A double which specifies the interest rate per period.
nper
Type: System..::.Int32
A int which specifies the number of periods.
pmt
Type: System..::.Double
A double which specifies the payment made each period.
fv
Type: System..::.Double
A double which specifies the annuity's value after the last payment.
time
Type: Imsl.Finance..::.Finance..::.Period
The time in a Period when the payment is made (either AtEnd or AtBeginning).

Return Value

A double which specifies the present value of the investment.

Remarks

It can be found by solving the following:

If {\it rate} = 0,


            {\it pv} + {\it pmt} \times {\it nper} + {\it fv} = 0

If {\it rate} \ne 0,


            {\it pv}(1 + {\it rate})^{\it nper}  + {\it pmt} \left[ {1 + {\it 
            rate} \left( {\it period} \right)} \right] {{(1 + {\it rate})^{\it 
            nper}  - 1} \over {\it rate}} + {\it fv} = 0

See Also