Investment Studio > Expressions > Functions > Financial > PV
float pv(float interest_rate, integer payment_periods, float periodic_payment, float future_value = 0, integer payment_timing = 0)
Returns the present value (the discounted value of all future payments) of an investment which pays a fixed amount at regular intervals.
interest_rate is the interest rate per payment period.
payment_periods is the total number of future payment periods.
periodic_payment is the fixed amount (e.g. a bond coupon) paid for each payment period. It's positive for inflows, negative for outflows.
future_value is the value of the investment after the last payment period. If omitted, future_value defaults to 0.
payment_timing is used to specify whether payments are made at the end of each period (= 0) or at the beginning of each period (= 1). If omitted, it defaults to 0.
Example
Given a 5% annual interest rate, the present value of an annuity that pays 2000 USD at the end of every month for 25 years is
=pv(5% / 12, 12 * 25, 2000, 0)
» USD -342 120.09 (negative since this is the outgoing flow required to purchase the annuity).
If the interest rate were to sink to 2%, the present value of the same annuity would be
=pv(2% / 12, 12 * 25, 2000, 0)
» USD -471 860.22.