Annuity

class tmval.annuity.Annuity(gr: Union[tmval.growth.Accumulation, Callable, float, tmval.rate.Rate], amount: Union[float, int, list, Callable] = 1.0, period: float = 1, term: float = None, n: float = None, gprog: float = 0.0, aprog: Union[float, int, tuple] = 0.0, times: list = None, reinv: [<class 'tmval.growth.Accumulation'>, typing.Callable, <class 'float'>, <class 'tmval.rate.Rate'>] = None, deferral: float = 0.0, imd: str = 'immediate', loan: float = None, drb: str = None)[source]

Annuity is TmVal’s general class for representing all kinds of annuities. Among the supported types are:

  1. Annuity-immediate

  2. Annuity-due

  3. Perpetuity-immediate

  4. Perpetuity-due

  5. Deferred annuity

  6. Annuity with arithmetic progression

  7. Annuity with geometric progression

  8. Perpetuity with arithmetic progression

  9. Perpetuity with geometric progression

  10. Annuity with reinvested proceeds at a different growth rate

By tweaking the arguments, you can represent more types of annuities that you might find in actuarial literature.

The Annuity class comes with methods to solve for the present value, accumulated value, and equation of value at periods other than 0 or end-of-term. You do not have to provide overlapping time-related arguments. For example, if you provide the period and number of payments, the term can be inferred. Likewise, if you provide the term and period, the number of payments can be inferred.

Parameters
  • gr (Accumulation, Callable, float, Rate.) – A growth rate object.

  • amount (float, int, list) – A payment amount, defaults to 1. Can also provide a list for non-level payments.

  • period (float) – The payment period, defaults to 1.

  • term (float) – The annuity term.

  • n (float) – The number of payments.

  • aprog (float) – Arithmetic progression of payments defaults to 0.

  • gprog (float) – Geometric progression of payments, defaults to 0.

  • times (list) – Payment times, usually left blank but can be provided for nontraditional annuities, defaults to None

  • reinv (Accumulation, Callable, float, Rate) – A reinvestment rate, if proceeds are reinvested at a rate other than provided to gr.

  • deferral (float) – A time period in years to indicate a deferred annuity.

  • imd (str) – Whether the annuity is ‘immediate’ or ‘due’, defaults to ‘immediate’.

  • loan (float, optional) – An amount that allows you to represent an annuity as a loan from which the payments can be inferred, defaults to None.

  • drb (str, optional) – Whether the final loan payment is a ‘drop’ or ‘balloon’ payment.