Investment Studio > Expressions > Functions > Financial > CUMIPMT
float cumipmt(float interest_rate, integer payment_periods, float present_value, integer first_period, integer last_period, integer payment_timing = 0)
Returns the cumulative interest paid on a loan (i.e. the sum of all interest payments) between first_period and last_period.
IMPORTANT: In all annuity functions, outflows have negative sign; inflows have positive sign. Interest payments on a loan are considered outflows, so the result of cumipmt is negative.
interest_rate > 0 is the interest rate for a payment period: for monthly payments, it's the monthly interest rate, for annual payments it's the annual interest rate and so on.
payment_periods > 0 is the total number of payment periods.
present_value > 0 is the present value of the loan.
first_period >= 1 is the first payment period contributing to the result. Payment periods are referred to by number (from 1 and up).
last_period >= first_period is the last payment period contributing to the result. Payment periods are referred to by number (from 1 and up).
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, it defaults to 0.
Example
Consider a loan with the following properties:
The total interest paid in the third year of payments (periods 5 and 6) is
=cumipmt(7% / 2, 10 * 2, 100000, 5, 6)
» -5814.66 (note the sign!). The first interest payment on this loan (period 1) is
=cumipmt(7% / 2, 10 * 2, 100000, 1, 1)
= -3500. If we were to change the payment timing to 1 (payment at the beginning of each period) the result for the first period would be
=cumipmt(7% / 2, 10 * 2, 100000, 1, 1, 1)
= 0, since no interest has been accrued at the beginning of the first period.