% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/annuity_varying_payments.R
\name{annuity_varying_payments}
\alias{annuity_varying_payments}
\alias{Iax}
\alias{Iaxn}
\alias{Daxn}
\alias{Iadotx}
\alias{Iadotxn}
\alias{Dadotxn}
\alias{Iabarx}
\alias{Iabarxn}
\alias{Dabarxn}
\title{Varying-payment annuity functions (Chapter 8)}
\usage{
Iax(x, i, model, ..., k_max = 5000, tol = 1e-12)

Iaxn(x, n, i, model, ...)

Daxn(x, n, i, model, ...)

Iadotx(x, i, model, ..., k_max = 5000, tol = 1e-12)

Iadotxn(x, n, i, model, ...)

Dadotxn(x, n, i, model, ...)

Iabarx(x, i, model, ..., tol = 1e-10)

Iabarxn(x, n, i, model, ...)

Dabarxn(x, n, i, model, ...)
}
\arguments{
\item{x}{Age.}

\item{i}{Effective annual interest rate.}

\item{model}{Survival model.}

\item{...}{Additional model parameters.}

\item{k_max}{Maximum summation horizon for non-terminating models.}

\item{tol}{Truncation tolerance for non-terminating models.}

\item{n}{Term in years.}
}
\value{
Numeric vector.

Numeric vector.

Numeric vector.
}
\description{
Chapter 8 non-level annuity functions for increasing and decreasing
life annuities.

Computes
\deqn{(Ia)_x = \sum_{t=1}^{\infty} t \, v^t \, {}_tp_x.}

Computes
\deqn{(Ia)_{x:\overline{n}|} = \sum_{t=1}^{n} t \, v^t \, {}_tp_x.}

Computes
\deqn{(Da)_{x:\overline{n}|} = \sum_{t=1}^{n} (n+1-t)\, v^t \, {}_tp_x.}

Computes
\deqn{(I\ddot{a})_x = \sum_{t=0}^{\infty} (t+1)\, v^t \, {}_tp_x.}

Computes
\deqn{(I\ddot{a})_{x:\overline{n}|} = \sum_{t=0}^{n-1} (t+1)\, v^t \, {}_tp_x.}

Computes
\deqn{(D\ddot{a})_{x:\overline{n}|} = \sum_{t=0}^{n-1} (n-t)\, v^t \, {}_tp_x.}

Computes
\deqn{(\bar{I}\bar{a})_x = \int_0^\infty t\,v^t\,{}_tp_x\,dt.}

Computes
\deqn{(\bar{I}\bar{a})_{x:\overline{n}|} = \int_0^n t\,v^t\,{}_tp_x\,dt.}

Computes
\deqn{(\bar{D}\bar{a})_{x:\overline{n}|} = \int_0^n (n-t)\,v^t\,{}_tp_x\,dt.}
}
\details{
The functions implemented here match the notation in Section 8.6:
\itemize{
  \item \code{Iax()} = \eqn{(Ia)_x}
  \item \code{Iaxn()} = \eqn{(Ia)_{x:\overline{n}|}}
  \item \code{Daxn()} = \eqn{(Da)_{x:\overline{n}|}}
  \item \code{Iadotx()} = \eqn{(I\ddot{a})_x}
  \item \code{Iadotxn()} = \eqn{(I\ddot{a})_{x:\overline{n}|}}
  \item \code{Dadotxn()} = \eqn{(D\ddot{a})_{x:\overline{n}|}}
  \item \code{Iabarx()} = \eqn{(\bar{I}\bar{a})_x}
  \item \code{Iabarxn()} = \eqn{(\bar{I}\bar{a})_{x:\overline{n}|}}
  \item \code{Dabarxn()} = \eqn{(\bar{D}\bar{a})_{x:\overline{n}|}}
}
}
