numpy.rate(nper, pmt, pv, fv, when='end', guess=None, tol=None, maxiter=100)[source]

Compute the rate of interest per period.


nper : array_like

Number of compounding periods

pmt : array_like


pv : array_like

Present value

fv : array_like

Future value

when : {{‘begin’, 1}, {‘end’, 0}}, {string, int}, optional

When payments are due (‘begin’ (1) or ‘end’ (0))

guess : Number, optional

Starting guess for solving the rate of interest, default 0.1

tol : Number, optional

Required tolerance for the solution, default 1e-6

maxiter : int, optional

Maximum iterations in finding the solution


The rate of interest is computed by iteratively solving the (non-linear) equation:

fv + pv*(1+rate)**nper + pmt*(1+rate*when)/rate * ((1+rate)**nper - 1) = 0

for rate.


Wheeler, D. A., E. Rathke, and R. Weir (Eds.) (2009, May). Open Document Format for Office Applications (OpenDocument)v1.2, Part 2: Recalculated Formula (OpenFormula) Format - Annotated Version, Pre-Draft 12. Organization for the Advancement of Structured Information Standards (OASIS). Billerica, MA, USA. [ODT Document]. Available: OpenDocument-formula-20090508.odt

Previous topic


Next topic

Functional programming