Returns the interest rate per period of an annuity with an initial guess.

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,
	double guess
)
Visual Basic (Declaration)
Public Shared Function Rate ( _
	nper As Integer, _
	pmt As Double, _
	pv As Double, _
	fv As Double, _
	time As Finance..::.Period, _
	guess As Double _
) As Double
Visual C++
public:
static double Rate(
	int nper, 
	double pmt, 
	double pv, 
	double fv, 
	Finance..::.Period time, 
	double guess
)

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).
guess
Type: System..::.Double
A double value which represents an initial guess at the interest rate per period of an annuity.

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