Returns the interest rate per period of an annuity.

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

Syntax

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

Parameters

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.
pv
Type: System..::.Double
A double which specifies the present value.
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 interest rate per period of an annuity.

Remarks

Rate is calculated by iteration and can have zero or more solutions. 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