Skip to content
Snippets Groups Projects
Commit 78006a2e authored by Reinhold Kainhofer's avatar Reinhold Kainhofer
Browse files

V0.0.2: Tiny cosmetic fixes for CRAN submission

parent 7a665ee2
No related branches found
No related tags found
No related merge requests found
Package: LifeInsuranceContracts Package: LifeInsuranceContracts
Type: Package Type: Package
Version: 0.0.2 Version: 0.0.2
Date: 2020-09-04 Date: 2020-09-14
Title: A Framework for General, Traditional Life Insurance Contracts, Including Profit Title: Framework for Traditional Life Insurance Contracts
Participation and Contract Changes
Description: R6 classes to model traditional life insurance Description: R6 classes to model traditional life insurance
contracts like annuities, whole life insurances or endowments. All relevant contracts like annuities, whole life insurances or endowments. Such life
quantities like premium decomposition, reserves and benefits over the whole insurance contracts provide a guaranteed interest and are not directly linked
contract period are calculated and potentially exported to excel. Mortalities to the performance of a particular investment vehicle. However, they typically
are given using the MortalityTables package. provide (discretionary) profit participation. This package provides a framework
to model such contracts in a very generic (cash-flow-based) way and includes
modelling profit participation schemes, dynamic increases or more general
contract layers, as well as contract changes (like sum increases or premium
waivers). All relevant quantities like premium decomposition, reserves and
benefits over the whole contract period are calculated and potentially
exported to excel. Mortalities are given using the 'MortalityTables' package.
Authors@R: c(person("Reinhold", "Kainhofer", role=c("aut", "cre"), email="reinhold@kainhofer.com")) Authors@R: c(person("Reinhold", "Kainhofer", role=c("aut", "cre"), email="reinhold@kainhofer.com"))
Author: Reinhold Kainhofer [aut, cre] Author: Reinhold Kainhofer [aut, cre]
Maintainer: Reinhold Kainhofer <reinhold@kainhofer.com> Maintainer: Reinhold Kainhofer <reinhold@kainhofer.com>
......
...@@ -455,6 +455,7 @@ InsuranceContract = R6Class( ...@@ -455,6 +455,7 @@ InsuranceContract = R6Class(
if (!is.null(params$premiumPeriod)) params$premiumPeriod = max(1, params$premiumPeriod - t) if (!is.null(params$premiumPeriod)) params$premiumPeriod = max(1, params$premiumPeriod - t)
if (!is.null(params$deferralPeriod)) params$deferralPeriod = max(0, params$deferralPeriod - t) if (!is.null(params$deferralPeriod)) params$deferralPeriod = max(0, params$deferralPeriod - t)
if (!is.null(params$contractClosing)) params$contractClosing = params$contractClosing + years(t) if (!is.null(params$contractClosing)) params$contractClosing = params$contractClosing + years(t)
# TODO: Adjust non-constant parameters (e.g. profit rates or benefits given as vector) to the later start time
# TODO: Generalize this to also allow specifying dynamic premium rather than sum insured # TODO: Generalize this to also allow specifying dynamic premium rather than sum insured
if (!missing(SumInsuredDelta)) { if (!missing(SumInsuredDelta)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment