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%.

See also fv, ipmt, nper, pmt, ppmt, pv.