Here is the present value equation from finance I'm acclimated to:
http://financeformulas.net/Present_Value.html
However, numpy's pv expects something like np.pv(rate=0.05/12, nper=10*12, pmt=-100, fv=15692.93)
.
I am trying to figure out how to calculate the net present value of $23,000 with a discount rate of 5% over 2 years (one period per year).
np.pv(rate=0.05, nper=2, fv=23000)
is not permitted.
Is there something I'm not seeing? Thanks.
The formula you linked to is simply the present lump sum that must be invested to grow to a certain amount over a certain time. That is not what numpy.pv
is. As described in the documentation, numpy.pv
is for answering the question (emphasis added):
What is the present value (e.g., the initial investment) of an investment that needs to total $15692.93 after 10 years of saving $100 every month?
Crucially, this involves periodic additional investments.
The formula you linked to is much simpler than the formula used by numpy.pv
(which can also be seen in the documentation), so you don't need any special function to compute it. To answer your question, just write down the expression in your forumula directly:
PV = 23000/(1.05)**2
If you really want to use numpy.pv
, you can get your answer out of it just by setting pmt
to zero:
np.pv(rate=0.05, nper=2, fv=23000, pmt=0)
(The answer will be negative due to the convention that pv
uses whereby negative amounts indicate money you must pay out.)