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.

See also fv, ipmt, nper, ppmt, rate.