numpy.nper — NumPy v1.11 Manual (original) (raw)
numpy.nper(rate, pmt, pv, fv=0, when='end')[source]¶
Compute the number of periodic payments.
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)) |
---|
Notes
The number of periods nper is computed by solving the equation:
fv + pv*(1+rate)nper + pmt(1+rate*when)/rate((1+rate)**nper-1) = 0
but if rate = 0 then:
Examples
If you only had 150/monthtopaytowardstheloan,howlongwouldittaketopay−offaloanof150/month to pay towards the loan, how long would it take to pay-off a loan of 150/monthtopaytowardstheloan,howlongwouldittaketopay−offaloanof8,000 at 7% annual interest?
print(round(np.nper(0.07/12, -150, 8000), 5)) 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.
np.nper(*(np.ogrid[0.07/12: 0.08/12: 0.01/12, ... -150 : -99 : 50 , ... 8000 : 9001 : 1000])) array([[[ 64.07334877, 74.06368256], [ 108.07548412, 127.99022654]], [[ 66.12443902, 76.87897353], [ 114.70165583, 137.90124779]]])