% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/reserve_ch11.R
\name{gross_premium_expense_reserves}
\alias{gross_premium_expense_reserves}
\alias{tVGx}
\alias{tVEx}
\title{Whole life gross premium and expense reserves}
\usage{
tVGx(
  x,
  t,
  i,
  G,
  benefit = 1,
  renewal_premium_pct = 0,
  renewal_policy_exp = 0,
  settlement_exp = 0,
  tbl = NULL,
  model = NULL,
  ...
)

tVEx(
  x,
  t,
  i,
  G,
  benefit = 1,
  renewal_premium_pct = 0,
  renewal_policy_exp = 0,
  settlement_exp = 0,
  tbl = NULL,
  model = NULL,
  ...
)
}
\arguments{
\item{x}{Issue age. May be scalar or vector.}

\item{t}{Nonnegative integer duration. May be scalar or vector.}

\item{i}{Effective annual interest rate. May be scalar or vector.}

\item{G}{Gross annual premium. May be scalar or vector.}

\item{benefit}{Insurance benefit amount.}

\item{renewal_premium_pct}{Renewal percent-of-premium expense in
\eqn{[0,1]}.}

\item{renewal_policy_exp}{Renewal per-policy expense.}

\item{settlement_exp}{Settlement expense paid at death.}

\item{tbl}{Optional life table object.}

\item{model}{Optional parametric survival model.}

\item{...}{Additional parameters passed to the actuarial functions.}
}
\value{
A numeric vector of reserve values.
}
\description{
Computes prospective gross premium and expense reserves for fully
discrete whole life insurance after issue.
}
\details{
\code{tVGx()} computes the prospective gross premium reserve.

\code{tVEx()} computes the corresponding expense reserve, defined as the
difference between the gross premium reserve and the net benefit reserve.


The gross premium reserve is calculated as

\deqn{
{}_tV_x^G
=
(b+s)A_{x+t}
-
\left[(1-r)G-e\right]\ddot{a}_{x+t},
}

where
\itemize{
  \item \eqn{b} is the insurance benefit,
  \item \eqn{s} is the settlement expense,
  \item \eqn{G} is the gross annual premium,
  \item \eqn{r} is the renewal percent-of-premium expense, and
  \item \eqn{e} is the renewal per-policy expense.
}

The expense reserve is obtained as the gross premium reserve minus the
corresponding net benefit reserve.
}
\examples{
tVGx(
  x = 40,
  t = 10,
  i = 0.05,
  G = 0.03,
  benefit = 1,
  renewal_premium_pct = 0.10,
  renewal_policy_exp = 0.002,
  settlement_exp = 0.02,
  model = "uniform",
  omega = 100
)

tVEx(
  x = 40,
  t = 10,
  i = 0.05,
  G = 0.03,
  benefit = 1,
  renewal_premium_pct = 0.10,
  renewal_policy_exp = 0.002,
  settlement_exp = 0.02,
  model = "uniform",
  omega = 100
)

}
