Investment Studio > Expressions > Functions > Financial > NPER
float nper(float interest_rate, float periodic_payment, float present_value, float future_value = 0, integer payment_timing = 0)
Returns the number of periodic payments of a fixed amount needed for an investment to have the specified present value.
interest_rate is the interest rate per payment period.
periodic_payment is the fixed amount (e.g. a bond coupon) paid for each payment period. It's positive for inflows, negative for outflows.
present_value is the initial value of the investment, e.g. the amount deposited into a bank account in order to receive a series of interest payments. It's a positive number if it represents an initial payment to the investor, a negative number if it represents a payment made by the investor (e.g. a bank deposit).
future_value is the value of the investment after the last payment period. It's a positive number if it represents an amount owed to the investor, a negative number if it represents an amount owed by the investor. 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.
Examples
You deposit USD 1000 into a bank account paying 5% annual interest. The number of years before your money has doubled is
=nper(5%, 0, -1000, 2000)
» 14.21
You issue a bond with face value USD 100 and semiannual 7% coupon (i.e. a fixed payment of USD 7 every six months). On expiration, you pay back the face value to the holder. For the bond to have a present value of USD 250, the time to expiration must be
=nper(0, -7, 250, -100)
» 21.43 six-month periods, or 10.7 years.