Number of Periodic Payments (NPER)

Compute the number of periodic payments. 
 syse.nper(rate, pmt, pv, fv=0, when='end')
Compute the number of periodic payments.
decimal.Decimal
type is not supported. Parameters:
rate (array_like) – Rate of interest (per period)
pmt (array_like) – Payment
pv (array_like) – Present value
fv (array_like, optional) – Future value
when ({{'begin', 1}, {'end', 0}}, {string, int}, optional) – When payments are due (‘begin’ (1) or ‘end’ (0))
Note
 The number of periods
nper
is computed by solving the equation:: fv + pv*(1+rate)**nper + pmt*(1+rate*when)/rate*((1+rate)**nper1) = 0
 but if
rate = 0
then:: fv + pv + pmt*nper = 0
Examples:
If you only had $150/month to pay towards the loan, how long would it take to payoff a loan of $8,000 at 7% annual interest?
import numpy as np import syse as syse print(np.round(syse.nper(0.07/12, 150, 8000), 5)) Output = 64.07335
So, over 64 months would be required to pay off the loan. The same analysis could be done with several different interest rates and/or payments and/or total amounts to produce an entire table:
syse.nper(*(np.ogrid[0.07/12: 0.08/12: 0.01/12, 150: 99: 50, 8000: 9001: 1000])) Output = array([[[ 64.07334877, 74.06368256], [108.07548412, 127.99022654]], [[ 66.12443902, 76.87897353], [114.70165583, 137.90124779]]])