Investment Studio > Expressions > Functions > Financial > RATE
float rate(integer payment_periods, float periodic_payment, float present_value = 0, float future_value = 0, integer payment_timing = 0, float guess = 10%)
Returns the interest rate per payment period of an investment which pays a fixed amount at regular intervals.
payment_periods is the total number of future payment periods.
periodic_payment is the fixed amount (e.g. a bond coupon) paid for each payment period. It's positive for inflows, negative for outflows.
present_value is the initial value of the investment, e.g. the amount deposited into a bank account in order to receive a series of interest payments. It's a positive number if it represents an initial payment to the investor, a negative number if it represents a payment made by the investor (e.g. a bank deposit). If omitted, present_value defaults to 0.
future_value is the value of the investment after the last payment period. If omitted, future_value defaults to 0.
payment_timing is used to specify whether payments are made at the end of each period (= 0) or at the beginning of each period (= 1). If omitted, payment_timing defaults to 0.
guess is the starting point for the iterative procedure used to find the rate. If no solution accurate to within 1E-7(1E-5 %) is found after 20 iterations, the result is an error (#N/A). In that case, a different guess may yield a better result. If guess is omitted, it defaults to 10%.
Example
The monthly interest rate of a five-year 10 000 USD loan with monthly payments of USD 200 is
=rate(5 * 12, -200, 10000)
» 0.62%. The annual rate is
= 12 * rate(5 * 12, -200, 10000)
» 7.42%.