numpy.pv — NumPy v1.11 Manual (original) (raw)

numpy.pv(rate, nper, pmt, fv=0.0, when='end')[source]

Compute the present value.

Given:

Return:

the value now

Parameters: rate : array_like Rate of interest (per period) nper : array_like Number of compounding periods pmt : array_like Payment fv : array_like, optional Future value when : {{‘begin’, 1}, {‘end’, 0}}, {string, int}, optional When payments are due (‘begin’ (1) or ‘end’ (0))
Returns: out : ndarray, float Present value of a series of payments or investments.

Notes

The present value is computed by solving the equation:

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

or, when rate = 0:

for pv, which is then returned.

References

[WRW] 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:http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formulaOpenDocument-formula-20090508.odt

Examples

What is the present value (e.g., the initial investment) of an investment that needs to total 15692.93after10yearsofsaving15692.93 after 10 years of saving 15692.93after10yearsofsaving100 every month? Assume the interest rate is 5% (annually) compounded monthly.

np.pv(0.05/12, 10*12, -100, 15692.93) -100.00067131625819

By convention, the negative sign represents cash flow out (i.e., money not available today). Thus, to end up with 15,692.93in10yearssaving15,692.93 in 10 years saving 15,692.93in10yearssaving100 a month at 5% annual interest, one’s initial deposit should also be $100.

If any input is array_like, pv returns an array of equal shape. Let’s compare different interest rates in the example above:

a = np.array((0.05, 0.04, 0.03))/12 np.pv(a, 10*12, -100, 15692.93) array([ -100.00067132, -649.26771385, -1273.78633713])

So, to end up with the same 15692.93underthesame15692.93 under the same 15692.93underthesame100 per month “savings plan,” for annual interest rates of 4% and 3%, one would need initial investments of 649.27and649.27 and 649.27and1273.79, respectively.