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:

![{\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](eqn/eqn_0382.png)
If ,

If ,
![{\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](eqn/eqn_0382.png)