represents an annuity of fixed payments p made over t periods.


represents a series of payments occurring at time intervals q.


represents an annuity with the specified initial and final payments.

Details and Options

  • Annuity objects specify a class of financial instruments involving a series of payments. They can be used to represent loans or mortgages, loan amortizations, and bonds.
  • TimeValue[Annuity[],interest,t] computes the time value of an annuity as a single equivalent payment at time t.
  • Annuity works with numeric or arbitrary symbolic expressions.
  • In Annuity[p,t], payments are assumed to occur at times 1,2,,t.
  • In Annuity[p,t,q], payments occur at times q,2q,,t.
  • TimeValue[Annuity[p,t,q],r,s] gives the present value for s0 and the future value for st.
  • The present value of a common mortgage is given by TimeValue[Annuity[p,t,q],r,0].
  • The value of a typical bond is given by TimeValue[Annuity[{p,{0,pfinal}},t,q],r,0].
  • An annuity with payment interval q differing from the compounding interval d is given by TimeValue[Annuity[p,t,q],EffectiveInterest[r,d],s].
  • Annuity[function,] represents an annuity in which payments are given as a function of time.
  • In Annuity[function,t,0], the payment rate is taken to be a continuous function of time integrated from 0 to t.
  • Discrete payment functions are sometimes defined as recurrence relations. RSolve can be used to convert recurrence relations into functions of time alone for use in Annuity[function,t,q].
  • Annuity[{function,{pinitial,pfinal}},] specifies payments as a function of time and also an initial and a final payment.
  • Annuity[p,Infinity,] represents a perpetuity.


open allclose all

Basic Examples  (10)

Present value of an annuity of 10 payments of $1000 at 6% effective interest:

Future value of an annuity of 5 payments of $1000 at 8% nominal interest compounded quarterly:

Future value of a 10-period annuity with payments occurring twice per period:

Find the monthly payments on a $200000 mortgage amortized over 30 years at 5.2% nominal interest:

Value of a $1000, 30-year, semiannual coupon bond with a 6% coupon and a yield of 5%:

Number of years it will take to pay off a $10000 loan with payments of $200 per month at 8% effective interest:

Monthly payment necessary to pay off a $5000 loan in 3 years:

Yield to maturity for a 10-year, 7% semiannual coupon bond valued at $900:

Future value at 5% interest of a 10-period annuity whose payments increase by 10%:

Future value of a 10-period annuity with a continuous payment flow at a rate such that the total payment flowing inward during one period is $100:

Note the similarity in value to a very-high-frequency annuity with payments of $1 occurring 100 times per period:

Scope  (8)

Infinity may be used as the number of payment periods to specify a perpetuity:

Annuity works with symbolic parameters. TimeValue[Annuity[],] can find closed-form expressions:

Apart can be used to expose the discount factor coefficients on individual payments:

Apart may need to be applied multiple times to fully decompose the expression:

Solutions to equations involving Annuity can be found in terms of symbolic parameters:

An integer can be used as a payment interval to specify payments occurring only once every several periods:

An annuity's payment growth pattern can be any Wolfram Language function, or an arbitrary user-defined function:

RSolve can be used to convert recurrence relations into functions of time alone:

The recurrence relation above represents payments growing by a fixed rate, at every payment. Its solution is a function of time alone and is suitable for use in Annuity:

An annuity with a continuous payment flow can be coupled with a force-of-interest specification:

Generalizations & Extensions  (4)

The expected present value of a death benefit of $1 paid at time t, where t is drawn from a GompertzMakeham distribution:

Find the premium, paid yearly in advance, that is necessary to make the expected present value of that payment stream equal to the net single premium:

Calculate the duration of a common stock with dividends growing at a constant rate using the derivative function D:

Since a loan's balance at any time is equal to the present value of its remaining future payments, Annuity can be used to create an amortization table:

Graph the principal payoff over time:

Use Plot and Plot3D to explore the various dependencies an annuity has on a set of variables:

Dependence on interest rate:

Dependence on payment growth rate:

Use Plot3D to view the interest rate/growth rate landscape:

Applications  (13)

Value of a delayed annuity whose 7 payments start in 5 years:

If a person invests $1000 at 8% per year compounded quarterly, find how much can be withdrawn at the end of every quarter to use up the fund exactly at the end of 10 years:

Find the rate, compounded quarterly, at which $16000 is the present value of $1000 paid at the end of every quarter for 5 years:

Find the accumulated value of a 10-year annuity of $100 per year if the effective rate of interest is 5% for the first 6 years and 4% for the last 4 years:

Find the future value of an annuity of 1 per year if the force of interest is .02t where t is time:

A loan of $3000 is to be repaid with quarterly installments at the end of each quarter for 5 years. If the interest rate is 10% compounded semiannually, find the amount of each quarterly payment:

Find the (constant) force of interest at which the future value of a 20-period continuous payment annuity, such that the amount paid over one period is equal to 1, equals 3 times that of a 10-period annuity:

Find the present value of a perpetuity whose successive payments are 1, 2, 3, ... at an effective rate of 5% interest:

Find a general expression for the above annuity in terms of the interest, the initial payment, and the growth amount:

Find an expression, in terms of the interest rate, for the present value of an annuity such that payments start at $1, increasing by $1 every period until reaching $10, and then remain at $10 until 15 total payments are made:

Find an expression, in terms of the interest rate, for the present value of an annuity with payments that start at $1, increase by $1 every period until reaching $10, and then decrease by $1 every period until reaching $0:

Find the present value, 2 years before the first payment, of a 20-period annuity at 7% whose payments start at $1000 and grow by 4% thereafter:

Find the present value, in terms of the interest rate, of a perpetuity that pays 1 at the end of the third year, 2 at the end of the sixth year, 3 at the end of the ninth year, etc.:

Find an expression for the present value of a continuously increasing annuity with a term of n years if the (constant) force of interest is δ and the rate of payment is t2 per year at time t:

Properties & Relations  (3)

TimeValue takes a reference point argument for cash flows. This argument can be used with Annuity to simulate an annuity due:

Study the convergence of the value of high-frequency annuities to a continuous annuity:

Plot the annuity payments in a sinusoidal payment stream together with the accumulated value of the annuity as a function of time:

Possible Issues  (3)

When finding interest rate solutions to long-term or high-frequency annuities or bonds, FindRoot is much faster than Solve:

TimeValue[Annuity[function,],] will sometimes return expressions that cannot be explicitly carried out by Sum or Integrate. In these cases, K variables will be used as indices or integrators:

When specifying a valuation period in between payments of an Annuity object, TimeValue calculates the future value of all cash flows before the valuation period, and the present value of all cash flows after the valuation period:

Converting the Annuity object to a Cashflow object illustrates the payment structure:

The annuity's value above is equivalent to the sum of present and future values shown here:

Interactive Examples  (1)

Use Manipulate to explore the various dependencies the annuity has on a set of variables:

Neat Examples  (1)

Build a retirement calculator, assuming that inflation-adjusted payments are invested in the stock market, and the accumulated value at retirement is then invested in an annuity that pays out inflation-adjusted payments for life:

Plot the (inflation-adjusted) payment that must be made into the account today against the (inflation-adjusted) payment received at retirement, assuming different stock market scenarios:

Plot the combination of the stock market rate and final annuity rate required to receive a specified (inflation-adjusted) retirement payment by making a specified (inflation-adjusted) current payment into the retirement account:

Plot the combination of retirement age vs. final age necessary in order to receive a specified (inflation-adjusted) retirement payment by making a specified (inflation-adjusted) current payment:

Introduced in 2010