From 0091fd721a7fad84977d989637759209a3d82406 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Mon, 24 Aug 2020 13:09:46 +0200 Subject: [PATCH] Further documentation of InsuranceContract --- R/InsuranceContract.R | 54 +- man/InsuranceContract.Rd | 62 +- vignettes/.gitignore | 2 + ...using-the-lifeinsurancecontracts-package.R | 183 - ...ng-the-lifeinsurancecontracts-package.html | 7485 ----------------- 5 files changed, 59 insertions(+), 7727 deletions(-) create mode 100644 vignettes/.gitignore delete mode 100644 vignettes/using-the-lifeinsurancecontracts-package.R delete mode 100644 vignettes/using-the-lifeinsurancecontracts-package.html diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R index 4d9f1bc..bc2df4e 100644 --- a/R/InsuranceContract.R +++ b/R/InsuranceContract.R @@ -12,7 +12,7 @@ NULL #' all other relevant contract parameters (if not defined by the tariff or #' explicitly overridden by the contract) can be given in the constructor. #' -#' ## Usage +#' # Usage #' #' The typical usage of this class is to simply call [InsuranceContract$new()]. #' @@ -26,21 +26,21 @@ NULL #' field of the object. #' #' -#' ## Calculation approach: Cash Flows +#' # Calculation approach: Cash Flows #' #' An insurance contract is basically defined by the (unit) cash flows it produces: #' \itemize{ -#' \item Premium payments (in advance or in arrears) at each timestep -#' \item Survival payments at each timestep -#' \item Death benefits at each timestep -#' \item Disease benefits at each timestep -#' \item Guaranteed payments at each timestep +#' \item **Premium payments** (in advance or in arrears) at each timestep +#' \item **Survival payments** at each timestep +#' \item **Guaranteed payments** at each timestep +#' \item **Death benefits** at each timestep +#' \item **Disease benefits** at each timestep #' } #' Together with the transition probabilities (mortalityTable parameter) #' the present values can be calculated, from which the premiums follow and #' finally the reserves and a potential profit sharing. #' -#' For example, a term life insurance with regular premiums would have the following +#' For example, a _**term life insurance with regular premiums**_ would have the following #' cash flows: #' #' * premium cash flows: 1, 1, 1, 1, 1, ... @@ -48,11 +48,11 @@ NULL #' * guaranteed cash flows: 0, 0, 0, 0, 0, ... #' * death benefit cash flows: 1, 1, 1, 1, 1, ... #' -#' A single-premium term life insurance would look similar, except for the premiums: +#' A _**single-premium term life insurance**_ would look similar, except for the premiums: #' #' * premium cash flows: 1, 0, 0, 0, 0, ... #' -#' A pure endowment has no death benefits, but a survival benefit of 1 at the +#' A _**pure endowment**_ has no death benefits, but a survival benefit of 1 at the #' maturity of the contract: #' #' * premium cash flows: 1, 1, 1, 1, 1, ... @@ -60,14 +60,14 @@ NULL #' * guaranteed cash flows: 0, 0, 0, 0, 0, ... #' * death benefit cash flows: 0, 0, 0, 0, 0, ... #' -#' An endowment has also death benefits during the contract duration: +#' An _**endowment**_ has also death benefits during the contract duration: #' #' * premium cash flows: 1, 1, 1, 1, 1, ... #' * survival cash flows: 0, 0, ..., 0, 1 #' * guaranteed cash flows: 0, 0, 0, 0, 0, ... #' * death benefit cash flows: 1, 1, 1, 1, 1, ... #' -#' A (deferred) annuity has premium cash flows only during the deferral peroid +#' A _**(deferred) annuity**B_ has premium cash flows only during the deferral peroid #' and only survival cash flows during the annuity payment phase. Often, in case #' of death during the deferral period, all premiums paid are refunded as a death #' benefit.: @@ -77,7 +77,7 @@ NULL #' * guaranteed cash flows: 0, 0, 0, 0, 0, ... #' * death benefit cash flows: 1, 2, 3, 4, 5, ..., 0, 0, ... #' -#' A terme-fix insurance has a guaranteed payment at maturity, even if the insured +#' A _**terme-fix insurance**_ has a guaranteed payment at maturity, even if the insured #' has already died. The premiums, however, are only paid until death (which is #' not reflected in the contingent cash flows, but rather in the transition #' probabilities): @@ -87,45 +87,45 @@ NULL #' * guaranteed cash flows: 0, 0, 0, ..., 0, 1 #' * death benefit cash flows: 0, 0, 0, 0, ..., 0 #' -#' ## Calculation approach: Valuation +#' # Calculation approach: Valuation #' #' The calculation of all contract values is controlled by the function #' [InsuranceContract$calculateContract()] (using methods of the [InsuranceTarif] #' object) and follows the following logic: #' -#' 1. Once the (unit) cash flows and the transition probbilities are determined, -#' the actuarial equivalence principle states that at time of inception, the +#' 1. First the **contingent (unit) cash flows** and the **transition probbilities** are determined. +#' 2. The **actuarial equivalence principle** states that at time of inception, the #' (net and gross) premium must be determined in a way that the present value #' of the future benefits and costs minus the present value of the future premiums #' must be equal, i.e. in expectation the future premiums ove the whole lifetime #' of the contract will exactly cover the benefits and costs. Similarly, at all #' later time steps, the difference between these two present values needs to be #' reserved (i.e. has already been paid by the customer by previous premiums). -#' 2. This allows the premiums to be calculated by first calculating the present -#' values for all of the benefit and costs cash flow vectors. +#' 2. This allows the premiums to be calculated by first calculating the **present +#' values** for all of the **benefit and costs cash flow** vectors. #' 3. The formulas -#' to calculate the gross, Zillmer and net premiums involve simple linear -#' combinations of these present values, so the coefficients of these formulas -#' is determined next. -#' 4. With the coefficients of the premium formulas calculated, all premiums -#' can be calculated (first the gross premium, because due to potential gross +#' to calculate the gross, Zillmer and net **premiums** involve simple linear +#' combinations of these present values, so the **coefficients of these formulas** +#' are determined next. +#' 4. With the coefficients of the premium formulas calculated, all **premiums +#' can be calculated** (first the gross premium, because due to potential gross #' premium refunds in case of death, the formula for the net premium requires #' the gross premium, which the formula for the gross premium involves no other #' type of premuim). #' 5. With premiums determined, all unit cash flows and unit present values can -#' now be expressed in monetary terms (i.e. the actual Euro-amount that flows +#' now be expressed in monetary terms / as **absolute cash flows** (i.e. the actual Euro-amount that flows #' rather than a percentage). #' 6. As described above, the difference between the present values of premiums #' and present values of benefits and costs is defined as the required amount -#' of reserves, so the reserves (net, gross, administration cost, balance sheet) +#' of reserves, so the **reserves (net, gross, administration cost, balance sheet)** #' and all values derived from them (i.e. surrender value, sum insured in case of #' premium waiver, etc.) are calculated. -#' 7. The decomposition of the premium into parts dedicated to specific purposes +#' 7. The **decomposition of the premium** into parts dedicated to specific purposes #' (tax, rebates, net premium, gross premium, Zillmer premium, cost components, #' risk premium, savings premium, etc.) can be done once the reserves are #' ready (since e.g. the savings premium is defined as the difference of #' discounted reserves at times $t$ and $t+1$). -#' 8. If the contract has (discretionary or obligatory) profit sharing mechanisms +#' 8. If the contract has **(discretionary or obligatory) profit sharing**B mechanisms #' included, the corresponding [ProfitParticipation] object can calculate that #' profit sharing amounts, once all guaranteed values are calculated. This can #' also be triggered manually (with custom profit sharing rates) by calling diff --git a/man/InsuranceContract.Rd b/man/InsuranceContract.Rd index 1a4ef25..94c17a2 100644 --- a/man/InsuranceContract.Rd +++ b/man/InsuranceContract.Rd @@ -9,9 +9,7 @@ The corresponding tariff and the profit participation scheme, as well as all other relevant contract parameters (if not defined by the tariff or explicitly overridden by the contract) can be given in the constructor. } -\details{ -\subsection{Usage}{ - +\section{Usage}{ The typical usage of this class is to simply call \code{\link[=InsuranceContract$new]{InsuranceContract$new()}}. All parameters from the \link{InsuranceContract.ParameterDefaults} can be passed @@ -24,21 +22,20 @@ whole contract period are calculated and can be accessed via the \code{Values} field of the object. } -\subsection{Calculation approach: Cash Flows}{ - +\section{Calculation approach: Cash Flows}{ An insurance contract is basically defined by the (unit) cash flows it produces: \itemize{ -\item Premium payments (in advance or in arrears) at each timestep -\item Survival payments at each timestep -\item Death benefits at each timestep -\item Disease benefits at each timestep -\item Guaranteed payments at each timestep +\item \strong{Premium payments} (in advance or in arrears) at each timestep +\item \strong{Survival payments} at each timestep +\item \strong{Guaranteed payments} at each timestep +\item \strong{Death benefits} at each timestep +\item \strong{Disease benefits} at each timestep } Together with the transition probabilities (mortalityTable parameter) the present values can be calculated, from which the premiums follow and finally the reserves and a potential profit sharing. -For example, a term life insurance with regular premiums would have the following +For example, a \emph{\strong{term life insurance with regular premiums}} would have the following cash flows: \itemize{ \item premium cash flows: 1, 1, 1, 1, 1, ... @@ -47,12 +44,12 @@ cash flows: \item death benefit cash flows: 1, 1, 1, 1, 1, ... } -A single-premium term life insurance would look similar, except for the premiums: +A \emph{\strong{single-premium term life insurance}} would look similar, except for the premiums: \itemize{ \item premium cash flows: 1, 0, 0, 0, 0, ... } -A pure endowment has no death benefits, but a survival benefit of 1 at the +A \emph{\strong{pure endowment}} has no death benefits, but a survival benefit of 1 at the maturity of the contract: \itemize{ \item premium cash flows: 1, 1, 1, 1, 1, ... @@ -61,7 +58,7 @@ maturity of the contract: \item death benefit cash flows: 0, 0, 0, 0, 0, ... } -An endowment has also death benefits during the contract duration: +An \emph{\strong{endowment}} has also death benefits during the contract duration: \itemize{ \item premium cash flows: 1, 1, 1, 1, 1, ... \item survival cash flows: 0, 0, ..., 0, 1 @@ -69,7 +66,7 @@ An endowment has also death benefits during the contract duration: \item death benefit cash flows: 1, 1, 1, 1, 1, ... } -A (deferred) annuity has premium cash flows only during the deferral peroid +A \emph{\strong{(deferred) annuity}B} has premium cash flows only during the deferral peroid and only survival cash flows during the annuity payment phase. Often, in case of death during the deferral period, all premiums paid are refunded as a death benefit.: @@ -80,7 +77,7 @@ benefit.: \item death benefit cash flows: 1, 2, 3, 4, 5, ..., 0, 0, ... } -A terme-fix insurance has a guaranteed payment at maturity, even if the insured +A \emph{\strong{terme-fix insurance}} has a guaranteed payment at maturity, even if the insured has already died. The premiums, however, are only paid until death (which is not reflected in the contingent cash flows, but rather in the transition probabilities): @@ -92,52 +89,51 @@ probabilities): } } -\subsection{Calculation approach: Valuation}{ - +\section{Calculation approach: Valuation}{ The calculation of all contract values is controlled by the function \code{\link[=InsuranceContract$calculateContract]{InsuranceContract$calculateContract()}} (using methods of the \link{InsuranceTarif} object) and follows the following logic: \enumerate{ -\item Once the (unit) cash flows and the transition probbilities are determined, -the actuarial equivalence principle states that at time of inception, the +\item First the \strong{contingent (unit) cash flows} and the \strong{transition probbilities} are determined. +\item The \strong{actuarial equivalence principle} states that at time of inception, the (net and gross) premium must be determined in a way that the present value of the future benefits and costs minus the present value of the future premiums must be equal, i.e. in expectation the future premiums ove the whole lifetime of the contract will exactly cover the benefits and costs. Similarly, at all later time steps, the difference between these two present values needs to be reserved (i.e. has already been paid by the customer by previous premiums). -\item This allows the premiums to be calculated by first calculating the present -values for all of the benefit and costs cash flow vectors. +\item This allows the premiums to be calculated by first calculating the \strong{present +values} for all of the \strong{benefit and costs cash flow} vectors. \item The formulas -to calculate the gross, Zillmer and net premiums involve simple linear -combinations of these present values, so the coefficients of these formulas -is determined next. -\item With the coefficients of the premium formulas calculated, all premiums -can be calculated (first the gross premium, because due to potential gross +to calculate the gross, Zillmer and net \strong{premiums} involve simple linear +combinations of these present values, so the \strong{coefficients of these formulas} +are determined next. +\item With the coefficients of the premium formulas calculated, all \strong{premiums +can be calculated} (first the gross premium, because due to potential gross premium refunds in case of death, the formula for the net premium requires the gross premium, which the formula for the gross premium involves no other type of premuim). \item With premiums determined, all unit cash flows and unit present values can -now be expressed in monetary terms (i.e. the actual Euro-amount that flows +now be expressed in monetary terms / as \strong{absolute cash flows} (i.e. the actual Euro-amount that flows rather than a percentage). \item As described above, the difference between the present values of premiums and present values of benefits and costs is defined as the required amount -of reserves, so the reserves (net, gross, administration cost, balance sheet) +of reserves, so the \strong{reserves (net, gross, administration cost, balance sheet)} and all values derived from them (i.e. surrender value, sum insured in case of premium waiver, etc.) are calculated. -\item The decomposition of the premium into parts dedicated to specific purposes +\item The \strong{decomposition of the premium} into parts dedicated to specific purposes (tax, rebates, net premium, gross premium, Zillmer premium, cost components, risk premium, savings premium, etc.) can be done once the reserves are ready (since e.g. the savings premium is defined as the difference of discounted reserves at times $t$ and $t+1$). -\item If the contract has (discretionary or obligatory) profit sharing mechanisms +\item If the contract has \strong{(discretionary or obligatory) profit sharing} mechanisms included, the corresponding \link{ProfitParticipation} object can calculate that profit sharing amounts, once all guaranteed values are calculated. This can also be triggered manually (with custom profit sharing rates) by calling the methods \code{\link[=InsuranceContract$profitScenario]{InsuranceContract$profitScenario()}} or \code{\link[=InsuranceContract$addProfitScenario]{InsuranceContract$addProfitScenario()}}. } } -} + \section{Public fields}{ \if{html}{\out{<div class="r6-fields">}} \describe{ @@ -178,6 +174,8 @@ to span the same time periods)} \item{\code{history}}{A list keeping track of all contract changes (including the whole contract state and its values before the change).} + +\item{\code{dummy.public}}{dummy field to allow a trailing comma after the previous field/method} } \if{html}{\out{</div>}} } diff --git a/vignettes/.gitignore b/vignettes/.gitignore new file mode 100644 index 0000000..097b241 --- /dev/null +++ b/vignettes/.gitignore @@ -0,0 +1,2 @@ +*.html +*.R diff --git a/vignettes/using-the-lifeinsurancecontracts-package.R b/vignettes/using-the-lifeinsurancecontracts-package.R deleted file mode 100644 index 0ee30d8..0000000 --- a/vignettes/using-the-lifeinsurancecontracts-package.R +++ /dev/null @@ -1,183 +0,0 @@ -## ----echo = FALSE, message=FALSE---------------------------------------------- -knitr::opts_chunk$set(collapse = TRUE, comment = "#>") -library(knitr) -library(kableExtra) -library(LifeInsuranceContracts) -options(scipen=5) - -library(pander) -## Modified pandoc.list function that also works with NULL entries in the lists: -pandoc.listRK.return <- function(elements, style = c('bullet', 'ordered', 'roman'), loose = FALSE, add.line.breaks = TRUE, add.end.of.list = TRUE, indent.level = 0, missing = panderOptions('missing')) { #nolint - - ## checks - if (!is.logical(loose)) { - stop('Wrong argument provided: loose') - } - - ## default values - if (missing(style)) { - style <- panderOptions('list.style') - } else { - style <- match.arg(style) - } - - ## replace missing values - w <- which(is.na(elements)) - if (length(w) > 0) { - elements[w] <- missing - } - - ## helpers - elements.l <- length(elements) - marker <- switch(style, - 'bullet' = rep('* ', elements.l), - 'ordered' = paste0(1:elements.l, '. '), - 'roman' = paste0(as.roman(1:elements.l), '. ')) - - ## number of elements should be more than one - if (elements.l == 0) { - return('') - } - - ## recursive call - i.lag <- 0 - res <- ifelse(add.line.breaks, '\n', '') - nms = names(elements) - for (i in 1:elements.l) { - res <- paste0(res, paste(rep(' ', indent.level * 4), collapse = ''), marker[i - i.lag]) - if (nms[[i]] != "") { - res <- paste0(res, nms[[i]], ': ') - } - - if (length(elements[[i]]) <=1 && !is.list(elements[[i]])) { - res <- paste0(res, elements[[i]], '\n') - } else { - i.lag <<- i.lag + 1 - res <- paste0(res, '\n', pandoc.listRK.return(elements[[i]], style, loose, FALSE, FALSE, indent.level + 1)) - } - res <- paste0(res, ifelse(loose, '\n', '')) - } - - # res <- paste(sapply(1:elements.l, function(i) { - # if (length(elements[[i]]) <= 1 && !is.list(elements[[i]])) { - # paste0(paste(rep(' ', indent.level * 4), collapse = ''), marker[i - i.lag], elements[[i]]) - # } else { - # i.lag <<- i.lag + 1 - # pandoc.listRK.return(elements[[i]], style, loose, FALSE, FALSE, indent.level + 1) - # }}), - # collapse = '\n', ifelse(loose, '\n', '')) - - ## closing tag - if (add.end.of.list) { - res <- paste0(res, ifelse(loose, '', '\n\n'), '<!-- end of list -->\n') - } - if (add.line.breaks) { - res <- add.blank.lines(res) - } - - return(res) - -} - -#' @export -pandoc.listRK <- function(...) - cat(pandoc.listRK.return(...)) - - - - - -## ----SimpleExampleRiskTarif--------------------------------------------------- -library(magrittr) -library(MortalityTables) -library(LifeInsuranceContracts) -mortalityTables.load("Austria_Census") - -Tarif.L71U = InsuranceTarif$new( - name = "L71-U", - type = "wholelife", - tarif = "DeathPlus - Short Term Life Insurance", - desc = "Term Life insurance (10 years) with constant sum insured and regular premiums", - policyPeriod = 10, premiumPeriod = 10, # premiumPeriod not needed, defaults to maturity - - mortalityTable = mortalityTable.mixed( - table1 = mort.AT.census.2011.male, weight1 = 0.65, - table2 = mort.AT.census.2011.female, weight2 = 0.35 - ), - i = 0.005, - tax = 0.04, - costs = initializeCosts(alpha = 0.05, gamma = 0.01, gamma.paidUp = 0.01, unitcosts = 10), - surrenderValueCalculation = function(surrenderReserve, params, values) { - surrenderReserve * 0.9 - } -); - -## ----SimpleExampleRiskContract------------------------------------------------ -contract.L71U = InsuranceContract$new( - Tarif.L71U, - age = 35, - contractClosing = as.Date("2020-08-18"), - sumInsured = 100000); - -## ----SimpleExampleRiskValues-------------------------------------------------- -contract.L71U$Values$premiums %>% kable -contract.L71U$Values$reserves %>% kable(digits=2) - -## ----SimpleExampleRiskCF------------------------------------------------------ -contract.L71U$Values$cashFlows %>% kable() -contract.L71U$Values$cashFlowsCosts %>% kable() - -## ----SimpleExampleRiskPV------------------------------------------------------ -contract.L71U$Values$presentValues %>% kable() -contract.L71U$Values$presentValuesCosts %>% kable() -contract.L71U$Values$premiums %>% kable() - -## ----SimpleExampleRiskReserves------------------------------------------------ -contract.L71U$Values$reserves %>% kable(digits=2) - -## ----SimpleExampleRiskPremiumComposition-------------------------------------- -contract.L71U$Values$premiumComposition %>% kable(digits=2) - -## ----SimpleExampleRiskConversion---------------------------------------------- -contract.L71U = contract.L71U$premiumWaiver(t = 5) -contract.L71U$Values$reserves %>% kable(digits=2) - -## ----SimpleExampleRiskPremiumGrid--------------------------------------------- -contractGridPremium( - axes = list(age = seq(20, 80, 5), policyPeriod = seq(5, 40, 5)), - tarif = Tarif.L71U, - contractClosing = as.Date("2020-08-18"), - sumInsured = 100000 -) - -## ----SimpleExampleRiskPremiumGrid3D------------------------------------------- -contractGridPremium( - axes = list(age = seq(20, 80, 10), policyPeriod = seq(10, 40, 10), sumInsured = c(10000, 50000, 100000)), - tarif = Tarif.L71U, - contractClosing = as.Date("2020-08-18") -) - -## ----SimpleExampleRiskPremiumGridLifeTables----------------------------------- -contractGridPremium( - axes = list(mortalityTable = mort.AT.census["m", ], age = seq(20, 80, 10)), - tarif = Tarif.L71U, - sumInsured = 100000, - contractClosing = as.Date("2020-08-18") -) - -## ----------------------------------------------------------------------------- -str(InsuranceContract.ParameterDefaults) - -## ---- results="asis"---------------------------------------------------------- - -# pandoc.listRK(InsuranceContract.ParameterDefaults) - -## ----TarifDefinition---------------------------------------------------------- -riskTarif = InsuranceTarif$new( - name = "Example Risk Tarif", - -) - - - - diff --git a/vignettes/using-the-lifeinsurancecontracts-package.html b/vignettes/using-the-lifeinsurancecontracts-package.html deleted file mode 100644 index c48b545..0000000 --- a/vignettes/using-the-lifeinsurancecontracts-package.html +++ /dev/null @@ -1,7485 +0,0 @@ -<!DOCTYPE html> - -<html> - -<head> - -<meta charset="utf-8" /> -<meta name="generator" content="pandoc" /> -<meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> - -<meta name="viewport" content="width=device-width, initial-scale=1" /> - - -<meta name="date" content="2020-08-21" /> - -<title>Using the LifeInsuranceContracts Package</title> - -<script>// Hide empty <a> tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); -</script> - - -<style type="text/css">code{white-space: pre;}</style> -<style type="text/css" data-origin="pandoc"> -code.sourceCode > span { display: inline-block; line-height: 1.25; } -code.sourceCode > span { color: inherit; text-decoration: inherit; } -code.sourceCode > span:empty { height: 1.2em; } -.sourceCode { overflow: visible; } -code.sourceCode { white-space: pre; position: relative; } -div.sourceCode { margin: 1em 0; } -pre.sourceCode { margin: 0; } -@media screen { -div.sourceCode { overflow: auto; } -} -@media print { -code.sourceCode { white-space: pre-wrap; } -code.sourceCode > span { text-indent: -5em; padding-left: 5em; } -} -pre.numberSource code - { counter-reset: source-line 0; } -pre.numberSource code > span - { position: relative; left: -4em; counter-increment: source-line; } -pre.numberSource code > span > a:first-child::before - { content: counter(source-line); - position: relative; left: -1em; text-align: right; vertical-align: baseline; - border: none; display: inline-block; - -webkit-touch-callout: none; -webkit-user-select: none; - -khtml-user-select: none; -moz-user-select: none; - -ms-user-select: none; user-select: none; - padding: 0 4px; width: 4em; - color: #aaaaaa; - } -pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } -div.sourceCode - { } -@media screen { -code.sourceCode > span > a:first-child::before { text-decoration: underline; } -} -code span.al { color: #ff0000; font-weight: bold; } /* Alert */ -code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ -code span.at { color: #7d9029; } /* Attribute */ -code span.bn { color: #40a070; } /* BaseN */ -code span.bu { } /* BuiltIn */ -code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ -code span.ch { color: #4070a0; } /* Char */ -code span.cn { color: #880000; } /* Constant */ -code span.co { color: #60a0b0; font-style: italic; } /* Comment */ -code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ -code span.do { color: #ba2121; font-style: italic; } /* Documentation */ -code span.dt { color: #902000; } /* DataType */ -code span.dv { color: #40a070; } /* DecVal */ -code span.er { color: #ff0000; font-weight: bold; } /* Error */ -code span.ex { } /* Extension */ -code span.fl { color: #40a070; } /* Float */ -code span.fu { color: #06287e; } /* Function */ -code span.im { } /* Import */ -code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ -code span.kw { color: #007020; font-weight: bold; } /* Keyword */ -code span.op { color: #666666; } /* Operator */ -code span.ot { color: #007020; } /* Other */ -code span.pp { color: #bc7a00; } /* Preprocessor */ -code span.sc { color: #4070a0; } /* SpecialChar */ -code span.ss { color: #bb6688; } /* SpecialString */ -code span.st { color: #4070a0; } /* String */ -code span.va { color: #19177c; } /* Variable */ -code span.vs { color: #4070a0; } /* VerbatimString */ -code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ - -</style> -<script> -// apply pandoc div.sourceCode style to pre.sourceCode instead -(function() { - var sheets = document.styleSheets; - for (var i = 0; i < sheets.length; i++) { - if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue; - try { var rules = sheets[i].cssRules; } catch (e) { continue; } - for (var j = 0; j < rules.length; j++) { - var rule = rules[j]; - // check if there is a div.sourceCode rule - if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") continue; - var style = rule.style.cssText; - // check if color or background-color is set - if (rule.style.color === '' && rule.style.backgroundColor === '') continue; - // replace div.sourceCode by a pre.sourceCode rule - sheets[i].deleteRule(j); - sheets[i].insertRule('pre.sourceCode{' + style + '}', j); - } - } -})(); -</script> - - - -<style type="text/css">body { -background-color: #fff; -margin: 1em auto; -max-width: 700px; -overflow: visible; -padding-left: 2em; -padding-right: 2em; -font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; -font-size: 14px; -line-height: 1.35; -} -#TOC { -clear: both; -margin: 0 0 10px 10px; -padding: 4px; -width: 400px; -border: 1px solid #CCCCCC; -border-radius: 5px; -background-color: #f6f6f6; -font-size: 13px; -line-height: 1.3; -} -#TOC .toctitle { -font-weight: bold; -font-size: 15px; -margin-left: 5px; -} -#TOC ul { -padding-left: 40px; -margin-left: -1.5em; -margin-top: 5px; -margin-bottom: 5px; -} -#TOC ul ul { -margin-left: -2em; -} -#TOC li { -line-height: 16px; -} -table { -margin: 1em auto; -border-width: 1px; -border-color: #DDDDDD; -border-style: outset; -border-collapse: collapse; -} -table th { -border-width: 2px; -padding: 5px; -border-style: inset; -} -table td { -border-width: 1px; -border-style: inset; -line-height: 18px; -padding: 5px 5px; -} -table, table th, table td { -border-left-style: none; -border-right-style: none; -} -table thead, table tr.even { -background-color: #f7f7f7; -} -p { -margin: 0.5em 0; -} -blockquote { -background-color: #f6f6f6; -padding: 0.25em 0.75em; -} -hr { -border-style: solid; -border: none; -border-top: 1px solid #777; -margin: 28px 0; -} -dl { -margin-left: 0; -} -dl dd { -margin-bottom: 13px; -margin-left: 13px; -} -dl dt { -font-weight: bold; -} -ul { -margin-top: 0; -} -ul li { -list-style: circle outside; -} -ul ul { -margin-bottom: 0; -} -pre, code { -background-color: #f7f7f7; -border-radius: 3px; -color: #333; -white-space: pre-wrap; -} -pre { -border-radius: 3px; -margin: 5px 0px 10px 0px; -padding: 10px; -} -pre:not([class]) { -background-color: #f7f7f7; -} -code { -font-family: Consolas, Monaco, 'Courier New', monospace; -font-size: 85%; -} -p > code, li > code { -padding: 2px 0px; -} -div.figure { -text-align: center; -} -img { -background-color: #FFFFFF; -padding: 2px; -border: 1px solid #DDDDDD; -border-radius: 3px; -border: 1px solid #CCCCCC; -margin: 0 5px; -} -h1 { -margin-top: 0; -font-size: 35px; -line-height: 40px; -} -h2 { -border-bottom: 4px solid #f7f7f7; -padding-top: 10px; -padding-bottom: 2px; -font-size: 145%; -} -h3 { -border-bottom: 2px solid #f7f7f7; -padding-top: 10px; -font-size: 120%; -} -h4 { -border-bottom: 1px solid #f7f7f7; -margin-left: 8px; -font-size: 105%; -} -h5, h6 { -border-bottom: 1px solid #ccc; -font-size: 105%; -} -a { -color: #0033dd; -text-decoration: none; -} -a:hover { -color: #6666ff; } -a:visited { -color: #800080; } -a:visited:hover { -color: #BB00BB; } -a[href^="http:"] { -text-decoration: underline; } -a[href^="https:"] { -text-decoration: underline; } - -code > span.kw { color: #555; font-weight: bold; } -code > span.dt { color: #902000; } -code > span.dv { color: #40a070; } -code > span.bn { color: #d14; } -code > span.fl { color: #d14; } -code > span.ch { color: #d14; } -code > span.st { color: #d14; } -code > span.co { color: #888888; font-style: italic; } -code > span.ot { color: #007020; } -code > span.al { color: #ff0000; font-weight: bold; } -code > span.fu { color: #900; font-weight: bold; } -code > span.er { color: #a61717; background-color: #e3d2d2; } -</style> - - - - -</head> - -<body> - - - - -<h1 class="title toc-ignore">Using the LifeInsuranceContracts Package</h1> -<h4 class="author">Reinhold Kainhofer</h4> -<address class="author_afil"> -Open Tools<br><a class="author_email" href="mailto:#"><a href="mailto:reinhold@kainhofer.com" class="email">reinhold@kainhofer.com</a></a> -</address> -<h4 class="date">2020-08-21</h4> - - -<div id="TOC"> -<ul> -<li><a href="#general-overview-of-the-concepts"><span class="toc-section-number">1</span> General Overview of the Concepts</a></li> -<li><a href="#a-simple-example-term-life-insurance"><span class="toc-section-number">2</span> A simple example: Term life insurance</a><ul> -<li><a href="#tarif-description"><span class="toc-section-number">2.1</span> Tarif description</a></li> -<li><a href="#tariff-implementation-as-an-insurancetarif-object"><span class="toc-section-number">2.2</span> Tariff implementation as an InsuranceTarif object</a></li> -<li><a href="#calculating-one-particular-contract-with-the-given-tariff"><span class="toc-section-number">2.3</span> Calculating one particular contract with the given tariff</a></li> -<li><a href="#creating-tables-with-various-parameters"><span class="toc-section-number">2.4</span> Creating tables with various parameters</a></li> -</ul></li> -<li><a href="#all-possible-parameters-and-their-default-values"><span class="toc-section-number">3</span> All possible parameters and their default values</a></li> -<li><a href="#tarif-specification-and-implementation-of-a-concrete-contract"><span class="toc-section-number">4</span> Tarif Specification and implementation of a concrete contract</a></li> -<li><a href="#cost-structure"><span class="toc-section-number">5</span> Cost structure</a></li> -<li><a href="#calculation-approach-cash-flows-present-values-premiums-and-reserves"><span class="toc-section-number">6</span> Calculation approach: Cash flows, present values, premiums and reserves</a></li> -<li><a href="#advance-profit-participation-premium-rebate"><span class="toc-section-number">7</span> Advance profit participation (premium rebate)</a></li> -<li><a href="#profit-participation-schemes"><span class="toc-section-number">8</span> Profit participation schemes</a></li> -<li><a href="#modifying-the-default-calculation-approach"><span class="toc-section-number">9</span> Modifying the default calculation approach</a></li> -</ul> -</div> - -<p>The LifeInsuranceContracts package provides a full-featured framework to model classical life insurance contracts (non-unit linked). Mathematically, a general life insurance contracts can be defined using death and survival (and disability) benefit vectors to define the cash flows and calculate all premiums and reserves recursively. This powerful approach is taken by the LifeInsuranceContracts package to provide the most flexible contract modelling framework in R.</p> -<div id="general-overview-of-the-concepts" class="section level1"> -<h1><span class="header-section-number">1</span> General Overview of the Concepts</h1> -<p>An insurance contract is described by three different objects;</p> -<ul> -<li>contract-specific parameters (age, maturity, sum insured, etc.).</li> -<li>[InsuranceTarif]: The general (contract-independent) description of the insurance product (benefits, present values / reserves, premium calculation, premium waivers, surrender value, reserve calculation, premium decomposition). It does not store any values (only tarif-provided default values for the insurance contract), but provides all calculation functions. The implementation is based on a general approach using cash flows (depending on the type of insurance). Once the cash flows (survival, death and guaranteed) are defined for all time steps, all further calculations are idential for all different kinds of life insurance.</li> -<li>object describes the profit participation (like the [InsuranceTarif] object describes the guaranteed payments) and us used by the <a href="The%20object%20describing%20the%20actual%20contract%20with%20all">InsuranceContract</a> object.</li> -</ul> -<p>While this might at first seem a bit complicated, it allows for very generic implementations of life insurance products and contracts.</p> -</div> -<div id="a-simple-example-term-life-insurance" class="section level1"> -<h1><span class="header-section-number">2</span> A simple example: Term life insurance</h1> -<p>To understand how the package implements life insurance contracts, let us look at a simple example:</p> -<div id="tarif-description" class="section level2"> -<h2><span class="header-section-number">2.1</span> Tarif description</h2> -<p>Term Life Insurance</p> -<ul> -<li>Public product name ‘<strong>DeathPlus - Short Term Life Insurance</strong>’, Internal ID ‘<strong>L71-U</strong>’</li> -<li>Only <strong>death benefits</strong>, no survival benefits</li> -<li><strong>Mortality table</strong>: Austrian 2010/12 census table unisex (mixed 65:35 from the male:female tables)</li> -<li><strong>Guaranteed interest rate</strong>: 0.5%</li> -<li>Default contract duration: 10 years</li> -<li><strong>Regular premium</strong> payments (constant premiums) during the whole contract <!-- * premiums paid more often than once a year in advance get the following surcharge: --> <!-- * yearly premiums: 0% surcharge --> <!-- * half-yearly premiums: 1% surcharge --> <!-- * quarterly premiums: 1.5% surcharge --> <!-- * monthly premiums: 2% surcharge --></li> -</ul> -<p><strong>Costs</strong>:</p> -<ul> -<li>Aquisition costs: 5% of the total premium sum</li> -<li>Administration cost: 1% of the sum insured per year (both during premium payments as well as for paid-up contracts)</li> -<li>Unit costs: 10 Euro per year (fixed) during premium payments</li> -<li>Tax: 4% insurance tax (default)</li> -</ul> -<p>Surrender Value:</p> -<ul> -<li>Reserve minus 10% surrender penalty, also applied on premium waiver</li> -</ul> -</div> -<div id="tariff-implementation-as-an-insurancetarif-object" class="section level2"> -<h2><span class="header-section-number">2.2</span> Tariff implementation as an InsuranceTarif object</h2> -<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1"></a><span class="kw">library</span>(magrittr)</span> -<span id="cb1-2"><a href="#cb1-2"></a><span class="kw">library</span>(MortalityTables)</span> -<span id="cb1-3"><a href="#cb1-3"></a><span class="co">#> Lade nötiges Paket: ggplot2</span></span> -<span id="cb1-4"><a href="#cb1-4"></a><span class="co">#> Lade nötiges Paket: scales</span></span> -<span id="cb1-5"><a href="#cb1-5"></a><span class="co">#> Lade nötiges Paket: pracma</span></span> -<span id="cb1-6"><a href="#cb1-6"></a><span class="co">#> </span></span> -<span id="cb1-7"><a href="#cb1-7"></a><span class="co">#> Attache Paket: 'pracma'</span></span> -<span id="cb1-8"><a href="#cb1-8"></a><span class="co">#> The following objects are masked from 'package:magrittr':</span></span> -<span id="cb1-9"><a href="#cb1-9"></a><span class="co">#> </span></span> -<span id="cb1-10"><a href="#cb1-10"></a><span class="co">#> and, mod, or</span></span> -<span id="cb1-11"><a href="#cb1-11"></a><span class="kw">library</span>(LifeInsuranceContracts)</span> -<span id="cb1-12"><a href="#cb1-12"></a><span class="kw">mortalityTables.load</span>(<span class="st">"Austria_Census"</span>)</span> -<span id="cb1-13"><a href="#cb1-13"></a><span class="co">#> Loading table dataset 'Austria_Census'</span></span> -<span id="cb1-14"><a href="#cb1-14"></a></span> -<span id="cb1-15"><a href="#cb1-15"></a>Tarif.L71U =<span class="st"> </span>InsuranceTarif<span class="op">$</span><span class="kw">new</span>(</span> -<span id="cb1-16"><a href="#cb1-16"></a> <span class="dt">name =</span> <span class="st">"L71-U"</span>,</span> -<span id="cb1-17"><a href="#cb1-17"></a> <span class="dt">type =</span> <span class="st">"wholelife"</span>,</span> -<span id="cb1-18"><a href="#cb1-18"></a> <span class="dt">tarif =</span> <span class="st">"DeathPlus - Short Term Life Insurance"</span>,</span> -<span id="cb1-19"><a href="#cb1-19"></a> <span class="dt">desc =</span> <span class="st">"Term Life insurance (10 years) with constant sum insured and regular premiums"</span>,</span> -<span id="cb1-20"><a href="#cb1-20"></a> <span class="dt">policyPeriod =</span> <span class="dv">10</span>, <span class="dt">premiumPeriod =</span> <span class="dv">10</span>, <span class="co"># premiumPeriod not needed, defaults to maturity</span></span> -<span id="cb1-21"><a href="#cb1-21"></a></span> -<span id="cb1-22"><a href="#cb1-22"></a> <span class="dt">mortalityTable =</span> <span class="kw">mortalityTable.mixed</span>(</span> -<span id="cb1-23"><a href="#cb1-23"></a> <span class="dt">table1 =</span> mort.AT.census.<span class="fl">2011.</span>male, <span class="dt">weight1 =</span> <span class="fl">0.65</span>, </span> -<span id="cb1-24"><a href="#cb1-24"></a> <span class="dt">table2 =</span> mort.AT.census.<span class="fl">2011.</span>female, <span class="dt">weight2 =</span> <span class="fl">0.35</span></span> -<span id="cb1-25"><a href="#cb1-25"></a> ),</span> -<span id="cb1-26"><a href="#cb1-26"></a> <span class="dt">i =</span> <span class="fl">0.005</span>, </span> -<span id="cb1-27"><a href="#cb1-27"></a> <span class="dt">tax =</span> <span class="fl">0.04</span>, </span> -<span id="cb1-28"><a href="#cb1-28"></a> <span class="dt">costs =</span> <span class="kw">initializeCosts</span>(<span class="dt">alpha =</span> <span class="fl">0.05</span>, <span class="dt">gamma =</span> <span class="fl">0.01</span>, <span class="dt">gamma.paidUp =</span> <span class="fl">0.01</span>, <span class="dt">unitcosts =</span> <span class="dv">10</span>),</span> -<span id="cb1-29"><a href="#cb1-29"></a> <span class="dt">surrenderValueCalculation =</span> <span class="cf">function</span>(surrenderReserve, params, values) { </span> -<span id="cb1-30"><a href="#cb1-30"></a> surrenderReserve <span class="op">*</span><span class="st"> </span><span class="fl">0.9</span> </span> -<span id="cb1-31"><a href="#cb1-31"></a> }</span> -<span id="cb1-32"><a href="#cb1-32"></a>);</span></code></pre></div> -</div> -<div id="calculating-one-particular-contract-with-the-given-tariff" class="section level2"> -<h2><span class="header-section-number">2.3</span> Calculating one particular contract with the given tariff</h2> -<p>With the above product / tariff definition, it is now easy to instantiate one particular contract for this tariff. All we need to do is pass the tariff and the corresponding contract-specific information (mainly age, sum insured and contract closing) to the <a href="The%20object%20describing%20the%20actual%20contract%20with%20all">InsuranceContract</a> object:</p> -<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1"></a>contract.L71U =<span class="st"> </span>InsuranceContract<span class="op">$</span><span class="kw">new</span>(</span> -<span id="cb2-2"><a href="#cb2-2"></a> Tarif.L71U, </span> -<span id="cb2-3"><a href="#cb2-3"></a> <span class="dt">age =</span> <span class="dv">35</span>, </span> -<span id="cb2-4"><a href="#cb2-4"></a> <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">"2020-08-18"</span>), </span> -<span id="cb2-5"><a href="#cb2-5"></a> <span class="dt">sumInsured =</span> <span class="dv">100000</span>);</span></code></pre></div> -<p>Just creating the contract will already calculate all cash flows, present values, premiums, reserves, etc. for the whole contract period. They can be accessed through the list.</p> -<p>A full list of all possible arguments can be found in the section <a href="#all-possible-parameters-and-their-default-values">All possible parameters and their default values</a>.</p> -<p>Once the contract is created, all values can be accessed like this:</p> -<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>premiums <span class="op">%>%</span><span class="st"> </span>kable</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -x -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -unit.net -</td> -<td style="text-align:right;"> -0.0010366 -</td> -</tr> -<tr> -<td style="text-align:left;"> -unit.Zillmer -</td> -<td style="text-align:right;"> -0.0010366 -</td> -</tr> -<tr> -<td style="text-align:left;"> -unit.gross -</td> -<td style="text-align:right;"> -0.0116337 -</td> -</tr> -<tr> -<td style="text-align:left;"> -net -</td> -<td style="text-align:right;"> -103.6556459 -</td> -</tr> -<tr> -<td style="text-align:left;"> -Zillmer -</td> -<td style="text-align:right;"> -103.6556459 -</td> -</tr> -<tr> -<td style="text-align:left;"> -gross -</td> -<td style="text-align:right;"> -1163.3700119 -</td> -</tr> -<tr> -<td style="text-align:left;"> -unitcost -</td> -<td style="text-align:right;"> -10.0000000 -</td> -</tr> -<tr> -<td style="text-align:left;"> -written_yearly -</td> -<td style="text-align:right;"> -1220.3048124 -</td> -</tr> -<tr> -<td style="text-align:left;"> -written_beforetax -</td> -<td style="text-align:right;"> -1173.3700119 -</td> -</tr> -<tr> -<td style="text-align:left;"> -tax -</td> -<td style="text-align:right;"> -46.9348005 -</td> -</tr> -<tr> -<td style="text-align:left;"> -written -</td> -<td style="text-align:right;"> -1220.3048124 -</td> -</tr> -</tbody> -</table> -<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>reserves <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -SumInsured -</th> -<th style="text-align:right;"> -net -</th> -<th style="text-align:right;"> -Zillmer -</th> -<th style="text-align:right;"> -adequate -</th> -<th style="text-align:right;"> -gamma -</th> -<th style="text-align:right;"> -contractual -</th> -<th style="text-align:right;"> -conversion -</th> -<th style="text-align:right;"> -alphaRefund -</th> -<th style="text-align:right;"> -reduction -</th> -<th style="text-align:right;"> -PremiumsPaid -</th> -<th style="text-align:right;"> -Surrender -</th> -<th style="text-align:right;"> -PremiumFreeSumInsured -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> --491.08 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -2326.74 -</td> -<td style="text-align:right;"> -30.48 -</td> -<td style="text-align:right;"> -313.05 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> --404.73 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -3490.11 -</td> -<td style="text-align:right;"> -56.87 -</td> -<td style="text-align:right;"> -652.78 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> --323.27 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -4653.48 -</td> -<td style="text-align:right;"> -78.57 -</td> -<td style="text-align:right;"> -1023.64 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> --247.59 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -94.79 -</td> -<td style="text-align:right;"> -1430.17 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> --178.78 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -6980.22 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> --118.29 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -8143.59 -</td> -<td style="text-align:right;"> -106.52 -</td> -<td style="text-align:right;"> -2371.32 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> --68.07 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -9306.96 -</td> -<td style="text-align:right;"> -98.96 -</td> -<td style="text-align:right;"> -2910.44 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> --30.15 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -10470.33 -</td> -<td style="text-align:right;"> -80.00 -</td> -<td style="text-align:right;"> -3494.90 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> --6.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -11633.70 -</td> -<td style="text-align:right;"> -47.70 -</td> -<td style="text-align:right;"> -4123.97 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -11633.70 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -</tbody> -</table> -<p>Looking back at the definition of the tariff, the only spot where the type of insurance actually came in was the argument of the [InsuranceTarif] definition. This is one of the most important flags and is central to correct implementation of a tarif. On the other hand, all it does is to cause different vectors of survival, death and guaranteed cash flows. Once the cash flows are determined, the insurance contract and tariff does not need the insurance type any more.</p> -<p>In our term life example, the insurance contract’s unit cash flows are 1 for death benefits (both when premiums are paid and when the contract is paid-up) and for premiums in advance. All other cash flows (guaranteed, survival or disease cash flows) are zero. Similarly, the cost structure described above and implemented by the [LifeInsuranceContracts::initializeCosts()] function defines all cost cash flows, which are the starting point for all further calculations:</p> -<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>cashFlows <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -premiums_advance -</th> -<th style="text-align:right;"> -premiums_arrears -</th> -<th style="text-align:right;"> -guaranteed_advance -</th> -<th style="text-align:right;"> -guaranteed_arrears -</th> -<th style="text-align:right;"> -survival_advance -</th> -<th style="text-align:right;"> -survival_arrears -</th> -<th style="text-align:right;"> -death_SumInsured -</th> -<th style="text-align:right;"> -disease_SumInsured -</th> -<th style="text-align:right;"> -death_GrossPremium -</th> -<th style="text-align:right;"> -death_Refund_past -</th> -<th style="text-align:right;"> -death_PremiumFree -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -</tbody> -</table> -<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>cashFlowsCosts <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -alpha.SumInsured -</th> -<th style="text-align:right;"> -Zillmer.SumInsured -</th> -<th style="text-align:right;"> -beta.SumInsured -</th> -<th style="text-align:right;"> -gamma.SumInsured -</th> -<th style="text-align:right;"> -gamma_nopremiums.SumInsured -</th> -<th style="text-align:right;"> -unitcosts.SumInsured -</th> -<th style="text-align:right;"> -alpha.SumPremiums -</th> -<th style="text-align:right;"> -Zillmer.SumPremiums -</th> -<th style="text-align:right;"> -beta.SumPremiums -</th> -<th style="text-align:right;"> -gamma.SumPremiums -</th> -<th style="text-align:right;"> -gamma_nopremiums.SumPremiums -</th> -<th style="text-align:right;"> -unitcosts.SumPremiums -</th> -<th style="text-align:right;"> -alpha.GrossPremium -</th> -<th style="text-align:right;"> -Zillmer.GrossPremium -</th> -<th style="text-align:right;"> -beta.GrossPremium -</th> -<th style="text-align:right;"> -gamma.GrossPremium -</th> -<th style="text-align:right;"> -gamma_nopremiums.GrossPremium -</th> -<th style="text-align:right;"> -unitcosts.GrossPremium -</th> -<th style="text-align:right;"> -alpha.NetPremium -</th> -<th style="text-align:right;"> -Zillmer.NetPremium -</th> -<th style="text-align:right;"> -beta.NetPremium -</th> -<th style="text-align:right;"> -gamma.NetPremium -</th> -<th style="text-align:right;"> -gamma_nopremiums.NetPremium -</th> -<th style="text-align:right;"> -unitcosts.NetPremium -</th> -<th style="text-align:right;"> -alpha.Constant -</th> -<th style="text-align:right;"> -Zillmer.Constant -</th> -<th style="text-align:right;"> -beta.Constant -</th> -<th style="text-align:right;"> -gamma.Constant -</th> -<th style="text-align:right;"> -gamma_nopremiums.Constant -</th> -<th style="text-align:right;"> -unitcosts.Constant -</th> -<th style="text-align:right;"> -alpha.Reserve -</th> -<th style="text-align:right;"> -Zillmer.Reserve -</th> -<th style="text-align:right;"> -beta.Reserve -</th> -<th style="text-align:right;"> -gamma.Reserve -</th> -<th style="text-align:right;"> -gamma_nopremiums.Reserve -</th> -<th style="text-align:right;"> -unitcosts.Reserve -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.05 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0.01 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -</tbody> -</table> -<p>Once these unit cash flows are set, all insurance contracts are handled identically. First, present values of each of the cash flows are calculated, from which the premiums can be calculated by the equivalence principle.</p> -<div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb7-1"><a href="#cb7-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>presentValues <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -premiums -</th> -<th style="text-align:right;"> -guaranteed -</th> -<th style="text-align:right;"> -survival -</th> -<th style="text-align:right;"> -death_SumInsured -</th> -<th style="text-align:right;"> -disease_SumInsured -</th> -<th style="text-align:right;"> -death_GrossPremium -</th> -<th style="text-align:right;"> -death_Refund_past -</th> -<th style="text-align:right;"> -death_Refund_future -</th> -<th style="text-align:right;"> -death_PremiumFree -</th> -<th style="text-align:right;"> -benefits -</th> -<th style="text-align:right;"> -benefitsAndRefund -</th> -<th style="text-align:right;"> -alpha -</th> -<th style="text-align:right;"> -Zillmer -</th> -<th style="text-align:right;"> -beta -</th> -<th style="text-align:right;"> -gamma -</th> -<th style="text-align:right;"> -gamma_nopremiums -</th> -<th style="text-align:right;"> -unitcosts -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -9.741123 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0100972 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0100972 -</td> -<td style="text-align:right;"> -0.0100972 -</td> -<td style="text-align:right;"> -0.0100972 -</td> -<td style="text-align:right;"> -0.0058169 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0974112 -</td> -<td style="text-align:right;"> -0.0974112 -</td> -<td style="text-align:right;"> -0.0009741 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -8.791012 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0094510 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0094510 -</td> -<td style="text-align:right;"> -0.0094510 -</td> -<td style="text-align:right;"> -0.0094510 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0879101 -</td> -<td style="text-align:right;"> -0.0879101 -</td> -<td style="text-align:right;"> -0.0008791 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -7.835850 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0087541 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0087541 -</td> -<td style="text-align:right;"> -0.0087541 -</td> -<td style="text-align:right;"> -0.0087541 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0783585 -</td> -<td style="text-align:right;"> -0.0783585 -</td> -<td style="text-align:right;"> -0.0007836 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -6.875560 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0079999 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0079999 -</td> -<td style="text-align:right;"> -0.0079999 -</td> -<td style="text-align:right;"> -0.0079999 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0687556 -</td> -<td style="text-align:right;"> -0.0687556 -</td> -<td style="text-align:right;"> -0.0006876 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -5.910060 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0071794 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0071794 -</td> -<td style="text-align:right;"> -0.0071794 -</td> -<td style="text-align:right;"> -0.0071794 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0591006 -</td> -<td style="text-align:right;"> -0.0591006 -</td> -<td style="text-align:right;"> -0.0005910 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -4.939252 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0062815 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0062815 -</td> -<td style="text-align:right;"> -0.0062815 -</td> -<td style="text-align:right;"> -0.0062815 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0493925 -</td> -<td style="text-align:right;"> -0.0493925 -</td> -<td style="text-align:right;"> -0.0004939 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -3.963017 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0052915 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0052915 -</td> -<td style="text-align:right;"> -0.0052915 -</td> -<td style="text-align:right;"> -0.0052915 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0396302 -</td> -<td style="text-align:right;"> -0.0396302 -</td> -<td style="text-align:right;"> -0.0003963 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -2.981210 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0041898 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0041898 -</td> -<td style="text-align:right;"> -0.0041898 -</td> -<td style="text-align:right;"> -0.0041898 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0298121 -</td> -<td style="text-align:right;"> -0.0298121 -</td> -<td style="text-align:right;"> -0.0002981 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -1.993626 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0029554 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0029554 -</td> -<td style="text-align:right;"> -0.0029554 -</td> -<td style="text-align:right;"> -0.0029554 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0199363 -</td> -<td style="text-align:right;"> -0.0199363 -</td> -<td style="text-align:right;"> -0.0001994 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -1.000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0015666 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0015666 -</td> -<td style="text-align:right;"> -0.0015666 -</td> -<td style="text-align:right;"> -0.0015666 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0100000 -</td> -<td style="text-align:right;"> -0.0100000 -</td> -<td style="text-align:right;"> -0.0001000 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -0.000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -</tr> -</tbody> -</table> -<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="#cb8-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>presentValuesCosts <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -alpha.SumInsured -</th> -<th style="text-align:right;"> -Zillmer.SumInsured -</th> -<th style="text-align:right;"> -beta.SumInsured -</th> -<th style="text-align:right;"> -gamma.SumInsured -</th> -<th style="text-align:right;"> -gamma_nopremiums.SumInsured -</th> -<th style="text-align:right;"> -unitcosts.SumInsured -</th> -<th style="text-align:right;"> -alpha.SumPremiums -</th> -<th style="text-align:right;"> -Zillmer.SumPremiums -</th> -<th style="text-align:right;"> -beta.SumPremiums -</th> -<th style="text-align:right;"> -gamma.SumPremiums -</th> -<th style="text-align:right;"> -gamma_nopremiums.SumPremiums -</th> -<th style="text-align:right;"> -unitcosts.SumPremiums -</th> -<th style="text-align:right;"> -alpha.GrossPremium -</th> -<th style="text-align:right;"> -Zillmer.GrossPremium -</th> -<th style="text-align:right;"> -beta.GrossPremium -</th> -<th style="text-align:right;"> -gamma.GrossPremium -</th> -<th style="text-align:right;"> -gamma_nopremiums.GrossPremium -</th> -<th style="text-align:right;"> -unitcosts.GrossPremium -</th> -<th style="text-align:right;"> -alpha.NetPremium -</th> -<th style="text-align:right;"> -Zillmer.NetPremium -</th> -<th style="text-align:right;"> -beta.NetPremium -</th> -<th style="text-align:right;"> -gamma.NetPremium -</th> -<th style="text-align:right;"> -gamma_nopremiums.NetPremium -</th> -<th style="text-align:right;"> -unitcosts.NetPremium -</th> -<th style="text-align:right;"> -alpha.Constant -</th> -<th style="text-align:right;"> -Zillmer.Constant -</th> -<th style="text-align:right;"> -beta.Constant -</th> -<th style="text-align:right;"> -gamma.Constant -</th> -<th style="text-align:right;"> -gamma_nopremiums.Constant -</th> -<th style="text-align:right;"> -unitcosts.Constant -</th> -<th style="text-align:right;"> -alpha.Reserve -</th> -<th style="text-align:right;"> -Zillmer.Reserve -</th> -<th style="text-align:right;"> -beta.Reserve -</th> -<th style="text-align:right;"> -gamma.Reserve -</th> -<th style="text-align:right;"> -gamma_nopremiums.Reserve -</th> -<th style="text-align:right;"> -unitcosts.Reserve -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0974112 -</td> -<td style="text-align:right;"> -0.0974112 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.05 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -97.41123 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0879101 -</td> -<td style="text-align:right;"> -0.0879101 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -87.91012 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0783585 -</td> -<td style="text-align:right;"> -0.0783585 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -78.35850 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0687556 -</td> -<td style="text-align:right;"> -0.0687556 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -68.75560 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0591006 -</td> -<td style="text-align:right;"> -0.0591006 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.10060 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0493925 -</td> -<td style="text-align:right;"> -0.0493925 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -49.39252 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0396302 -</td> -<td style="text-align:right;"> -0.0396302 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -39.63017 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0298121 -</td> -<td style="text-align:right;"> -0.0298121 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -29.81210 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0199363 -</td> -<td style="text-align:right;"> -0.0199363 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -19.93626 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0100000 -</td> -<td style="text-align:right;"> -0.0100000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10.00000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0.0000000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -</tr> -</tbody> -</table> -<div class="sourceCode" id="cb9"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb9-1"><a href="#cb9-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>premiums <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -x -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -unit.net -</td> -<td style="text-align:right;"> -0.0010366 -</td> -</tr> -<tr> -<td style="text-align:left;"> -unit.Zillmer -</td> -<td style="text-align:right;"> -0.0010366 -</td> -</tr> -<tr> -<td style="text-align:left;"> -unit.gross -</td> -<td style="text-align:right;"> -0.0116337 -</td> -</tr> -<tr> -<td style="text-align:left;"> -net -</td> -<td style="text-align:right;"> -103.6556459 -</td> -</tr> -<tr> -<td style="text-align:left;"> -Zillmer -</td> -<td style="text-align:right;"> -103.6556459 -</td> -</tr> -<tr> -<td style="text-align:left;"> -gross -</td> -<td style="text-align:right;"> -1163.3700119 -</td> -</tr> -<tr> -<td style="text-align:left;"> -unitcost -</td> -<td style="text-align:right;"> -10.0000000 -</td> -</tr> -<tr> -<td style="text-align:left;"> -written_yearly -</td> -<td style="text-align:right;"> -1220.3048124 -</td> -</tr> -<tr> -<td style="text-align:left;"> -written_beforetax -</td> -<td style="text-align:right;"> -1173.3700119 -</td> -</tr> -<tr> -<td style="text-align:left;"> -tax -</td> -<td style="text-align:right;"> -46.9348005 -</td> -</tr> -<tr> -<td style="text-align:left;"> -written -</td> -<td style="text-align:right;"> -1220.3048124 -</td> -</tr> -</tbody> -</table> -<p>The actual calculation of the premiums has to be in the order gross premium, Zillmer premiuem, then net premium. The reason for this particular order is that some tariffs have a gross premium refund in case of death. So to calculate the net premium, the gross premium is required.</p> -<p>The premiums allow the unit cash flows and present values to be converted to monetary terms (fields and ). Also, the reserves of the contract can be calculated.</p> -<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="#cb10-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>reserves <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -SumInsured -</th> -<th style="text-align:right;"> -net -</th> -<th style="text-align:right;"> -Zillmer -</th> -<th style="text-align:right;"> -adequate -</th> -<th style="text-align:right;"> -gamma -</th> -<th style="text-align:right;"> -contractual -</th> -<th style="text-align:right;"> -conversion -</th> -<th style="text-align:right;"> -alphaRefund -</th> -<th style="text-align:right;"> -reduction -</th> -<th style="text-align:right;"> -PremiumsPaid -</th> -<th style="text-align:right;"> -Surrender -</th> -<th style="text-align:right;"> -PremiumFreeSumInsured -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> --491.08 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -2326.74 -</td> -<td style="text-align:right;"> -30.48 -</td> -<td style="text-align:right;"> -313.05 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> --404.73 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -3490.11 -</td> -<td style="text-align:right;"> -56.87 -</td> -<td style="text-align:right;"> -652.78 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> --323.27 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -4653.48 -</td> -<td style="text-align:right;"> -78.57 -</td> -<td style="text-align:right;"> -1023.64 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> --247.59 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -94.79 -</td> -<td style="text-align:right;"> -1430.17 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> --178.78 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -116.17 -</td> -<td style="text-align:right;"> -6980.22 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> --118.29 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -118.36 -</td> -<td style="text-align:right;"> -8143.59 -</td> -<td style="text-align:right;"> -106.52 -</td> -<td style="text-align:right;"> -2371.32 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> --68.07 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -109.96 -</td> -<td style="text-align:right;"> -9306.96 -</td> -<td style="text-align:right;"> -98.96 -</td> -<td style="text-align:right;"> -2910.44 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> --30.15 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -88.89 -</td> -<td style="text-align:right;"> -10470.33 -</td> -<td style="text-align:right;"> -80.00 -</td> -<td style="text-align:right;"> -3494.90 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> --6.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -53.00 -</td> -<td style="text-align:right;"> -11633.70 -</td> -<td style="text-align:right;"> -47.70 -</td> -<td style="text-align:right;"> -4123.97 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -100000 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -11633.70 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -</tbody> -</table> -<p>Also, the premium composition into costs, risk premium, savings premium and other components is possible.</p> -<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="#cb11-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>premiumComposition <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:right;"> -charged -</th> -<th style="text-align:right;"> -tax -</th> -<th style="text-align:right;"> -loading.frequency -</th> -<th style="text-align:right;"> -rebate.premium -</th> -<th style="text-align:right;"> -rebate.partner -</th> -<th style="text-align:right;"> -unitcosts -</th> -<th style="text-align:right;"> -profit.advance -</th> -<th style="text-align:right;"> -rebate.sum -</th> -<th style="text-align:right;"> -charge.noMedicalExam -</th> -<th style="text-align:right;"> -gross -</th> -<th style="text-align:right;"> -gamma -</th> -<th style="text-align:right;"> -beta -</th> -<th style="text-align:right;"> -alpha -</th> -<th style="text-align:right;"> -alpha.noZillmer -</th> -<th style="text-align:right;"> -alpha.Zillmer -</th> -<th style="text-align:right;"> -Zillmer -</th> -<th style="text-align:right;"> -net -</th> -<th style="text-align:right;"> -risk -</th> -<th style="text-align:right;"> -premium.risk.actual -</th> -<th style="text-align:right;"> -premium.risk.security -</th> -<th style="text-align:right;"> -risk.disease -</th> -<th style="text-align:right;"> -premium.risk.disease.actual -</th> -<th style="text-align:right;"> -premium.risk.disease.security -</th> -<th style="text-align:right;"> -savings -</th> -<th style="text-align:right;"> -Zillmer.risk -</th> -<th style="text-align:right;"> -Zillmer.risk.actual -</th> -<th style="text-align:right;"> -Zillmer.risk.security -</th> -<th style="text-align:right;"> -Zillmer.risk.disease -</th> -<th style="text-align:right;"> -Zillmer.risk.disease.actual -</th> -<th style="text-align:right;"> -Zillmer.risk.disease.security -</th> -<th style="text-align:right;"> -Zillmer.savings -</th> -<th style="text-align:right;"> -Zillmer.amortization -</th> -<th style="text-align:right;"> -Zillmer.savings.real -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -69.96 -</td> -<td style="text-align:right;"> -69.96 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.70 -</td> -<td style="text-align:right;"> -69.96 -</td> -<td style="text-align:right;"> -69.96 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.70 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.70 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -74.65 -</td> -<td style="text-align:right;"> -74.65 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -29.00 -</td> -<td style="text-align:right;"> -74.65 -</td> -<td style="text-align:right;"> -74.65 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -29.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -29.00 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -79.97 -</td> -<td style="text-align:right;"> -79.97 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -23.68 -</td> -<td style="text-align:right;"> -79.97 -</td> -<td style="text-align:right;"> -79.97 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -23.68 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -23.68 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -86.16 -</td> -<td style="text-align:right;"> -86.16 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -17.50 -</td> -<td style="text-align:right;"> -86.16 -</td> -<td style="text-align:right;"> -86.16 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -17.50 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -17.50 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -93.39 -</td> -<td style="text-align:right;"> -93.39 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10.27 -</td> -<td style="text-align:right;"> -93.39 -</td> -<td style="text-align:right;"> -93.39 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10.27 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10.27 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -102.05 -</td> -<td style="text-align:right;"> -102.05 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1.60 -</td> -<td style="text-align:right;"> -102.05 -</td> -<td style="text-align:right;"> -102.05 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1.60 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1.60 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -112.61 -</td> -<td style="text-align:right;"> -112.61 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --8.95 -</td> -<td style="text-align:right;"> -112.61 -</td> -<td style="text-align:right;"> -112.61 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --8.95 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --8.95 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -125.16 -</td> -<td style="text-align:right;"> -125.16 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --21.50 -</td> -<td style="text-align:right;"> -125.16 -</td> -<td style="text-align:right;"> -125.16 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --21.50 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --21.50 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -139.81 -</td> -<td style="text-align:right;"> -139.81 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --36.16 -</td> -<td style="text-align:right;"> -139.81 -</td> -<td style="text-align:right;"> -139.81 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --36.16 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --36.16 -</td> -</tr> -<tr> -<td style="text-align:right;"> -1220.3 -</td> -<td style="text-align:right;"> -46.93 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -10 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -156.66 -</td> -<td style="text-align:right;"> -156.66 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --53.00 -</td> -<td style="text-align:right;"> -156.66 -</td> -<td style="text-align:right;"> -156.66 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --53.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> --53.00 -</td> -</tr> -<tr> -<td style="text-align:right;"> -0.0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -1000 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -59.71 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -103.66 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -</tbody> -</table> -<p>As we see, the whole history and future of the contract is calculated as soon as it is created. It is, however, also possible to modify a contract later on, e.g. by stopping premium payments and converting it to a paid-up contract.</p> -<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="#cb12-1"></a>contract.L71U =<span class="st"> </span>contract.L71U<span class="op">$</span><span class="kw">premiumWaiver</span>(<span class="dt">t =</span> <span class="dv">5</span>)</span> -<span id="cb12-2"><a href="#cb12-2"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>reserves <span class="op">%>%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div> -<table> -<thead> -<tr> -<th style="text-align:left;"> -</th> -<th style="text-align:right;"> -SumInsured -</th> -<th style="text-align:right;"> -net -</th> -<th style="text-align:right;"> -Zillmer -</th> -<th style="text-align:right;"> -adequate -</th> -<th style="text-align:right;"> -gamma -</th> -<th style="text-align:right;"> -contractual -</th> -<th style="text-align:right;"> -conversion -</th> -<th style="text-align:right;"> -alphaRefund -</th> -<th style="text-align:right;"> -reduction -</th> -<th style="text-align:right;"> -PremiumsPaid -</th> -<th style="text-align:right;"> -Surrender -</th> -<th style="text-align:right;"> -PremiumFreeSumInsured -</th> -</tr> -</thead> -<tbody> -<tr> -<td style="text-align:left;"> -0 -</td> -<td style="text-align:right;"> -100000.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -1163.37 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -<tr> -<td style="text-align:left;"> -1 -</td> -<td style="text-align:right;"> -100000.00 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> --491.08 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -33.87 -</td> -<td style="text-align:right;"> -2326.74 -</td> -<td style="text-align:right;"> -30.48 -</td> -<td style="text-align:right;"> -313.05 -</td> -</tr> -<tr> -<td style="text-align:left;"> -2 -</td> -<td style="text-align:right;"> -100000.00 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> --404.73 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -63.18 -</td> -<td style="text-align:right;"> -3490.11 -</td> -<td style="text-align:right;"> -56.87 -</td> -<td style="text-align:right;"> -652.78 -</td> -</tr> -<tr> -<td style="text-align:left;"> -3 -</td> -<td style="text-align:right;"> -100000.00 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> --323.27 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -87.30 -</td> -<td style="text-align:right;"> -4653.48 -</td> -<td style="text-align:right;"> -78.57 -</td> -<td style="text-align:right;"> -1023.64 -</td> -</tr> -<tr> -<td style="text-align:left;"> -4 -</td> -<td style="text-align:right;"> -100000.00 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> --247.59 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -105.32 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -94.79 -</td> -<td style="text-align:right;"> -1430.17 -</td> -</tr> -<tr> -<td style="text-align:left;"> -5 -</td> -<td style="text-align:right;"> -1877.91 -</td> -<td style="text-align:right;"> -11.80 -</td> -<td style="text-align:right;"> -11.80 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -92.75 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -104.55 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -6 -</td> -<td style="text-align:right;"> -1877.91 -</td> -<td style="text-align:right;"> -9.94 -</td> -<td style="text-align:right;"> -9.94 -</td> -<td style="text-align:right;"> -84.36 -</td> -<td style="text-align:right;"> -74.42 -</td> -<td style="text-align:right;"> -84.36 -</td> -<td style="text-align:right;"> -84.36 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -84.36 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -84.36 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -7 -</td> -<td style="text-align:right;"> -1877.91 -</td> -<td style="text-align:right;"> -7.87 -</td> -<td style="text-align:right;"> -7.87 -</td> -<td style="text-align:right;"> -63.85 -</td> -<td style="text-align:right;"> -55.98 -</td> -<td style="text-align:right;"> -63.85 -</td> -<td style="text-align:right;"> -63.85 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -63.85 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -63.85 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -8 -</td> -<td style="text-align:right;"> -1877.91 -</td> -<td style="text-align:right;"> -5.55 -</td> -<td style="text-align:right;"> -5.55 -</td> -<td style="text-align:right;"> -42.99 -</td> -<td style="text-align:right;"> -37.44 -</td> -<td style="text-align:right;"> -42.99 -</td> -<td style="text-align:right;"> -42.99 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -42.99 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -42.99 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -9 -</td> -<td style="text-align:right;"> -1877.91 -</td> -<td style="text-align:right;"> -2.94 -</td> -<td style="text-align:right;"> -2.94 -</td> -<td style="text-align:right;"> -21.72 -</td> -<td style="text-align:right;"> -18.78 -</td> -<td style="text-align:right;"> -21.72 -</td> -<td style="text-align:right;"> -21.72 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -21.72 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -21.72 -</td> -<td style="text-align:right;"> -1877.91 -</td> -</tr> -<tr> -<td style="text-align:left;"> -10 -</td> -<td style="text-align:right;"> -1877.91 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -5816.85 -</td> -<td style="text-align:right;"> -0.00 -</td> -<td style="text-align:right;"> -0.00 -</td> -</tr> -</tbody> -</table> -</div> -<div id="creating-tables-with-various-parameters" class="section level2"> -<h2><span class="header-section-number">2.4</span> Creating tables with various parameters</h2> -<p>When prototyping a new product or creating marketing material, it is often needed to create tables of premiums, reserves, benefits or surrender values for different parameters (e.g. different ages, maturities and sums insured for the marketing department, or different guaranteed interest rates, mortality tables or costs for the product development group).</p> -<p>This can be easily done by the functions [contractGridPremium()] or [contractGrid()]. They take one argument , which gives the parameters for the axes of the table (more than two dimensions are possible!), while all other parameters are passed unchanged to [InsuranceContract$new()].</p> -<p>First, let us create a grid of premiums for different ages and maturities (for sum insured 100,000 Euro):</p> -<div class="sourceCode" id="cb13"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb13-1"><a href="#cb13-1"></a><span class="kw">contractGridPremium</span>(</span> -<span id="cb13-2"><a href="#cb13-2"></a> <span class="dt">axes =</span> <span class="kw">list</span>(<span class="dt">age =</span> <span class="kw">seq</span>(<span class="dv">20</span>, <span class="dv">80</span>, <span class="dv">5</span>), <span class="dt">policyPeriod =</span> <span class="kw">seq</span>(<span class="dv">5</span>, <span class="dv">40</span>, <span class="dv">5</span>)),</span> -<span id="cb13-3"><a href="#cb13-3"></a> <span class="dt">tarif =</span> Tarif.L71U, </span> -<span id="cb13-4"><a href="#cb13-4"></a> <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">"2020-08-18"</span>), </span> -<span id="cb13-5"><a href="#cb13-5"></a> <span class="dt">sumInsured =</span> <span class="dv">100000</span></span> -<span id="cb13-6"><a href="#cb13-6"></a>)</span> -<span id="cb13-7"><a href="#cb13-7"></a><span class="co">#> policyPeriod</span></span> -<span id="cb13-8"><a href="#cb13-8"></a><span class="co">#> age 5 10 15 20 25 30 35</span></span> -<span id="cb13-9"><a href="#cb13-9"></a><span class="co">#> 20 1169.853 1168.075 1199.161 1240.469 1303.557 1410.318 1585.448</span></span> -<span id="cb13-10"><a href="#cb13-10"></a><span class="co">#> 25 1164.503 1168.336 1210.805 1275.666 1385.428 1565.480 1850.114</span></span> -<span id="cb13-11"><a href="#cb13-11"></a><span class="co">#> 30 1170.548 1183.146 1249.849 1362.728 1547.892 1840.607 2274.448</span></span> -<span id="cb13-12"><a href="#cb13-12"></a><span class="co">#> 35 1194.338 1220.305 1336.514 1527.142 1828.495 2275.137 2872.007</span></span> -<span id="cb13-13"><a href="#cb13-13"></a><span class="co">#> 40 1245.159 1297.609 1494.339 1805.337 2266.275 2882.249 3710.479</span></span> -<span id="cb13-14"><a href="#cb13-14"></a><span class="co">#> 45 1349.637 1435.423 1757.889 2235.825 2874.514 3733.287 4976.711</span></span> -<span id="cb13-15"><a href="#cb13-15"></a><span class="co">#> 50 1521.824 1657.738 2157.231 2824.729 3722.239 5021.749 6831.597</span></span> -<span id="cb13-16"><a href="#cb13-16"></a><span class="co">#> 55 1796.462 1993.474 2699.839 3649.608 5024.786 6940.017 9052.437</span></span> -<span id="cb13-17"><a href="#cb13-17"></a><span class="co">#> 60 2197.241 2439.539 3462.609 4943.919 7006.962 9282.412 10902.557</span></span> -<span id="cb13-18"><a href="#cb13-18"></a><span class="co">#> 65 2692.767 3078.238 4712.042 6987.466 9497.163 11284.095 11950.511</span></span> -<span id="cb13-19"><a href="#cb13-19"></a><span class="co">#> 70 3491.667 4280.494 6889.785 9767.724 11816.848 12581.046 12581.046</span></span> -<span id="cb13-20"><a href="#cb13-20"></a><span class="co">#> 75 5174.046 6676.763 10245.338 12786.202 13733.789 13733.789 13733.789</span></span> -<span id="cb13-21"><a href="#cb13-21"></a><span class="co">#> 80 8555.299 10940.868 14604.915 15971.380 15971.380 15971.380 15971.380</span></span> -<span id="cb13-22"><a href="#cb13-22"></a><span class="co">#> policyPeriod</span></span> -<span id="cb13-23"><a href="#cb13-23"></a><span class="co">#> age 40</span></span> -<span id="cb13-24"><a href="#cb13-24"></a><span class="co">#> 20 1862.300</span></span> -<span id="cb13-25"><a href="#cb13-25"></a><span class="co">#> 25 2271.977</span></span> -<span id="cb13-26"><a href="#cb13-26"></a><span class="co">#> 30 2854.210</span></span> -<span id="cb13-27"><a href="#cb13-27"></a><span class="co">#> 35 3674.550</span></span> -<span id="cb13-28"><a href="#cb13-28"></a><span class="co">#> 40 4909.681</span></span> -<span id="cb13-29"><a href="#cb13-29"></a><span class="co">#> 45 6708.446</span></span> -<span id="cb13-30"><a href="#cb13-30"></a><span class="co">#> 50 8827.783</span></span> -<span id="cb13-31"><a href="#cb13-31"></a><span class="co">#> 55 10556.502</span></span> -<span id="cb13-32"><a href="#cb13-32"></a><span class="co">#> 60 11506.771</span></span> -<span id="cb13-33"><a href="#cb13-33"></a><span class="co">#> 65 11950.511</span></span> -<span id="cb13-34"><a href="#cb13-34"></a><span class="co">#> 70 12581.046</span></span> -<span id="cb13-35"><a href="#cb13-35"></a><span class="co">#> 75 13733.789</span></span> -<span id="cb13-36"><a href="#cb13-36"></a><span class="co">#> 80 15971.380</span></span></code></pre></div> -<p>One can also pass more than two dimensions to the axes:</p> -<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="#cb14-1"></a><span class="kw">contractGridPremium</span>(</span> -<span id="cb14-2"><a href="#cb14-2"></a> <span class="dt">axes =</span> <span class="kw">list</span>(<span class="dt">age =</span> <span class="kw">seq</span>(<span class="dv">20</span>, <span class="dv">80</span>, <span class="dv">10</span>), <span class="dt">policyPeriod =</span> <span class="kw">seq</span>(<span class="dv">10</span>, <span class="dv">40</span>, <span class="dv">10</span>), <span class="dt">sumInsured =</span> <span class="kw">c</span>(<span class="dv">10000</span>, <span class="dv">50000</span>, <span class="dv">100000</span>)),</span> -<span id="cb14-3"><a href="#cb14-3"></a> <span class="dt">tarif =</span> Tarif.L71U, </span> -<span id="cb14-4"><a href="#cb14-4"></a> <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">"2020-08-18"</span>)</span> -<span id="cb14-5"><a href="#cb14-5"></a>)</span> -<span id="cb14-6"><a href="#cb14-6"></a><span class="co">#> , , sumInsured = 10000</span></span> -<span id="cb14-7"><a href="#cb14-7"></a><span class="co">#> </span></span> -<span id="cb14-8"><a href="#cb14-8"></a><span class="co">#> policyPeriod</span></span> -<span id="cb14-9"><a href="#cb14-9"></a><span class="co">#> age 10 20 30 40</span></span> -<span id="cb14-10"><a href="#cb14-10"></a><span class="co">#> 20 126.1675 133.4069 150.3918 195.5900</span></span> -<span id="cb14-11"><a href="#cb14-11"></a><span class="co">#> 30 127.6746 145.6328 193.4207 294.7810</span></span> -<span id="cb14-12"><a href="#cb14-12"></a><span class="co">#> 40 139.1209 189.8937 297.5849 500.3281</span></span> -<span id="cb14-13"><a href="#cb14-13"></a><span class="co">#> 50 175.1338 291.8329 511.5349 892.1383</span></span> -<span id="cb14-14"><a href="#cb14-14"></a><span class="co">#> 60 253.3139 503.7519 937.6012 1160.0371</span></span> -<span id="cb14-15"><a href="#cb14-15"></a><span class="co">#> 70 437.4094 986.1324 1267.4646 1267.4646</span></span> -<span id="cb14-16"><a href="#cb14-16"></a><span class="co">#> 80 1103.4468 1606.4980 1606.4980 1606.4980</span></span> -<span id="cb14-17"><a href="#cb14-17"></a><span class="co">#> </span></span> -<span id="cb14-18"><a href="#cb14-18"></a><span class="co">#> , , sumInsured = 50000</span></span> -<span id="cb14-19"><a href="#cb14-19"></a><span class="co">#> </span></span> -<span id="cb14-20"><a href="#cb14-20"></a><span class="co">#> policyPeriod</span></span> -<span id="cb14-21"><a href="#cb14-21"></a><span class="co">#> age 10 20 30 40</span></span> -<span id="cb14-22"><a href="#cb14-22"></a><span class="co">#> 20 589.2374 625.4344 710.3591 936.3501</span></span> -<span id="cb14-23"><a href="#cb14-23"></a><span class="co">#> 30 596.7732 686.5640 925.5037 1432.3049</span></span> -<span id="cb14-24"><a href="#cb14-24"></a><span class="co">#> 40 654.0047 907.8685 1446.3243 2460.0403</span></span> -<span id="cb14-25"><a href="#cb14-25"></a><span class="co">#> 50 834.0689 1417.5647 2516.0746 4419.0915</span></span> -<span id="cb14-26"><a href="#cb14-26"></a><span class="co">#> 60 1224.9697 2477.1596 4646.4058 5758.5857</span></span> -<span id="cb14-27"><a href="#cb14-27"></a><span class="co">#> 70 2145.4472 4889.0622 6295.7230 6295.7230</span></span> -<span id="cb14-28"><a href="#cb14-28"></a><span class="co">#> 80 5475.6342 7990.8901 7990.8901 7990.8901</span></span> -<span id="cb14-29"><a href="#cb14-29"></a><span class="co">#> </span></span> -<span id="cb14-30"><a href="#cb14-30"></a><span class="co">#> , , sumInsured = 100000</span></span> -<span id="cb14-31"><a href="#cb14-31"></a><span class="co">#> </span></span> -<span id="cb14-32"><a href="#cb14-32"></a><span class="co">#> policyPeriod</span></span> -<span id="cb14-33"><a href="#cb14-33"></a><span class="co">#> age 10 20 30 40</span></span> -<span id="cb14-34"><a href="#cb14-34"></a><span class="co">#> 20 1168.075 1240.469 1410.318 1862.300</span></span> -<span id="cb14-35"><a href="#cb14-35"></a><span class="co">#> 30 1183.146 1362.728 1840.607 2854.210</span></span> -<span id="cb14-36"><a href="#cb14-36"></a><span class="co">#> 40 1297.609 1805.337 2882.249 4909.681</span></span> -<span id="cb14-37"><a href="#cb14-37"></a><span class="co">#> 50 1657.738 2824.729 5021.749 8827.783</span></span> -<span id="cb14-38"><a href="#cb14-38"></a><span class="co">#> 60 2439.539 4943.919 9282.412 11506.771</span></span> -<span id="cb14-39"><a href="#cb14-39"></a><span class="co">#> 70 4280.494 9767.724 12581.046 12581.046</span></span> -<span id="cb14-40"><a href="#cb14-40"></a><span class="co">#> 80 10940.868 15971.380 15971.380 15971.380</span></span></code></pre></div> -<p>One can use any of the parameters of the [InsuranceContract$new()] call in the argument, even the or parameters. This means that one can create tables comparing different tariffs, or showing the effect of different life tables.</p> -<p>In the following example, we use the tarif , but instead of the unisex table (mixed 65:35 from male:female tables), we use the male mortality tables of the Austrian census from 1870 to 2011 (with a contract period of 10 years fixed, and varying ages):</p> -<div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb15-1"><a href="#cb15-1"></a><span class="kw">contractGridPremium</span>(</span> -<span id="cb15-2"><a href="#cb15-2"></a> <span class="dt">axes =</span> <span class="kw">list</span>(<span class="dt">mortalityTable =</span> mort.AT.census[<span class="st">"m"</span>, ], <span class="dt">age =</span> <span class="kw">seq</span>(<span class="dv">20</span>, <span class="dv">80</span>, <span class="dv">10</span>)),</span> -<span id="cb15-3"><a href="#cb15-3"></a> <span class="dt">tarif =</span> Tarif.L71U, </span> -<span id="cb15-4"><a href="#cb15-4"></a> <span class="dt">sumInsured =</span> <span class="dv">100000</span>,</span> -<span id="cb15-5"><a href="#cb15-5"></a> <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">"2020-08-18"</span>)</span> -<span id="cb15-6"><a href="#cb15-6"></a>)</span> -<span id="cb15-7"><a href="#cb15-7"></a><span class="co">#> age</span></span> -<span id="cb15-8"><a href="#cb15-8"></a><span class="co">#> mortalityTable 20 30 40 50 60 70</span></span> -<span id="cb15-9"><a href="#cb15-9"></a><span class="co">#> ÖVSt 1868/71 M 2212.172 2370.833 2913.478 4059.368 7022.578 14017.657</span></span> -<span id="cb15-10"><a href="#cb15-10"></a><span class="co">#> ÖVSt 1879/82 M 2147.026 2335.900 2825.171 3951.679 6608.802 13409.890</span></span> -<span id="cb15-11"><a href="#cb15-11"></a><span class="co">#> ÖVSt 1889/92 M 2009.219 2205.402 2734.159 3838.403 6529.774 13236.981</span></span> -<span id="cb15-12"><a href="#cb15-12"></a><span class="co">#> ÖVSt 1899/1902 M 1848.012 2086.656 2645.843 3759.487 6311.541 12602.831</span></span> -<span id="cb15-13"><a href="#cb15-13"></a><span class="co">#> ÖVSt 1909/12 M 1775.956 2032.367 2578.437 3713.325 6278.540 12182.859</span></span> -<span id="cb15-14"><a href="#cb15-14"></a><span class="co">#> ÖVSt 1930/33 M 1555.504 1705.504 2130.348 3115.449 5360.127 10852.444</span></span> -<span id="cb15-15"><a href="#cb15-15"></a><span class="co">#> ÖVSt 1949/51 M 1361.781 1427.295 1765.242 2769.684 4846.955 9758.327</span></span> -<span id="cb15-16"><a href="#cb15-16"></a><span class="co">#> ÖVSt 1959/61 M 1332.548 1376.032 1632.237 2606.202 4854.636 9525.460</span></span> -<span id="cb15-17"><a href="#cb15-17"></a><span class="co">#> ÖVSt 1970/72 M 1323.656 1390.671 1683.444 2475.901 4785.257 9986.520</span></span> -<span id="cb15-18"><a href="#cb15-18"></a><span class="co">#> ÖVSt 1980/82 M 1291.107 1329.127 1646.102 2430.469 4109.816 8803.434</span></span> -<span id="cb15-19"><a href="#cb15-19"></a><span class="co">#> ÖVSt 1990/92 M 1242.549 1282.667 1528.445 2127.950 3654.002 7122.623</span></span> -<span id="cb15-20"><a href="#cb15-20"></a><span class="co">#> ÖVSt 2000/02 M 1214.154 1231.645 1426.524 1923.090 2976.936 5910.656</span></span> -<span id="cb15-21"><a href="#cb15-21"></a><span class="co">#> ÖVSt 2010/2012 M 1186.464 1201.235 1334.159 1773.809 2725.250 4841.859</span></span> -<span id="cb15-22"><a href="#cb15-22"></a><span class="co">#> age</span></span> -<span id="cb15-23"><a href="#cb15-23"></a><span class="co">#> mortalityTable 80</span></span> -<span id="cb15-24"><a href="#cb15-24"></a><span class="co">#> ÖVSt 1868/71 M 28131.00</span></span> -<span id="cb15-25"><a href="#cb15-25"></a><span class="co">#> ÖVSt 1879/82 M 27353.08</span></span> -<span id="cb15-26"><a href="#cb15-26"></a><span class="co">#> ÖVSt 1889/92 M 26292.55</span></span> -<span id="cb15-27"><a href="#cb15-27"></a><span class="co">#> ÖVSt 1899/1902 M 24700.31</span></span> -<span id="cb15-28"><a href="#cb15-28"></a><span class="co">#> ÖVSt 1909/12 M 24136.69</span></span> -<span id="cb15-29"><a href="#cb15-29"></a><span class="co">#> ÖVSt 1930/33 M 22882.25</span></span> -<span id="cb15-30"><a href="#cb15-30"></a><span class="co">#> ÖVSt 1949/51 M 20655.13</span></span> -<span id="cb15-31"><a href="#cb15-31"></a><span class="co">#> ÖVSt 1959/61 M 19874.48</span></span> -<span id="cb15-32"><a href="#cb15-32"></a><span class="co">#> ÖVSt 1970/72 M 19725.83</span></span> -<span id="cb15-33"><a href="#cb15-33"></a><span class="co">#> ÖVSt 1980/82 M 18825.90</span></span> -<span id="cb15-34"><a href="#cb15-34"></a><span class="co">#> ÖVSt 1990/92 M 16067.46</span></span> -<span id="cb15-35"><a href="#cb15-35"></a><span class="co">#> ÖVSt 2000/02 M 13821.41</span></span> -<span id="cb15-36"><a href="#cb15-36"></a><span class="co">#> ÖVSt 2010/2012 M 11904.62</span></span></code></pre></div> -</div> -</div> -<div id="all-possible-parameters-and-their-default-values" class="section level1"> -<h1><span class="header-section-number">3</span> All possible parameters and their default values</h1> -<p>All possible parameters of an insurance contract are stored in sub-lists of a a structure [InsuranceContract.Parameters]. If not provided by the call to [InsuranceContract$new()], the values will be taken from either the [InsuranceTariff]’s default parameters, the <a href="For%20contracts%20with%20profit%20sharing%20mechanisms,%20this">ProfitParticipation</a>’s default parameters or the global defaults in the [InsuranceContract.ParameterDefault]. The cascade or parameters is (from top to bottom):</p> -<ul> -<li>explicit parameters passed to [InsuranceContract$addProfitScenario()] (applies only for the added profit scenario)</li> -<li>explicit parameters passed to [InsuranceContract$new()] or [InsuranceContract$clone()]</li> -<li>parameters set with the <a href="For%20contracts%20with%20profit%20sharing%20mechanisms,%20this">ProfitParticipation</a></li> -<li>parameters set with the [InsuranceTarif]</li> -<li>Default values set in [InsuranceContract.ParameterDefaults]</li> -</ul> -<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="#cb16-1"></a><span class="kw">str</span>(InsuranceContract.ParameterDefaults)</span> -<span id="cb16-2"><a href="#cb16-2"></a><span class="co">#> List of 8</span></span> -<span id="cb16-3"><a href="#cb16-3"></a><span class="co">#> $ ContractData :List of 23</span></span> -<span id="cb16-4"><a href="#cb16-4"></a><span class="co">#> ..$ id : chr "Hauptvertrag"</span></span> -<span id="cb16-5"><a href="#cb16-5"></a><span class="co">#> ..$ sumInsured : num 100000</span></span> -<span id="cb16-6"><a href="#cb16-6"></a><span class="co">#> ..$ YOB : NULL</span></span> -<span id="cb16-7"><a href="#cb16-7"></a><span class="co">#> ..$ age : NULL</span></span> -<span id="cb16-8"><a href="#cb16-8"></a><span class="co">#> ..$ technicalAge : NULL</span></span> -<span id="cb16-9"><a href="#cb16-9"></a><span class="co">#> ..$ ageDifferences : NULL</span></span> -<span id="cb16-10"><a href="#cb16-10"></a><span class="co">#> ..$ sex : chr "unisex"</span></span> -<span id="cb16-11"><a href="#cb16-11"></a><span class="co">#> ..$ policyPeriod : num 25</span></span> -<span id="cb16-12"><a href="#cb16-12"></a><span class="co">#> ..$ premiumPeriod : NULL</span></span> -<span id="cb16-13"><a href="#cb16-13"></a><span class="co">#> ..$ deferralPeriod : num 0</span></span> -<span id="cb16-14"><a href="#cb16-14"></a><span class="co">#> ..$ guaranteedPeriod : num 0</span></span> -<span id="cb16-15"><a href="#cb16-15"></a><span class="co">#> ..$ contractClosing : NULL</span></span> -<span id="cb16-16"><a href="#cb16-16"></a><span class="co">#> ..$ blockStart : num 0</span></span> -<span id="cb16-17"><a href="#cb16-17"></a><span class="co">#> ..$ premiumPayments : chr "in advance"</span></span> -<span id="cb16-18"><a href="#cb16-18"></a><span class="co">#> ..$ benefitPayments : chr "in advance"</span></span> -<span id="cb16-19"><a href="#cb16-19"></a><span class="co">#> ..$ premiumFrequency : num 1</span></span> -<span id="cb16-20"><a href="#cb16-20"></a><span class="co">#> ..$ benefitFrequency : num 1</span></span> -<span id="cb16-21"><a href="#cb16-21"></a><span class="co">#> ..$ widowProportion : num 0</span></span> -<span id="cb16-22"><a href="#cb16-22"></a><span class="co">#> ..$ deathBenefitProportion: num 1</span></span> -<span id="cb16-23"><a href="#cb16-23"></a><span class="co">#> ..$ premiumRefund : num 0</span></span> -<span id="cb16-24"><a href="#cb16-24"></a><span class="co">#> ..$ premiumIncrease : num 1</span></span> -<span id="cb16-25"><a href="#cb16-25"></a><span class="co">#> ..$ annuityIncrease : num 1</span></span> -<span id="cb16-26"><a href="#cb16-26"></a><span class="co">#> ..$ deathBenefit : num 1</span></span> -<span id="cb16-27"><a href="#cb16-27"></a><span class="co">#> $ ContractState :List of 3</span></span> -<span id="cb16-28"><a href="#cb16-28"></a><span class="co">#> ..$ premiumWaiver : logi FALSE</span></span> -<span id="cb16-29"><a href="#cb16-29"></a><span class="co">#> ..$ surrenderPenalty: logi TRUE</span></span> -<span id="cb16-30"><a href="#cb16-30"></a><span class="co">#> ..$ alphaRefunded : logi FALSE</span></span> -<span id="cb16-31"><a href="#cb16-31"></a><span class="co">#> $ ActuarialBases :List of 9</span></span> -<span id="cb16-32"><a href="#cb16-32"></a><span class="co">#> ..$ mortalityTable : NULL</span></span> -<span id="cb16-33"><a href="#cb16-33"></a><span class="co">#> ..$ invalidityTable : NULL</span></span> -<span id="cb16-34"><a href="#cb16-34"></a><span class="co">#> ..$ invalidityEndsContract : logi TRUE</span></span> -<span id="cb16-35"><a href="#cb16-35"></a><span class="co">#> ..$ i : num 0</span></span> -<span id="cb16-36"><a href="#cb16-36"></a><span class="co">#> ..$ balanceSheetDate : Date[1:1], format: "1900-12-31"</span></span> -<span id="cb16-37"><a href="#cb16-37"></a><span class="co">#> ..$ balanceSheetMethod : chr "30/360"</span></span> -<span id="cb16-38"><a href="#cb16-38"></a><span class="co">#> ..$ surrenderValueCalculation: NULL</span></span> -<span id="cb16-39"><a href="#cb16-39"></a><span class="co">#> ..$ premiumFrequencyOrder : num 0</span></span> -<span id="cb16-40"><a href="#cb16-40"></a><span class="co">#> ..$ benefitFrequencyOrder : num 0</span></span> -<span id="cb16-41"><a href="#cb16-41"></a><span class="co">#> $ Costs : num [1:6, 1:6, 1:4] 0 0 0 0 0 0 0 0 0 0 ...</span></span> -<span id="cb16-42"><a href="#cb16-42"></a><span class="co">#> ..- attr(*, "dimnames")=List of 3</span></span> -<span id="cb16-43"><a href="#cb16-43"></a><span class="co">#> .. ..$ type : chr [1:6] "alpha" "Zillmer" "beta" "gamma" ...</span></span> -<span id="cb16-44"><a href="#cb16-44"></a><span class="co">#> .. ..$ basis : chr [1:6] "SumInsured" "SumPremiums" "GrossPremium" "NetPremium" ...</span></span> -<span id="cb16-45"><a href="#cb16-45"></a><span class="co">#> .. ..$ frequency: chr [1:4] "once" "PremiumPeriod" "PremiumFree" "PolicyPeriod"</span></span> -<span id="cb16-46"><a href="#cb16-46"></a><span class="co">#> $ Loadings :List of 13</span></span> -<span id="cb16-47"><a href="#cb16-47"></a><span class="co">#> ..$ ongoingAlphaGrossPremium: num 0</span></span> -<span id="cb16-48"><a href="#cb16-48"></a><span class="co">#> ..$ tax : num 0.04</span></span> -<span id="cb16-49"><a href="#cb16-49"></a><span class="co">#> ..$ unitcosts : num 0</span></span> -<span id="cb16-50"><a href="#cb16-50"></a><span class="co">#> ..$ security : num 0</span></span> -<span id="cb16-51"><a href="#cb16-51"></a><span class="co">#> ..$ noMedicalExam : num 0</span></span> -<span id="cb16-52"><a href="#cb16-52"></a><span class="co">#> ..$ noMedicalExamRelative : num 0</span></span> -<span id="cb16-53"><a href="#cb16-53"></a><span class="co">#> ..$ sumRebate : num 0</span></span> -<span id="cb16-54"><a href="#cb16-54"></a><span class="co">#> ..$ extraRebate : num 0</span></span> -<span id="cb16-55"><a href="#cb16-55"></a><span class="co">#> ..$ premiumRebate : num 0</span></span> -<span id="cb16-56"><a href="#cb16-56"></a><span class="co">#> ..$ partnerRebate : num 0</span></span> -<span id="cb16-57"><a href="#cb16-57"></a><span class="co">#> ..$ extraChargeGrossPremium : num 0</span></span> -<span id="cb16-58"><a href="#cb16-58"></a><span class="co">#> ..$ benefitFrequencyLoading :List of 4</span></span> -<span id="cb16-59"><a href="#cb16-59"></a><span class="co">#> .. ..$ 1 : num 0</span></span> -<span id="cb16-60"><a href="#cb16-60"></a><span class="co">#> .. ..$ 2 : num 0</span></span> -<span id="cb16-61"><a href="#cb16-61"></a><span class="co">#> .. ..$ 4 : num 0</span></span> -<span id="cb16-62"><a href="#cb16-62"></a><span class="co">#> .. ..$ 12: num 0</span></span> -<span id="cb16-63"><a href="#cb16-63"></a><span class="co">#> ..$ premiumFrequencyLoading :List of 4</span></span> -<span id="cb16-64"><a href="#cb16-64"></a><span class="co">#> .. ..$ 1 : num 0</span></span> -<span id="cb16-65"><a href="#cb16-65"></a><span class="co">#> .. ..$ 2 : num 0</span></span> -<span id="cb16-66"><a href="#cb16-66"></a><span class="co">#> .. ..$ 4 : num 0</span></span> -<span id="cb16-67"><a href="#cb16-67"></a><span class="co">#> .. ..$ 12: num 0</span></span> -<span id="cb16-68"><a href="#cb16-68"></a><span class="co">#> $ Features :List of 2</span></span> -<span id="cb16-69"><a href="#cb16-69"></a><span class="co">#> ..$ betaGammaInZillmer: logi FALSE</span></span> -<span id="cb16-70"><a href="#cb16-70"></a><span class="co">#> ..$ alphaRefundLinear : logi TRUE</span></span> -<span id="cb16-71"><a href="#cb16-71"></a><span class="co">#> $ ProfitParticipation:List of 16</span></span> -<span id="cb16-72"><a href="#cb16-72"></a><span class="co">#> ..$ advanceProfitParticipation : num 0</span></span> -<span id="cb16-73"><a href="#cb16-73"></a><span class="co">#> ..$ advanceProfitParticipationInclUnitCost: num 0</span></span> -<span id="cb16-74"><a href="#cb16-74"></a><span class="co">#> ..$ waitingPeriod : NULL</span></span> -<span id="cb16-75"><a href="#cb16-75"></a><span class="co">#> ..$ guaranteedInterest : NULL</span></span> -<span id="cb16-76"><a href="#cb16-76"></a><span class="co">#> ..$ interestProfitRate : NULL</span></span> -<span id="cb16-77"><a href="#cb16-77"></a><span class="co">#> ..$ totalInterest : NULL</span></span> -<span id="cb16-78"><a href="#cb16-78"></a><span class="co">#> ..$ mortalityProfitRate : NULL</span></span> -<span id="cb16-79"><a href="#cb16-79"></a><span class="co">#> ..$ expenseProfitRate : NULL</span></span> -<span id="cb16-80"><a href="#cb16-80"></a><span class="co">#> ..$ sumProfitRate : NULL</span></span> -<span id="cb16-81"><a href="#cb16-81"></a><span class="co">#> ..$ terminalBonusRate : NULL</span></span> -<span id="cb16-82"><a href="#cb16-82"></a><span class="co">#> ..$ terminalBonusFundRate : NULL</span></span> -<span id="cb16-83"><a href="#cb16-83"></a><span class="co">#> ..$ profitParticipationScheme : NULL</span></span> -<span id="cb16-84"><a href="#cb16-84"></a><span class="co">#> ..$ profitComponents : chr [1:5] "interest" "risk" "expense" "sum" ...</span></span> -<span id="cb16-85"><a href="#cb16-85"></a><span class="co">#> ..$ profitClass : NULL</span></span> -<span id="cb16-86"><a href="#cb16-86"></a><span class="co">#> ..$ profitRates : NULL</span></span> -<span id="cb16-87"><a href="#cb16-87"></a><span class="co">#> ..$ scenarios : list()</span></span> -<span id="cb16-88"><a href="#cb16-88"></a><span class="co">#> $ Hooks :List of 2</span></span> -<span id="cb16-89"><a href="#cb16-89"></a><span class="co">#> ..$ adjustCashFlows : NULL</span></span> -<span id="cb16-90"><a href="#cb16-90"></a><span class="co">#> ..$ adjustCashFlowsCosts: NULL</span></span></code></pre></div> -<div class="sourceCode" id="cb17"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb17-1"><a href="#cb17-1"></a></span> -<span id="cb17-2"><a href="#cb17-2"></a><span class="co"># pandoc.listRK(InsuranceContract.ParameterDefaults)</span></span></code></pre></div> -</div> -<div id="tarif-specification-and-implementation-of-a-concrete-contract" class="section level1"> -<h1><span class="header-section-number">4</span> Tarif Specification and implementation of a concrete contract</h1> -<p>An insurance contract is modelled by</p> -<div class="sourceCode" id="cb18"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1"></a>riskTarif =<span class="st"> </span>InsuranceTarif<span class="op">$</span><span class="kw">new</span>(</span> -<span id="cb18-2"><a href="#cb18-2"></a> <span class="dt">name =</span> <span class="st">"Example Risk Tarif"</span>, </span> -<span id="cb18-3"><a href="#cb18-3"></a> </span> -<span id="cb18-4"><a href="#cb18-4"></a>)</span></code></pre></div> -</div> -<div id="cost-structure" class="section level1"> -<h1><span class="header-section-number">5</span> Cost structure</h1> -<p>Costs of an insurance contracts can have</p> -</div> -<div id="calculation-approach-cash-flows-present-values-premiums-and-reserves" class="section level1"> -<h1><span class="header-section-number">6</span> Calculation approach: Cash flows, present values, premiums and reserves</h1> -</div> -<div id="advance-profit-participation-premium-rebate" class="section level1"> -<h1><span class="header-section-number">7</span> Advance profit participation (premium rebate)</h1> -</div> -<div id="profit-participation-schemes" class="section level1"> -<h1><span class="header-section-number">8</span> Profit participation schemes</h1> -</div> -<div id="modifying-the-default-calculation-approach" class="section level1"> -<h1><span class="header-section-number">9</span> Modifying the default calculation approach</h1> -</div> - - - -<!-- code folding --> - - -<!-- dynamically load mathjax for compatibility with self-contained --> -<script> - (function () { - var script = document.createElement("script"); - script.type = "text/javascript"; - script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; - document.getElementsByTagName("head")[0].appendChild(script); - })(); -</script> - -</body> -</html> -- GitLab