- Function InvestmentConstantRate(PresentValue, FutureValue, Payment, NumberPeriods, Type, LowerBound, UpperBound, Error)
InvestmentConstantRate
The function InvestmentConstantRate returns the interest rate for an
investment based on periodic, constant payments and a constant interest
rate. This function uses the procedure InvestmentConstantRateAll to
determine all possible interest rates and returns the interest rate that
is within the specified bounds.
InvestmentConstantRate(
    PresentValue,            ! (input) numerical expression
    FutureValue,             ! (input) numerical expression
    Payment,                 ! (input) numerical expression
    NumberPeriods,           ! (input) numerical expression
    Type,                    ! (input) numerical expression
    [LowerBound,]            ! (optional) numerical expression
    [UpperBound,]            ! (optional) numerical expression
    [Error]                  ! (optional) numerical expression
    )
Arguments
- PresentValue
The total amount that a series of future payments is worth at this moment. PresentValue must be a real number.
- FutureValue
The cash balance you want to attain after the last payment is made. FutureValue must be a real number.
- Payment
The periodic payment for the investment. Payment must be a real number.
- NumberPeriods
The total number of payment periods for the investment. NumberPeriods must be a positive integer.
- Type
Indicates when payments are due. \(Type = 0\): Payments are due at the end of each period. \(Type = 1\): Payments are due at the beginning of each period.
- LowerBound
Indicates a minimum for the interest rate to be accepted by this function. The default is \(-1\).
- UpperBound
Indicates a maximum for the interest rate to be accepted by this function. The default is \(5\).
- Error
Indicates whether AIMMS should give an error if multiple solutions are found that satisfy the bounds. \(Error = 0\): if multiple solutions are found, return the solution with the smallest absolute value. \(Error = 1\): if multiple solutions are found, return an error message. The default is \(0\).
Return Value
The function
InvestmentConstantRatereturns the interest rate for an investment based on periodic, constant payments and a constant interest rate.
Note
- The function - InvestmentConstantRatecan be used in an objective function or constraint. The input parameters PresentValue, FutureValue and Payment can be used as variables.
- The function - InvestmentConstantRateis similar to the Excel function- RATE.
Example
InvestmentConstantRate is used when there is a fixed series of equal payments
to determine the interest percentage needed to make up for a loan or to save up for an investment.
! Which interest rate do I need to save up for a given investment
! with a given series of fixed savings?
_p_pctSavingUp :=
        InvestmentConstantRate(
                PresentValue  :  0,
                FutureValue   :  -100,
                Payment       :  10,
                NumberPeriods :  8,
                type          :  0,
                LowerBound    :  -1,
                UpperBound    :  5,
                Error         :  1);
! With which percentage can I pay off a loan,
! given a fixed series of equal payments?
_p_pctReimburse :=
        InvestmentConstantRate(
                PresentValue  :  -100,
                FutureValue   :  0,
                Payment       :  10,
                NumberPeriods :  13,
                type          :  0,
                LowerBound    :  -1,
                UpperBound    :  5,
                Error         :  1);
block where single_column_display := 1, listing_number_precision := 6 ;
        display { _p_pctSavingUp, _p_pctReimburse};
endblock ;
As the number of periods used are not equal, it is hard to compare the results.
_p_pctSavingUp  := 0.062870 ;
_p_pctReimburse := 0.039769 ;
See also
- General equations for investments with constant, periodic payments.