AnnuityDue[p,t]
represents an annuity due of fixed payments p made over t periods.
AnnuityDue[p,t,q]
represents a series of payments occurring at time intervals q.
AnnuityDue[{p,{pinitial,pfinal}},t,q]
represents an annuity due with the specified initial and final payments.
AnnuityDue
AnnuityDue[p,t]
represents an annuity due of fixed payments p made over t periods.
AnnuityDue[p,t,q]
represents a series of payments occurring at time intervals q.
AnnuityDue[{p,{pinitial,pfinal}},t,q]
represents an annuity due with the specified initial and final payments.
Details
- AnnuityDue objects are similar to Annuity objects with the exception that payments occurs at the beginning of periods rather than the end.
- AnnuityDue uses the same syntax and arguments as Annuity.
- AnnuityDue is used with TimeValue in the same way as Annuity.
- In AnnuityDue[p,t], payments are assumed to occur at times 0,1,2,…,t-1.
- In AnnuityDue[p,t,q], payments occur at times 0,q,2q,…,t-q.
- AnnuityDue[p,Infinity,…] represents a perpetuity due where payments start at time 0.
Examples
open all close allBasic Examples (2)
Present value of an annuity due of 10 payments of $1000 at 6% effective interest:
TimeValue[AnnuityDue[1000, 10], .06, 0]Present value of that annuity due with specified initial and final payments:
TimeValue[AnnuityDue[{1000, {p1, p2}}, 10], .06, 0]Future value of a 10-period annuity due with payments occurring twice per period:
TimeValue[AnnuityDue[1000, 10, 1 / 2], .06, 10]Future value of that annuity due with specified initial and final payments:
TimeValue[AnnuityDue[{1000, {p1, p2}}, 10, 1 / 2], .06, 10]Scope (8)
Infinity may be used as the number of payment periods to specify a perpetuity due:
TimeValue[AnnuityDue[100, Infinity], .06, 0]Future value of an annuity due of 5 payments of $1000 at 8% nominal interest compounded quarterly:
TimeValue[AnnuityDue[1000, 5], EffectiveInterest[.08, 1 / 4], 5]Future value of that annuity due with payments occurring twice per period:
TimeValue[AnnuityDue[1000, 5, 1 / 2], EffectiveInterest[.08, 1 / 4], 5]Future value at 5% interest of a 10-period annuity due whose payments increase by 10%:
TimeValue[AnnuityDue[100 1.1^# - 1&, 10], .05, 10]Future value of a 10-period annuity due with a continuous payment flow at a rate such that the total payment flowing inward during one period is $100:
TimeValue[AnnuityDue[100&, 10, 0], .05, 10]Note the similarity in value to a very-high-frequency annuity due with payments of $1 occurring 100 times per period:
TimeValue[AnnuityDue[1, 10, 1 / 100], .05, 10]AnnuityDue works with symbolic parameters. TimeValue[AnnuityDue[…],…] can find closed-form expressions:
TimeValue[AnnuityDue[pmt(1 + g)^f# - 1&, n, 1 / f], r, t]TimeValue[AnnuityDue[p Log[#]&, n], r, 0]Apart can be used to expose the discount factor coefficients on individual payments:
Apart[TimeValue[AnnuityDue[pmt, 5], r, 0]]Apart may need to be applied multiple times to fully decompose the expression:
TimeValue[AnnuityDue[pmt(1 + g)^# - 1&, 5], r, 0]//Apart%//ApartSolutions to equations involving AnnuityDue can be found in terms of symbolic parameters:
Solve[TimeValue[AnnuityDue[pmt, n, 1 / f], r, n] == val, pmt]An integer can be used as a payment interval to specify payments occurring only once every several periods:
TimeValue[AnnuityDue[1, 10, 2], r, 0]//ApartApplications (4)
Value of a delayed annuity whose 7 payments start in 5 years:
TimeValue[AnnuityDue[1000, 7], EffectiveInterest[.08, 1 / 4], -5]At what annual effective interest is the present value of a series of payments of 1 every 6 months forever, with the first payment made immediately, equal to 10:
FindRoot[TimeValue[AnnuityDue[1, Infinity, 1 / 2], r, 0] == 10, {r, .05}]Find the accumulated value at the end of 10 years of an annuity in which payments are made at the beginning of each half-year for five years. The first payment is $2000, and each payment is 98% of the prior payment. Interest is credited at 10% compounded quarterly:
TimeValue[AnnuityDue[2000 .98^2# - 1&, 5, 1 / 2], EffectiveInterest[.1, 1 / 4], 10]Find the monthly payment for a 300,000 USD mortgage over 30 years at a 5.99% annual interest rate:
Solve[TimeValue[AnnuityDue[payment, 360], 0.0599 / 12, 0] == 300000, payment]Properties & Relations (4)
TimeValue takes a reference point argument for cash flows. This argument can be used with Annuity to simulate an annuity due:
TimeValue[Annuity[1000, 10], .06, {0, -1}]TimeValue[AnnuityDue[1000, 10], .06, 0]Annuity due is shifted Annuity:
TimeValue[AnnuityDue[p, t, q], r, n]TimeValue[Annuity[p, t, q], r, n + q]%% / %An annuity due's payment growth pattern can be any Wolfram Language function or an arbitrary user-defined function:
TimeValue[AnnuityDue[Sin[#]&, 10], r, 0]//ApartTimeValue[AnnuityDue[If[# < 5, #, 5]&, 10, 1], r, 0]//ApartStudy the convergence of the value of high-frequency annuities due to a continuous annuity due:
g1 = TimeValue[AnnuityDue[100&, n, 0], .5, n];{g2, g3, g4, g5} = Table[TimeValue[AnnuityDue[100 / i, n, 1 / i], .5, n], {i, 1, 4}];Plot[{g1, g2, g3, g4, g5}, {n, 1, 5}, Epilog -> Block[{n = 4.9}, Arrow[{{n, g2}, {n, g1}}]]]Related Guides
History
Text
Wolfram Research (2010), AnnuityDue, Wolfram Language function, https://reference.wolfram.com/language/ref/AnnuityDue.html.
CMS
Wolfram Language. 2010. "AnnuityDue." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AnnuityDue.html.
APA
Wolfram Language. (2010). AnnuityDue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AnnuityDue.html
BibTeX
@misc{reference.wolfram_2026_annuitydue, author="Wolfram Research", title="{AnnuityDue}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/AnnuityDue.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_annuitydue, organization={Wolfram Research}, title={AnnuityDue}, year={2010}, url={https://reference.wolfram.com/language/ref/AnnuityDue.html}, note=[Accessed: 13-June-2026]}