From fbf603b524953ca589fee9e9563763d6ea103894 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Fri, 20 Oct 2023 19:27:22 +0200 Subject: [PATCH] V0.0.6: Rename to LifeInsureR, retire old name LifeInsuranceContracts There will still be a packge LifeInsuranceContracts, but that will only depend on LifeInsureR and contain links to the new package. No functionality will be provided. --- .gitignore | 5 - DESCRIPTION | 58 +- Examples/Beispiel_Vortrag.R | 146 -- Examples/Example_Endowment_Dynamics.xlsx | Bin 502575 -> 0 bytes Examples/Example_Endowment_Dynamics_CODE.R | 46 - Formulas_Reference/.gitignore | 10 - .../Formelsammlung_Beispielrechnung.pdf | Bin 465312 -> 0 bytes .../Formelsammlung_Beispielrechnung.tex | 1168 --------- NAMESPACE | 120 +- R/.gitignore | 2 - R/HelperFunctions.R | 958 +------ R/InsuranceContract.R | 1276 --------- R/InsuranceParameters.R | 769 ------ R/InsuranceTarif.R | 1764 ------------- R/ProfitParticipation.R | 580 ----- R/ProfitParticipation_Functions.R | 359 --- R/addDataTableWorksheet.R | 73 - R/contractGrid.R | 161 -- R/create_LIC_project.R | 76 - R/exportInsuranceContractExample.R | 76 - R/exportInsuranceContract_xlsx.R | 1035 -------- R/showVmGlgExamples.R | 374 --- README.md | 6 +- inst/Beispiele/Example_Endowment.R | 117 - inst/Beispiele/Example_WholeLife_L71-U.R | 41 - .../project/LifeInsuranceContracts.dcf | 10 - .../LifeInsuranceContracts/.Rbuildignore | 8 - .../project/LifeInsuranceContracts/.gitignore | 6 - .../LifeInsuranceContracts/DESCRIPTION | 28 - .../project/LifeInsuranceContracts/NAMESPACE | 2 - .../R/XXXCOMPANYXXX_General.R | 197 -- .../R/XXXCOMPANYXXX_Gewinnplan1.R | 42 - .../R/XXXCOMPANYXXX_Tarif1.R | 37 - .../R/XXXCOMPANYXXX_Tarif2.R | 46 - .../XXXCOMPANYXXXRechnungGesamtbestand.R | 561 ---- .../LifeInsuranceContracts/tests/testthat.R | 4 - .../tests/testthat/.gitignore | 1 - .../tests/testthat/test-Tarif1.R | 41 - .../tests/testthat/test-Tarif2.R | 40 - man/CalculationSingleEnum-class.Rd | 30 - man/InsuranceContract.ParameterDefaults.Rd | 336 --- man/InsuranceContract.ParameterStructure.Rd | 19 - man/InsuranceContract.ParametersFallback.Rd | 22 - man/InsuranceContract.ParametersFill.Rd | 25 - man/InsuranceContract.Rd | 808 ------ man/InsuranceContract.Values.Rd | 16 - man/InsuranceTarif.Rd | 1186 --------- man/PVfactory.Rd | 224 -- man/PaymentTimeSingleEnum-class.Rd | 17 - man/ProfitComponentsMultipleEnum-class.Rd | 37 - man/ProfitParticipation.Rd | 371 --- man/ProfitParticipationFunctions.Rd | 270 -- man/SexSingleEnum-class.Rd | 18 - man/TariffTypeSingleEnum-class.Rd | 32 - man/age.exactRounded.Rd | 18 - man/age.yearDifference.Rd | 18 - man/applyHook.Rd | 23 - man/contractGrid.Rd | 80 - man/costValuesAsDF.Rd | 19 - man/costs.baseAlpha.Rd | 19 - man/costs.scaleAlpha.Rd | 20 - man/costsDisplayTable.Rd | 14 - man/deathBenefit.annuityDecreasing.Rd | 31 - man/deathBenefit.linearDecreasing.Rd | 24 - man/exportInsuranceContract.xlsx.Rd | 41 - man/exportInsuranceContractExample.Rd | 65 - man/fallbackFields.Rd | 18 - man/fillFields.Rd | 19 - man/fillNAgaps.Rd | 29 - man/filterProfitRates.Rd | 16 - man/freqCharge.Rd | 38 - man/head0.Rd | 24 - man/initializeCosts.Rd | 93 - man/isRegularPremiumContract.Rd | 16 - man/isSinglePremiumContract.Rd | 16 - man/makeContractGridDimname.Rd | 47 - man/pad0.Rd | 39 - man/padLast.Rd | 23 - man/premiumRefundPeriod.default.Rd | 19 - man/rollingmean.Rd | 17 - man/setCost.Rd | 44 - man/showVmGlgExamples.Rd | 46 - man/testVmGlgExample.Rd | 96 - man/valueOrFunction.Rd | 22 - man/vmGlgExample.generateTest.Rd | 42 - tests/testthat.R | 7 - tests/testthat/test-CF-Annuity-Deferred.R | 41 - tests/testthat/test-CF-Annuity.R | 34 - tests/testthat/test-CF-DreadDisease.R | 80 - tests/testthat/test-CF-Endowment-SP.R | 32 - tests/testthat/test-CF-Endowment.R | 32 - tests/testthat/test-CF-Life.R | 32 - tests/testthat/test-CF-PureEndowment.R | 33 - tests/testthat/test-CF-TermeFixe.R | 30 - tests/testthat/test-Cost-Initialization.R | 28 - tests/testthat/test-PVfactory.R | 90 - tests/testthat/test-SumInsured-calculated.R | 46 - tests/testthat/test-extendContract.R | 47 - tests/testthat/test-premiumRefundPeriod.R | 55 - vignettes/.gitignore | 2 - ...ny-specific-implementations-as-package.Rmd | 269 +- .../images/01_RStudio_ProjectTemplate_new.png | Bin 7278 -> 0 bytes .../images/02_RStudio_ProjectTemplate_new.png | Bin 30492 -> 0 bytes ...RStudio_ProjectTemplate_selectTemplate.png | Bin 31663 -> 0 bytes ...Studio_ProjectTemplate_projectSettings.png | Bin 43901 -> 0 bytes ..._RStudio_ProjectTemplate_fileStructure.png | Bin 33194 -> 0 bytes ...ing-the-lifeinsurancecontracts-package.Rmd | 2279 +---------------- 107 files changed, 18 insertions(+), 17809 deletions(-) delete mode 100644 Examples/Beispiel_Vortrag.R delete mode 100644 Examples/Example_Endowment_Dynamics.xlsx delete mode 100644 Examples/Example_Endowment_Dynamics_CODE.R delete mode 100644 Formulas_Reference/.gitignore delete mode 100644 Formulas_Reference/Formelsammlung_Beispielrechnung.pdf delete mode 100644 Formulas_Reference/Formelsammlung_Beispielrechnung.tex delete mode 100644 R/.gitignore delete mode 100644 R/InsuranceContract.R delete mode 100644 R/InsuranceParameters.R delete mode 100644 R/InsuranceTarif.R delete mode 100644 R/ProfitParticipation.R delete mode 100644 R/ProfitParticipation_Functions.R delete mode 100644 R/addDataTableWorksheet.R delete mode 100644 R/contractGrid.R delete mode 100644 R/create_LIC_project.R delete mode 100644 R/exportInsuranceContractExample.R delete mode 100644 R/exportInsuranceContract_xlsx.R delete mode 100644 R/showVmGlgExamples.R delete mode 100644 inst/Beispiele/Example_Endowment.R delete mode 100644 inst/Beispiele/Example_WholeLife_L71-U.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts.dcf delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/.Rbuildignore delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/.gitignore delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/DESCRIPTION delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/NAMESPACE delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_General.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Gewinnplan1.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif1.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif2.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/XXXCOMPANYXXXRechnungGesamtbestand.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/.gitignore delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif1.R delete mode 100644 inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif2.R delete mode 100644 man/CalculationSingleEnum-class.Rd delete mode 100644 man/InsuranceContract.ParameterDefaults.Rd delete mode 100644 man/InsuranceContract.ParameterStructure.Rd delete mode 100644 man/InsuranceContract.ParametersFallback.Rd delete mode 100644 man/InsuranceContract.ParametersFill.Rd delete mode 100644 man/InsuranceContract.Rd delete mode 100644 man/InsuranceContract.Values.Rd delete mode 100644 man/InsuranceTarif.Rd delete mode 100644 man/PVfactory.Rd delete mode 100644 man/PaymentTimeSingleEnum-class.Rd delete mode 100644 man/ProfitComponentsMultipleEnum-class.Rd delete mode 100644 man/ProfitParticipation.Rd delete mode 100644 man/ProfitParticipationFunctions.Rd delete mode 100644 man/SexSingleEnum-class.Rd delete mode 100644 man/TariffTypeSingleEnum-class.Rd delete mode 100644 man/age.exactRounded.Rd delete mode 100644 man/age.yearDifference.Rd delete mode 100644 man/applyHook.Rd delete mode 100644 man/contractGrid.Rd delete mode 100644 man/costValuesAsDF.Rd delete mode 100644 man/costs.baseAlpha.Rd delete mode 100644 man/costs.scaleAlpha.Rd delete mode 100644 man/costsDisplayTable.Rd delete mode 100644 man/deathBenefit.annuityDecreasing.Rd delete mode 100644 man/deathBenefit.linearDecreasing.Rd delete mode 100644 man/exportInsuranceContract.xlsx.Rd delete mode 100644 man/exportInsuranceContractExample.Rd delete mode 100644 man/fallbackFields.Rd delete mode 100644 man/fillFields.Rd delete mode 100644 man/fillNAgaps.Rd delete mode 100644 man/filterProfitRates.Rd delete mode 100644 man/freqCharge.Rd delete mode 100644 man/head0.Rd delete mode 100644 man/initializeCosts.Rd delete mode 100644 man/isRegularPremiumContract.Rd delete mode 100644 man/isSinglePremiumContract.Rd delete mode 100644 man/makeContractGridDimname.Rd delete mode 100644 man/pad0.Rd delete mode 100644 man/padLast.Rd delete mode 100644 man/premiumRefundPeriod.default.Rd delete mode 100644 man/rollingmean.Rd delete mode 100644 man/setCost.Rd delete mode 100644 man/showVmGlgExamples.Rd delete mode 100644 man/testVmGlgExample.Rd delete mode 100644 man/valueOrFunction.Rd delete mode 100644 man/vmGlgExample.generateTest.Rd delete mode 100644 tests/testthat.R delete mode 100644 tests/testthat/test-CF-Annuity-Deferred.R delete mode 100644 tests/testthat/test-CF-Annuity.R delete mode 100644 tests/testthat/test-CF-DreadDisease.R delete mode 100644 tests/testthat/test-CF-Endowment-SP.R delete mode 100644 tests/testthat/test-CF-Endowment.R delete mode 100644 tests/testthat/test-CF-Life.R delete mode 100644 tests/testthat/test-CF-PureEndowment.R delete mode 100644 tests/testthat/test-CF-TermeFixe.R delete mode 100644 tests/testthat/test-Cost-Initialization.R delete mode 100644 tests/testthat/test-PVfactory.R delete mode 100644 tests/testthat/test-SumInsured-calculated.R delete mode 100644 tests/testthat/test-extendContract.R delete mode 100644 tests/testthat/test-premiumRefundPeriod.R delete mode 100644 vignettes/.gitignore delete mode 100644 vignettes/images/01_RStudio_ProjectTemplate_new.png delete mode 100644 vignettes/images/02_RStudio_ProjectTemplate_new.png delete mode 100644 vignettes/images/03_RStudio_ProjectTemplate_selectTemplate.png delete mode 100644 vignettes/images/04_RStudio_ProjectTemplate_projectSettings.png delete mode 100644 vignettes/images/05_RStudio_ProjectTemplate_fileStructure.png diff --git a/.gitignore b/.gitignore index 20f245e..f681c2b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,3 @@ .Rhistory .RData .~lock.*# -R/Companies/ -Formulas_Reference/2013*.xls* -LifeInsuranceContracts.Rproj -Vergleichsrechnung_Excel -inst/doc diff --git a/DESCRIPTION b/DESCRIPTION index bbd7461..65a53fc 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,61 +1,21 @@ Package: LifeInsuranceContracts Type: Package -Version: 0.0.5 -Date: 2023-10-18 +Version: 0.0.6 +Date: 2023-10-20 Title: Framework for Traditional Life Insurance Contracts -Description: R6 classes to model traditional life insurance - contracts like annuities, whole life insurances or endowments. Such life - insurance contracts provide a guaranteed interest and are not directly linked - to the performance of a particular investment vehicle. However, they typically - 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. +Description: This package has been renamed to LifeInsureR, please use that package. Authors@R: c(person("Reinhold", "Kainhofer", role=c("aut", "cre"), email="reinhold@kainhofer.com")) Author: Reinhold Kainhofer [aut, cre] Maintainer: Reinhold Kainhofer <reinhold@kainhofer.com> Encoding: UTF-8 Imports: - R6, - MortalityTables, - objectProperties, - lubridate, - openxlsx, - dplyr, - scales, - abind, - stringr, - methods, - rlang, - rmarkdown, - kableExtra, - pander, - tidyr + LifeInsureR, + rmarkdown License: GPL (>= 2) -RoxygenNote: 7.2.3 -Collate: - 'HelperFunctions.R' - 'InsuranceParameters.R' - 'ProfitParticipation_Functions.R' - 'ProfitParticipation.R' - 'InsuranceTarif.R' - 'InsuranceContract.R' - 'addDataTableWorksheet.R' - 'contractGrid.R' - 'create_LIC_project.R' - 'exportInsuranceContract_xlsx.R' - 'showVmGlgExamples.R' - 'exportInsuranceContractExample.R' Suggests: - knitr, - magrittr, - tibble, - testthat, - fs + knitr VignetteBuilder: knitr Roxygen: list(markdown = TRUE) -URL: https://gitlab.open-tools.net/R/r-life-insurance-contracts -BugReports: https://gitlab.open-tools.net/R/r-life-insurance-contracts/-/issues +URL: https://gitlab.open-tools.net/R/LifeInsureR +BugReports: https://gitlab.open-tools.net/R/LifeInsureR/-/issues +RoxygenNote: 7.2.3 diff --git a/Examples/Beispiel_Vortrag.R b/Examples/Beispiel_Vortrag.R deleted file mode 100644 index 7031d53..0000000 --- a/Examples/Beispiel_Vortrag.R +++ /dev/null @@ -1,146 +0,0 @@ -# 2.2 Tariff implementation (InsuranceTarif) - -library(magrittr) -library(MortalityTables) -library(lubridate) -library(LifeInsuranceContracts) -mortalityTables.load("Austria_Census") - -mort.AT.census.2011.male - -Tarif.L71U = InsuranceTarif$new( - name = "L71-U", - type = "wholelife", - tarif = "DeathPlus - Short Term Life Insurance", - desc = "Term Life insurance (5 years) with constant sum insured and regular premiums", - policyPeriod = 5, premiumPeriod = 5, # 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 - } -); - - - -# 2.3 Creating a contract - -contract.L71U = InsuranceContract$new( - Tarif.L71U, - age = 35, - contractClosing = as.Date("2020-08-18"), - sumInsured = 100000); -contract.L71U.1996R = InsuranceContract$new( - Tarif.L71U, - age = 35, - contractClosing = as.Date("2020-08-18"), - mortalityTable = AVOe1996R.male, - sumInsured = 100000); - -contract.L71U$Values$premiums -contract.L71U.1996R$Values$premiums - -library(openxlsx) -exportInsuranceContract.xlsx(contract.L71U, "L71U.xlsx") -openXL("L71U.xlsx") - - -contract.L71U$Values$premiums -contract.L71U$Values$reserves - - -contract.L71U$Values$cashFlows -contract.L71U$Values$cashFlowsCosts[,,,"survival"] -contract.L71U$Parameters$Costs %>% costsDisplayTable() - -contract.L71U$Values$presentValues -contract.L71U$Values$presentValuesCosts - - -VMGL.contract = InsuranceContract$new( - Tarif.L71U, - age = 35, policyPeriod = 5, premiumPeriod - sumInsured = 100000, - contractClosing = as.Date("2020-07-01") -) - -showVmGlgExamples(VMGL.contract, t_prf = 3, t = 3) - - - - - - -library(MortalityTables) -mortalityTables.load("Austria_Census") -mortalityTables.load("Austria_Annuities_AVOe2005R") -# Costs: 4% acquisition, where 2.5% are zillmered, 5\% of each premium as beta costs, -# 1%o acquisition costs of the sum insured over the whole contract period -example.Costs = initializeCosts( - alpha = 0.04, Zillmer = 0.025, - beta = 0.05, - gamma.contract = 0.001, gamma.paidUp = 0.001 -) -example.Surrender = function(surrenderReserve, params, values) { - n = params$ContractData$policyPeriod - # Surrender Penalty is 10% at the beginning and decreases linearly to 0% - surrenderReserve * (0.9 + 0.1 * (0:n)/n) -} -Tarif.Endowment = InsuranceTarif$new( - name = "Example Tariff - Endowment", - type = "endowment", - tarif = "EN1", - desc = "An endowment with regular premiums", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - costs = example.Costs, - unitcosts = 10, - tax = 0.04, # 4% insurance tax - surrenderValueCalculation = example.Surrender -) - -contract.Endowment.Dynamics = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, - policyPeriod = 10, - contractClosing = as.Date("2020-09-01"), - id = "Initial contract" -)$ - addDynamics(t = 5, NewSumInsured = 11000, id = "Dynamic at 5")$ - addDynamics(t = 7, NewSumInsured = 12000, id = "Dynamic at 7")$ - addDynamics(t = 8, NewSumInsured = 13500, id = "Dynamic at 8") - -contract.Endowment.Dynamics -exportInsuranceContract.xlsx(contract.Endowment.Dynamics, "dyn.xlsx") -openXL("dyn.xlsx") - - -contract.Endowment.Dynamics = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, - policyPeriod = 10, - contractClosing = as.Date("2020-09-01"), - id = "Initial contract" -)$addBlock(t = 3, tarif = Tarif.Endowment, age = 43, policyPeriod = 7, - sumInsured = 1000, premiumPeriod = 1, id = "Einmalzuzahlung at 5") - -contract.L71U.prf = contract.L71U$premiumWaiver(t = 3) -contract.L71U.prf$Values$reservesBalanceSheet - -contract.L71U.prf$Values$cashFlows - -grd = contractGridPremium( - axes = list(mortalityTable = mort.AT.census["m", ], age = seq(20, 80, 10)), - tarif = Tarif.L71U, - sumInsured = 100000, - contractClosing = as.Date("2020-08-18") -) diff --git a/Examples/Example_Endowment_Dynamics.xlsx b/Examples/Example_Endowment_Dynamics.xlsx deleted file mode 100644 index a6b68ff2f5bb0fcb7f8a5ff3056e3dd0cd3820de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502575 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�nu&X_`WU>tb2`p?;-{tenBzqc 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	g|5ig9!@}D-r*R1i&dyE@a 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	Gqq0=HJcRdeEooKr9#~-HO8$827VXyxEO)|It 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%0AAEoq}HQIBEzza%5w%iSzaNYUF_3M1{ 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 diff --git a/Examples/Example_Endowment_Dynamics_CODE.R b/Examples/Example_Endowment_Dynamics_CODE.R deleted file mode 100644 index 7ccb9ae..0000000 --- a/Examples/Example_Endowment_Dynamics_CODE.R +++ /dev/null @@ -1,46 +0,0 @@ -library(magrittr) -library(MortalityTables) -library(LifeInsuranceContracts) -mortalityTables.load("Austria_Census") - -# Costs: 4% acquisition, where 2.5% are zillmered, 5\% of each premium as beta costs, -# 1%o acquisition costs of the sum insured over the whole contract period -example.Costs = initializeCosts( - alpha = 0.04, Zillmer = 0.025, - beta = 0.05, - gamma.contract = 0.001, gamma.paidUp = 0.001 -) -example.Surrender = function(surrenderReserve, params, values) { - n = params$ContractData$policyPeriod - # Surrender Penalty is 10% at the beginning and decreases linearly to 0% - surrenderReserve * (0.9 + 0.1 * (0:n)/n) -} - -Tarif.Endowment = InsuranceTarif$new( - name = "Example Tariff - Endowment", - type = "endowment", - tarif = "EN1", - desc = "An endowment with regular premiums", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - costs = example.Costs, - unitcosts = 10, - tax = 0.04, # 4% insurance tax - surrenderValueCalculation = example.Surrender -) - -contract.Endowment = InsuranceContract$new( - Tarif.Endowment, - age = 50, policyPeriod = 35, - premiumFrequency = 12, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01") -) -contract.exportExample = contract.Endowment$clone()$ - addDynamics(t = 3, SumInsuredDelta = 10000)$ - addDynamics(t = 5, SumInsuredDelta = 15000)$ - addDynamics(t = 10, SumInsuredDelta = 15000)$ - addDynamics(t = 14, SumInsuredDelta = 10000) -exportInsuranceContract.xlsx(contract.exportExample, filename = "Example_Endowment_Dynamics.xlsx") -openxlsx::openXL("Example_Endowment_Dynamics.xlsx") diff --git a/Formulas_Reference/.gitignore b/Formulas_Reference/.gitignore deleted file mode 100644 index 1663ebe..0000000 --- a/Formulas_Reference/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -*.aux -*.dvi -*.log -*.synctex.gz -*.backup -*.kilepr -Bernkopf Max -Formelsammlung_Beispielrechnung.toc -Formelsammlung_Beispielrechnung.out -.gitignore diff --git a/Formulas_Reference/Formelsammlung_Beispielrechnung.pdf b/Formulas_Reference/Formelsammlung_Beispielrechnung.pdf deleted file mode 100644 index b516030319141b056f7ae74c7809d4b9d3ea2ad3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465312 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℘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®0*K(fBn>O&c~Mrmi)PQPI{3q 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 diff --git a/Formulas_Reference/Formelsammlung_Beispielrechnung.tex b/Formulas_Reference/Formelsammlung_Beispielrechnung.tex deleted file mode 100644 index 158f156..0000000 --- a/Formulas_Reference/Formelsammlung_Beispielrechnung.tex +++ /dev/null @@ -1,1168 +0,0 @@ -\documentclass[a4paper,10pt]{article} -\usepackage[T1]{fontenc} -\usepackage[utf8]{inputenc} -\usepackage{geometry} -\usepackage{tabularx, longtable} -\usepackage{amsmath} -\usepackage[ngerman]{babel} -\usepackage[usenames,dvipsnames]{xcolor} -\usepackage{enumerate} -\usepackage{enumitem} -\setlist{nolistsep} -\usepackage{multirow} -%\usepackage{itemize} -% \usepackage{sans} -\usepackage{array} -\newcolumntype{C}[1]{>{\centering\arraybackslash$}p{#1}<{$}} -\usepackage{rotating} -\usepackage{pdflscape} -\usepackage{hyperref} - -% \usepackage{mathpazo}% Palatino mit mathematischen Zeichen -\hyphenation{Prä-mi-en-frei-stel-lung} - -%opening -\title{\textbf{Formelsammlung Tarif Lebensversicherung}} -\author{Reinhold Kainhofer (reinhold@kainhofer.com)} - -\geometry{bottom=2cm,top=2cm,left=1.5cm,right=1.5cm} - -\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp} -\newcolumntype{v}[1]{>{\PreserveBackslash\centering\hspace{0pt}}p{#1}} - -\newcommand{\markiert}[1]{{\setlength{\fboxsep}{0pt}\colorbox{Goldenrod}{\textcolor{red}{#1}}}} -\newcommand{\orZero}[1]{\mathit{\left[#1\right]}} -\newcommand{\xn}{{\act[x]{n}}} - - -\setlength{\parindent}{0em} - -\makeatletter -\DeclareRobustCommand{\act}[2][]{% -\def\arraystretch{0}% -\setlength\arraycolsep{0.5pt}% -\setlength\arrayrulewidth{0.5pt}% -\setbox0=\hbox{$\scriptstyle#1\ifx#1\empty{asdf}\else:\fi#2$}% -\begin{array}[b]{*2{@{}>{\scriptstyle}c}|} -\cline{2-2}% -\rule[1.25pt]{0pt}{\ht0}% -#1\ifx#1\empty\else:\fi & #2% -\end{array}% -} -\makeatother - -\renewcommand{\labelitemi}{-)} -% \renewcommand[\itemsep}{0cm} -% \renewcommand{\labelitemsep}{0cm} -\itemsep0em - - -\begin{document} - -\maketitle - -% \begin{abstract} -% -% \end{abstract} - -Bemerkung: Sämtliche Barwerte werden rekursiv bestimmt, daher werden alle Formeln in ihrer rekursiven Form angegeben. Teilweise wird aus informativen Gründen davor die entsprechende Summenformel angegeben, diese wird jedoch nicht zur tatsächlichen Berechnung benutzt. - -\tableofcontents - - -\begin{landscape} -\section{Definitionen sämtlicher Variablen} - -\subsection{Vertragsdetails (vertragsspezifische Werte)} - -\newenvironment{deftab}{\begin{longtable}{p{1.7cm}p{13cm}p{9cm}}}{\end{longtable}} - -\begin{deftab} - $VS$ & Versicherungssumme & \texttt{contract\$params\$sumInsured}\\ - $\widetilde{VS}$ & Versicherungssumme nach außerplanmäßiger Prä"-mi"-en"-frei"-stel"-lung\\[0.5em] - $x$ & Eintrittsalter der versicherten Person & \texttt{contract\$params\$age}\\ - $n$ & Versicherungsdauer & \texttt{contract\$params\$policyPeriod}\\ - $l$ & Aufschubdauer des Versicherungsschutzes & \texttt{contract\$params\$deferral}\\ - $m$ & Prämienzahlungsdauer & \texttt{contract\$params\$premiumPeriod}\\ - $k$ & Prämienzahlungsweise ($k$-tel jährlich) & \texttt{contract\$params\$premiumFrequency}\\ - $g$ & Garantiedauer (für Renten) & \texttt{contract\$params\$guaranteed}\\ - $f$ & Prämienfreistellungszeitpunkt\\[0.5em] - - $YOB$ & Geburtsjahr der versicherten Person (bei Benutzung von Generationentafeln) & \texttt{contract\$params\$YOB}\\ - $Beg$ & Versicherungsbeginn (Datum, TODO)\\[0.5em] - - $q_{x+t}$ & einjährige Sterbewahrscheinlichkeit der versicherten Person (aus $YOB$ und $x$ bestimmt) & \texttt{contract\$params\$transitionProbabilities\$q}\\ - $i_{x+t}$ & einjährige Erkrankungswahrscheinlichkeit (z.B. Dread Disease, Krebs, etc.) & \texttt{contract\$params\$transitionProbabilities\$i} \\ - $p_{x+t}$ & einjährige Überlebenswahrscheinlichkeit als Aktiver, $p_{x+t} = 1-q_{x+t}-i_{x+1}$ & \texttt{contract\$params\$transitionProbabilities\$p} \\ - $\omega$ & Höchstalter gemäß der benutzten Sterbetafel & \texttt{getOmega(tarif\$mortalityTable)} \\[0.5em] - - - $k_{Ausz}$ & unterjährige Auszahlung der Erlebensleistungen (nur Renten) & \texttt{contract\$params\$benefitFrequency}\\ - $y$ & Eintrittsalter der 2. versicherten Person (TODO)\\ - - -\end{deftab} - -\subsection{Tarifdetails (identisch für alle Verträge)} -\begin{deftab} - $i$ & Rechnungszins & \texttt{tarif\$i}\\[0.5em] - $v$ & Diskontierungsfaktor $v=\frac1{1+i}$ & \texttt{tarif\$v}\\[0.5em] - - $\rho$ & Sicherheitszuschlag auf die Prämie & \texttt{tarif\$loadings\$security} \\ - $\rho^{RG}$ & Risikosumme (relativ zu DK) im Ablebensfall bei Prämienrückgewähr & \texttt{tarif\$premiumRefundLoading} \\ - $uz(k)$ & Unterjährigkeitszuschlag bei $k$-tel jährlicher Prämienzahlung (in \% der Prämie) & \texttt{tarif\$premiumFrequencyLoading}\\ - $O(k)$ & Ordnung der Unterjährigkeitsrechnung der Erlebenszahlungen (0./""1./""1,5./""2. Ordnung) & \texttt{tarif\$benefitFrequencyOrder}\\[0.5em] - -\end{deftab} - -\subsection{Leistungen} - -\begin{deftab} - $\Pi_t$ & (Netto-)Prämie zum Zeitpunkt $t$ (vorschüssig), $\Pi^{nachsch.}_t$ für nachschüssige Prämienzahlungsweise, normiert auf 1 & \texttt{contract\$cashFlows\$premiums\_advance}\\ - $\Pi^{nachsch.}_t$ & (Netto-)Prämie zum Zeitpunkt $t$ (nachschüssig), normiert auf 1 & \texttt{contract\$cashFlows\$premiums\_arrears}\\ - $PS_t$ &Bruttoprämiensumme bis zum Zeitpunkt $t$: $PS_t=\sum_{j=0}^t \Pi^a_t$\\ - $PS$ & Bruttoprämiensumme über die gesamte Vertragslaufzeit & \texttt{contract\$premiumSum}\\[0.5em] - - $\ddot{e}_t$ & vorschüssige Erlebenszahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$survival\_advance}\\ - $e_t$ & nachschüssige Erlebenszahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$survival\_arrears}\\[0.5em] - - $\ddot{e}_t^*$ & vorschüssige garantierte Zahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$guaranteed\_advance}\\ - $e_t^*$ & nachschüssige garantierte Zahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$guaranteed\_arrears}\\[0.5em] - - $a_t$ & Ablebensleistung proportional zur Versicherungssumme (nachschüssig) & \texttt{contract\$cashFlows\$death\_sumInsured}\\ - $a_t^{(RG)}$ & Ablebensleistung für Prämienrückgewähr (normiert auf Prämie 1, relativ zu Prämienzumme $PS$) & \texttt{contract\$cashFlows\$death\_GrossPremium}\\[0.5em] - $\widetilde{a}_t$ & Ablebensleistung nach außerplanmäßiger Prämienfreistellung proportional zur Versicherungssumme (nachschüssig) & \texttt{contract\$cashFlows\$death\_PremiumFree}\\ - - $\overrightarrow{CF}^B_t$ & Leistungscashflow (relativ zur jeweiligen Basis, sowie vor"~/""nachschüssig) als Matrix dargestellt -\end{deftab} - -\subsection{Kosten} -Mögliche Basen für die Kostenfestsetzung sind: -\begin{align*} - \text{Basis} &= \begin{cases}\text{VS ... Versicherungssumme (\texttt{"{}SumInsured"})}\\\text{PS ... gesamte Prämiensumme (\texttt{"{}SumPremiums"})}\\\text{BP ... Bruttojahresprämie (\texttt{"{}GrossPremium"})}\end{cases} & - \text{Dauer} &= \begin{cases}\text{1 ... einmalig bei Abschluss (\texttt{"{}once"})}\\\text{PD ... Prämienzahlungsdauer (\texttt{"{}PremiumPeriod"})}\\\text{Prf ... Nach Ablauf der Prämienzahlungsdauer (\texttt{"{}PremiumFree"})}\\\text{LZ ... gesamte Laufzeit (\texttt{"{}PolicyPeriod"})}\end{cases} -\end{align*} - - -\begin{deftab} - $\alpha_t^{\text{Basis},\text{Dauer}}$ & Abschlusskostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}alpha",,]}\\ - $Z_t^{\text{Basis},\text{Dauer}}$ & Zillmerkostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}Zillmer",,]}\\ - $\beta_t^{\text{Basis},\text{Dauer}}$ & Inkassokostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}beta",,]}\\ - $\gamma_t^{\text{Basis},\text{Dauer}}$ & Verwaltungskostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}gamma",,]}\\ - $\widetilde{\gamma}_t^{\text{Basis},\text{Dauer}}$ & Verwaltungskostensatz nach außerplanmäßiger Prämienfreistellung relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}gamma\_nopremiums",,]}\\[0.5em] - - $\alpha_t^{\text{Basis}}$ & Abschlusskosten-Cash Flow relativ zu Basis zu $t$ & \texttt{contract\$cashFlowsCosts[,"{}alpha", Basis]}\\ - $Z_t^{\text{Basis}}$ & Zillmerkosten-Cash Flow relativ zu Basis zu $t$ & \texttt{contract\$cashFlowsCosts[,"{}Zillmer", Basis]}\\ - $\beta_t^{\text{Basis}}$ & Inkassokosten-Cash Flow relativ zu Basis zu $t$ & \texttt{contract\$cashFlowsCosts[,"{}beta", Basis]}\\ - $\gamma_t^{\text{Basis}}$ & Verwaltungskosten-Cash Flow relativ zu Basis zu $t$ & \texttt{contract\$cashFlowsCosts[,"{}gamma", Basis]}\\ - $\widetilde{\gamma}_t^{\text{Basis}}$ & Verwaltungskosten-Cash Flow nach außerplanmäßiger Prämienfreistellung relativ zu Basis zu $t$ & \texttt{contract\$cashFlowsCosts[,"{}gamma\_nopremiums", Basis]}\\[0.5em] - - $\overrightarrow{CF}^C_t$ & Kostencashflows (relativ zur jeweiligen Basis) als Matrix dargestellt & \texttt{contract\$cashFlowsCosts["{}t",,]} -\end{deftab} - -\subsection{Barwerte} - -\begin{deftab} - $P_\xn(t)$ & BW der zuk. Prämienzahlungen (mit Prämie 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$premiums}\\ - $E^*_\xn(t)$ & BW der zuk. garantierten Zahlungen (mit VS 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$guaranteed}\\ - $E_\xn(t)$ & BW der zuk. Erlebenszahlungen (mit VS 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$survival}\\ - $E^{(k)}_\xn(t)$ & BW der zuk. Erlebenszahlungen (mit VS 1) bei $k$-tel jährlicher Auszahlung zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$survival}\\ - $\alpha(k)$, $\beta(k)$ & Unterjährigkeitskorrektur bei $k$-tel jährlicher Auszahlung\\ - $A_\xn(t)$ & BW der zuk. Ablebensleistungen (mit VS 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$death\_SumInsured}\\ - $A_\xn^{prf}(t)$ & BW der zuk. Ablebensleistungen (mit VS 1) zum Zeitpunkt $t$ nach Prämienfreistellung & \texttt{contract\$presentValues\$death\_GrossPremium}\\ - $A^{(RG)}_\xn(t)$ & BW der zuk. Ablebensleistungen aus Prämienrückgewähr (mit BP 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$death\_PremiumFree}\\[0.5em] - - $PV^{B1}_\xn(t)$ & BW aller zuk. Leistungen (ohne Prämienrückgewähr) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$benefits}\\[1em] - $PV^B_\xn(t)$ & BW aller zuk. Leistungen (inkl. Prämienrückgewähr) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$benefitsAndRefund}\\[1em] - -\end{deftab} - KOSTEN (TODO) - -\subsection{Prämien und Prämienzerlegung} - -\begin{deftab} - $\Pi^1_\xn$ & Nettoprämie auf VS 1 & \texttt{contract\$premiums[["{}unit.net"]]}\\ - $\Pi_\xn^{1,Z}$ & Zillmerprämie auf VS 1 & \texttt{contract\$premiums[["{}unit.Zillmer"]]}\\ - $\Pi_\xn^{1,a}$ & Bruttoprämie (``adequate'' bzw. ``expense-load premium'') auf VS 1 & \texttt{contract\$premiums[["{}unit.gross"]]}\\[0.5em] - $\Pi_\xn$ & Nettoprämie & \texttt{contract\$premiums[["{}net"]]}\\ - $\Pi_\xn^Z$ & Zillmerprämie & \texttt{contract\$premiums[["{}Zillmer"]]}\\ - $\Pi_\xn^a$ & Bruttoprämie (``adequate'' bzw. ``expense-load premium'') & \texttt{contract\$premiums[["{}gross"]]}\\[0.5em] - - $\Pi_\xn^\alpha$ & $\alpha$-Kostenprämie (Abschlusskostenprämie)\\ - $\Pi_\xn^\beta$ & $\beta$-Kostenprämie (Inkassokostenprämie)\\ - $\Pi_\xn^\gamma$ & $\gamma$-Kostenprämie (Verwaltungskostenprämie)\\[0.5em] - - - $\Pi_\xn^\text{inv.}$ & Inventarprämie (Netto- plus Verwaltungskostenprämie)\\[1em] - - $\Pi_\xn^s$ & Sparprämie (zum Aufbau des Nettodeckungskapitals investierter Teil der Prämie)\\ - $\Pi_\xn^r$ & Risikoprämie (zur Deckung des einjährigen Ablebensrisikos benutzter Teil der Prämie)\\[0.5em] - - $\Pi_\xn^v$ & verrechnete Prämie (Bruttoprämie inkl. Rabatte, Zuschläge, Stück"-kosten und Steuer) & \texttt{contract\$premiums[["{}written"]]}\\ - $\Pi_\xn^\text{tax}$ & Versicherungssteuer & \texttt{contract\$premiums[["{}tax"]]}\\ -\end{deftab} - -\subsection{Absolutwerte der Cashflows und Barwerte} - -TODO - -\subsection{Rückstellungen} - -\begin{deftab} - $_{t}V_\xn$ & Nettodeckungskapital zum Zeitpunkt $t$ & \texttt{contract\$reserves[,"net"]}\\ - $_{t}V^a_\xn$ & Brutto-Deckungskapital (``adequate'' bzw. ``expense-loaded reserve'') & \texttt{contract\$reserves[,"adequate"]}\\ - $_{t}V^Z_\xn$ & Zillmerreserve bei Zillmerung & \texttt{contract\$reserves[,"Zillmer"]}\\ - $_{t}V^\alpha_\xn$ & Abschlusskostenreserve & \texttt{contract\$reserves[,"TODO"]}\\ - $_{t}V^\beta_\xn$ & Inkassokostenreserve (typischerweise $=0$)& \texttt{contract\$reserves[,"TODO"]}\\ - $_{t}V^\gamma_\xn$ & Verwaltungskostenreserve & \texttt{contract\$reserves[,"gamma"]}\\ - $_{t}V^{Umr}_\xn$ & Umrechnungsreserve (Basis für Vertragskonvertierungen und Prämienfreistellung), inkl. anteiliger Abschlusskostenrückerstattung bei Beendigung innerhalb von fünf Jahren& \texttt{contract\$reserves[,"reduction"]}\\ - $AbskErh(t)$ & Anteilsmäßige Rückerstattung der Abschlusskosten bei Kündigung innerhalb von fünf Jahren& \texttt{contract\$reserves[,"alphaRefund"]}\\[1em] - - $BilRes_{t+u}$ & Bilanzreserve (Interpolation aus $_{t}V^{x}_\xn$ und $_{t+1}V^{x}_\xn$) -\end{deftab} - -\subsection{Werte nach außerplanmäßiger Prämienfreistellung} - -Werte nach außerplanmäßiger Prämienfreistellung werden durch ein $\widetilde{\quad}$ über dem jeweiligen Symbol angezeigt. - - - - - -\end{landscape} -\pagebreak - -\section{Kosten} - -\subsection{Abschlusskosten (\texorpdfstring{$\alpha$}{alpha}-Kosten) / Zillmerkosten (Z-Kosten)} -\begin{itemize} - \item Einmalig (bei Vertragsabschluss) - \begin{itemize} - \item \markiert{an Versicherungssumme} - \item \markiert{an Brutto-Prämiensumme}\footnote{Entspricht Einmalprämie bei Einmalerlag} - \item an Barwert der Versicherungsleistungen (z.B. Rentenbarwert) % HP PV5F & PV6F - \end{itemize} - \item Laufend (während Prämienzahlungsdauer)\footnote{Bei Einmalerlag sind einmalige $\alpha$-Kosten und laufende $\alpha$-Kosten auf die Prämie während der Prämienzahlungsdauer ident.} - \begin{itemize} - \item \markiert{an Bruttoprämie} - \item an Brutto-Prämiensumme - \end{itemize} - \item Laufend (über gesamte Laufzeit des Vertrags) - \begin{itemize} - \item an Bruttoprämie - \item an Brutto-Prämiensumme - \end{itemize} - -\end{itemize} - -% TODO: Check the following tariffs: -% - GW PV5F & PV6F - -\subsection{Inkassokosten (\texorpdfstring{$\beta$}{beta}-Kosten)} - -\begin{itemize} - \item Laufend an Bruttoprämie während Prämienzahlungsdauer (einmalig bei Einmalerlag) -\end{itemize} - - -\subsection{Verwaltungskosten (\texorpdfstring{$\gamma$}{gamma}-Kosten)} - -Laufend während der gesamten Laufzeit verrechnet: - -\begin{itemize} - \item \markiert{an Versicherungssumme (prämienpflichtig)} - \item \markiert{an Versicherungssumme (planmäßig/außerplanmäßig prämienfrei)} - \item an Leistungsbarwert / Rentenbarwert (=Deckungskapital) (prämienfrei) % GW PS0-9 & PV0-9 - \item an Prämiensumme (prämienpflichtig) (=am Rentenbarwert zu Vertragsbeginn bei sof.beg.LR mit EE) - \item an Prämiensumme (planmäßig/außerplanmäßig prämienfrei) - - \item am Ablösekapital während Aufschubzeit % ER III B-PZV Single - \item \markiert{an jeder Erlebenszahlung/Rente (während Liquiditätsphase)} % ER III B-PZV Single - \item am Deckungskapital % SV I5U -\end{itemize} - -% TODO: Check the following tariffs: -% - GW PS0-9 & PV0-9 -% - ER III B-PZV Single - -\subsection{Stückkosten \textit{StkK}} - -\begin{itemize} - \item Stückkosten (Absolutbetrag) $StkK$ pro Jahr während Prämienzahlungsdauer (bzw. einmalig bei Einmalprämie) -\end{itemize} - - -\subsection{Übersicht} - -Die häufigsten Kostentypen sind \markiert{markiert}. - -% % \begin{longtable}{||l|v{3cm}|v{3cm}|v{3cm}|v{3cm}||}\hline\hline -% % & an VS & an PS & an JBP\footnote{während der gesamten Prämienzahlungsdauer} & \\ \hline -% % -% % Abschluss $\alpha$ & \markiert{$\alpha^{VS}_{j}$ (einmalig)} & $\alpha^{PS}_{j}$ (LZ)\footnote{evt. mit jährlicher faktorieller Aufwertung (evt. mit Obergrenze)} & $\alpha^{BP}_{j}$ (LZ)\linebreak \markiert{$\alpha_{3a,j}$ (PrD)} & \\ \hline -% % Zillmer $z$ & \markiert{$z^{VS}_{j}$} & \markiert{$z^{PS}_{j}$} & & \\ \hline -% % Inkasso $\beta$ & & & \markiert{$\beta_{j}$ (PrD)} & \\ \hline -% % Verwaltung $\gamma$ & \markiert{$\gamma^{VS}_{j}$ (PrD)}\linebreak \markiert{$\gamma^{VS,fr}_{j}$ (nach PrD)}\linebreak \markiert{$\gamma^{frei}_{j}$ (PrFrei)} & $\gamma^{PS}_{j}$ (LZ/PrD) & & $\gamma^{BP,PrD}_{j}$ (an ErlZ, LZ) \\\hline\hline -% % % \\[-0.9em]\hline -% % % -% % % Stückkosten $K$ & -% % % \\\hline\hline -% % % -% % % -% % \end{longtable} -% % - -\begin{longtable}{||lr|v{1.5cm}|v{1.5cm}|v{1.5cm}|v{1.5cm}|v{1.5cm}|v{1.5cm}||}\hline\hline -Typ & Dauer & an VS & an PS & an JBP\footnote{während der gesamten Prämienzahlungsdauer} & an NP & konstant & \\ \hline - - -Abschluss $\alpha$ & einmalig & \markiert{$\alpha^{VS,once}$} & & & $\alpha^{NP,once}$ & & \\ - & Prämiendauer & & & \markiert{$\alpha^{BP,PrD}$} & & & \\ - & Prämienfrei & & & & & & \\ - & Vertragsdauer & & $\alpha^{PS,LZ}$\footnote{evt. mit jährlicher faktorieller Aufwertung, evt. mit Obergrenze)} & $\alpha^{BP,LZ}$ & & & \\ \hline -Zillmer $z$ & einmalig & \markiert{$z^{VS,once}$} & \markiert{$z^{PS,once}$} & & & & \\ - & Prämiendauer & & & & & & \\ - & Prämienfrei & & & & & & \\ - & Vertragsdauer & & $z^{PS,LZ}$ & & & & \\ \hline -Inkasso $\beta$ & einmalig & & & & & & \\ - & Prämiendauer & & & \markiert{$\beta^{BP,PrD}$} & & & \\ - & Prämienfrei & & & & & & \\ - & Vertragsdauer & & & & & & \\ \hline -Verwaltung $\gamma$ & einmalig & & & & & & \\ - & Prämiendauer & \markiert{$\gamma^{VS,PrD}$} & $\gamma^{PS,PrD}$ & & & & \\ - & Prämienfrei & \markiert{$\gamma^{VS,fr}$} & & & & & $\gamma^{BP,Erl}$ (an ErlZ) \\ - & Vertragsdauer & $\gamma^{VS,LZ}$ & $\gamma^{PS,LZ}$ & & & & \\\hline - -\multirow{4}{2.5cm}{{Verwaltung $\tilde{\gamma}$ (außerplanm. prämienfrei)}} & einmalig & & & & & & \\ - & Prämiendauer & & & & & & \\ - & Prämienfrei & & & & & & \\ - & Vertragsdauer & \markiert{$\tilde{\gamma}^{VS,LZ}$} & & & & & \\ -\hline\hline -\end{longtable} - -\subsection{Kosten-Cashflows} -Jede Kostenart ($\alpha$/Zillmer/$\beta$/$\gamma$/$\tilde{\gamma}$) und Bemessungsgrundlage (VS/{}PS/{}JBP) erzeugt aus den verschiedenen Kostendauern einen Cash-Flow-Vektor in folgender Art, der diskontiert den gesamten Kostenbarwert der jeweiligen Kostenart und Bmgl. liefert: -\begin{equation*} - X_t^{Bmgl} = - \begin{cases} - X^{Bmgl,once} + X^{Bmgl,PrD} + X^{Bmgl,LZ} & \text{für $t=0$} \\ - \hphantom{X^{Bmgl,once} + \;\,} X^{Bmgl,PrD} + X^{Bmgl,LZ} & \text{für $0<t\leq m$} \\ - \hphantom{X^{Bmgl,once} + \;\,} X^{Bmgl,fr} \;\;\; + X^{Bmgl,LZ} & \text{für $m<t\leq n$} - \end{cases} -\end{equation*} - - - -% \subsubsection{Stückkosten:} -% \begin{longtable}{lp{13cm}} -% $K_1$\dots & Stückkosten einmalig bei Vertragsabschluss\\ -% $K$\dots & Stückkosten jährlich während Prämienzahlungsdauer\\ -% $K_{LZ}$\dots & Stückkosten jährlich während der gesamten Laufzeit\\ -% \end{longtable} - -\pagebreak - -\section{Normierte Cashflows (auf Einheitswerte)} - -% \begin{sidewaystable} -\begin{center} - - -% \rotatebox{90}{ -\begin{tabular}{lp{6.5cm}v{1.6cm}v{1.5cm}v{1.5cm}v{1cm}v{1cm}} -& Beschreibung & LR & ALV & ELV & T-F & DD\\\hline\\[0.01em] -$pr_t$ \dots & Prämienzahlungen (vorschüssig) zu $t$ & $t<m$ & $t<m$ & $t<m$ & $t<m$ & $t<m$ \\ -$PS$ & Prämiensumme, $PS=\sum_{t=0}^n pr_t$\\[0.5em]\hline\\[0em] - -$\ddot{e}_t$ \dots & Erlebenszahlungen vorschüssig zu $t$ & $(l+g)...n$ & 0 & $t=n$ & 0 & 0 \\ -$e_t$ \dots & Erlebenszahlungen nachschüssig zu $t+1$& $(l+g)...n$ & 0 & $t=n$ & 0 & 0 \\ -$\ddot{e}_t^{*}$ \dots & garantierte Zahlungen vorschüssig zu $t$ & $(l+g)...n$ & 0 & 0 & $t=n$ & 0 \\ -$e_t^{*}$ \dots & garant. Zahlungen nachschüssig zu $t+1$ & $(l+g)...n$ & 0 & 0 & 0 & 0 \\[0.5em]\hline\\[0em] - -$a_t$ \dots & Ablebenszahlung zu $t+1$ & 0 & $l...n$ & 0 & 0 & 0 \\ -$d_t$ \dots & Zahlung zu $t+1$ bei Eintritt der Erkrankung zwischen $t$ und $t+1$ & 0 & 0 & 0 & 0& $l...n$ \\[0.5em]\hline\\[0em] -$a_t^{(RG)}$ & Ablebenszahlungen für PRG zu $t+1$ (Ableben im Jahr $t$) & $\min(t+1, m, f)$ & 0 & $\min(t+1,m,f)$ & 0 & 0 \\[0.5em]\hline - -\end{tabular} -% } -\end{center} -% \end{sidewaystable} - -Die Cash-Flows können auch in Matrixform dargestellt werden: -\begin{align*} -% - \overrightarrow{CF}^L_t &= \left( - \begin{matrix} % TODO: Add an indication that the first row is in advance, the second in arrears -pr_t & \ddot{e}_t^{*} & \ddot{e}_t & 0 & 0 & 0 \\ -pr^{(nachsch)}_t & e_t^{*} & e_t & a_t & d_t & a_t^{(RG)}\\ -\end{matrix} - \right) -% -& - \overrightarrow{CF}^K_t &= \left( - \begin{matrix} -\alpha^{(VS)}_t & \alpha^{(PS)}_t & \alpha^{(BP)}_t & \alpha^{(NP)}_t & \alpha^{(1)}_t\\ -z^{(VS)}_t & z^{(PS)}_t & - & z^{(NP)}_t & z^{(1)}_t\\ -- & - & \beta_t & - & - \\ -\gamma^{(VS)}_t & \gamma^{(PS)}_t & - & \gamma^{(NP)}_t & \gamma^{(1)}_t\\ -\widetilde{\gamma}^{(VS)}_t & - & - & \widetilde{\gamma}^{(NP)}_t & \widetilde{\gamma}^{(1)}_t\\ - \end{matrix} - \right) -\end{align*} - - -\pagebreak - -\section{Barwerte} - -\subsection{Prämienbarwert} - -\begin{align*} -P_\xn(t) &= \sum_{j=t}^n pr_{t+j} \cdot v^{j-t} \cdot {}_{j-t}p_{x+t}\\ - &= pr_{t} + v \cdot p_{x+t} \cdot P_\xn(t+1) -\end{align*} - -\subsection{Barwert garantierter Zahlungen:} -Garantierte Erlebensleistungen (wenn Aufschubzeit überlebt wurde): -% TODO! -\begin{align*} - E^{*}_\xn(t) &= \begin{cases} - {}_{l-t}p_{x+t} \cdot v^{l-t} \cdot \sum_{j=l}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t<l$ (Aufschubzeit)}\\ - \sum_{j=t}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t\ge l$ (Liquiditätsphase)} - \end{cases}\\ - &= \ddot{e}_t^{*} + \left\{E^{*}_\xn(t+1) + e_t^*\right\}\cdot v \cdot \begin{cases} - 1 & \text{für $t<l$ (Aufschubzeit)}\\ - p_{x+t} & \text{für $t\ge l$ (Liquiditätsphase)} - \end{cases} -\end{align*} - - -\subsection{Erlebensleistungsbarwert:} -% 1. Person: -\begin{align*} -E_\xn(t) &= \sum_{j=t}^n \left(\ddot{e}_{t+j} \cdot v^{j-t} {}_{j-t}p_{x+t} + e_{t+j} \cdot v^{j+1-t} {}_{j+1-t}p_{x+t} \right)\\ - &= \ddot{e}_{t} + v \cdot p_{x+t} \cdot \left\{ e_t + E_\xn(t+1)\right\}\\ -% \intertext{2. Person:} -% E2_{\act[y]{n}}(t) &= \ddot{e}_{t} + v \cdot p_{y+t} \cdot \left\{ e_t + E2_{\act[y]{n}}(t+1)\right\}\\ -% \intertext{gemeinsam:} -% E12_{\act[x,y]{n}}(t) &= \ddot{e}_{t} + v \cdot p_{x+t} \cdot p_{y+t} \cdot \left\{ e_t + E12_{\act[x,y]{n}}(n,t+1)\right\}\\ -\end{align*} - -% \intertext{Garantierte Erlebensleistungen (wenn Aufschubzeit überlebt wurde):} -% % \begin{align*} -% E^{*}_\xn(t) &= \begin{cases} -% {}_{l-t}p_{x+t} \cdot v^{l-t} \cdot \sum_{j=l}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t<l$ (Aufschubzeit)}\\ -% \sum_{j=t}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t\ge l$ (Liquiditätsphase)} -% \end{cases}\\ -% &= \ddot{e}_t^{*} + \left\{E^{*}_\xn(t+1) + e_t^*\right\}\cdot v \cdot \begin{cases} -% 1 & \text{für $t<l$ (Aufschubzeit)}\\ -% p_{x+t} & \text{für $t\ge l$ (Liquiditätsphase)} -% \end{cases} -% \end{align*} -\subsection{Unterjährige Auszahlung der Erlebenszahlungen} - -Analog zu (bei konstanter Rente) -\begin{align*} - \ddot{a}^{(m)}_\xn &= \ddot{a}_x^{(m)} - {}_np_x \cdot v^n \cdot \ddot{a}_{x+n}^{(m)}\\ - \ddot{a}_x^{(m)} &= \alpha(m) \ddot{a}_x - \beta(m) -\end{align*} -mit -\begin{align*} - \alpha(m)&= \frac{d \cdot i}{d^{(m)} \cdot i^{(m)}} & \beta(m) &= \frac{i-i^{(m)}}{d^{(m)} \cdot i^{(m)}} -\end{align*} -und $d = \frac{i}{1+i}$, $i^{(m)} = m \cdot \left((1+i)^{1/m} -1\right)$ und $d^{(m)} = i^{(m)} / \left(1+i^{(m)}/m\right)$ bzw. approximativ mit -\begin{center} -\begin{tabular}{rccccc} -& 0.Ord. & 1.Ord. & 1,5-te Ord. & 2.Ord. & \\\hline -$\alpha(m)$ = & 1 & & & $+\frac{m^2-1}{12 m^2} i^2$ & ...\\ -$\beta(m)$ = & $\frac{m-1}{2m}$ & $+ \frac{m^2-1}{6 m^2}i$ & $\left[+ \frac{1-m^2}{12\cdot m^2}\cdot i^2\right]$ &$+ \frac{1-m^2}{24 m^2}i^2$ & ...\\[0.3em]\hline -\end{tabular} -\end{center} - -ergibt sich auch für allgemeine unterjährige Erlebenszahlungen $\ddot{e}_t$ eine Rekursionsgleichung. - -\subsubsection{Vorschüssige \textit{m}-tel jährliche Auszahlung der Erlebensleistungen} - - -\begin{align*} -E^{(m)}_\xn(t) &= \ddot{e}_t \cdot \ddot{a}_{\act[x+t]{1}}^{(m)} + v \cdot p_{x+1} \cdot E^{(m)}_\xn(t+1)\\ - &= \ddot{e}_t \cdot \left\{\alpha(m) - \beta(m) \cdot \left(1-p_{x+t} \cdot v\right)\right\} + v\cdot p_{x+t} \cdot E^{(m)}_\xn(t+1) -\end{align*} - - -\subsubsection{Nachschüssige \textit{m}-tel jährliche Auszahlung der Erlebensleistungen} - -\begin{align*} -E^{(m)}_\xn(t) &= e_t \cdot a_{\act[x+t]{1}}^{(m)} + v \cdot p_{x+t} \cdot E^{(m)}_\xn(t+1)\\ - &= e_t\cdot\left\{\alpha(m) - \left(\beta(m)+\frac1m\right)\cdot\left(1-p_{x+t} v\right)\right\} + v\cdot p_{x+t} \cdot E^{(m)}_\xn(t+1) -\end{align*} - -\subsubsection{Allgemeine \textit{m}-tel jährliche Auszahlung der Erlebensleistungen} - - -\begin{align*} -E^{(m)}_\xn(t) = &\ddot{e}_t \cdot \left\{\alpha(m) - \beta(m) \cdot \left(1-p_{x+t} \cdot v\right)\right\} + \\ - &e_t\cdot\left\{\alpha(m) - \left(\beta(m)+\frac1m\right)\cdot\left(1-p_{x+t} v\right)\right\} + \\ - &v\cdot p_{x+t} \cdot E^{(m)}_\xn(t+1) -\end{align*} - - - - -\subsection{Ablebensbarwert} - - -\begin{align*} -\intertext{\subsubsection*{Prämienpflichtiger Ablebensbarwert}} -A_\xn(t) &= \sum_{j=t}^n {}_{j-t}p_{x+t} \cdot q_{x+j} \cdot v^{j-t+1} \cdot a_{j} \\ - &= q_{x+t} \cdot v \cdot a_t + p_{x+t} \cdot v \cdot A_\xn(t+1)\\ -% -\intertext{\subsubsection*{Prämienfreier Ablebensbarwert}} -A^{(prf)}_\xn(t) &= q_{x+t} \cdot v \cdot a^{(prf.)}_t + p_{x+t} \cdot v \cdot A^{(prf.)}_\xn(t+1)\\ -% -\intertext{\subsubsection*{Barwert der gesamten Prämienrückgewähr (an BP)}} -A^{(RG)}_\xn(t) &= q_{x+t} \cdot v \cdot a^{(RG)}_t + p_{x+t} \cdot v \cdot A^{(RG)}_\xn(t+1)\\ -% -\intertext{\subsubsection*{Barwert der bisher bereits erworbenen Prämienrückgewähr (an BP)}} -A^{(RG-)}_\xn(t) &= a^{(RG)}_{t-1} \cdot A^{(RG-,1)}_\xn(t)\\ -A^{(RG-,1)}_\xn(t) &= q_{x+t} \cdot v \cdot 1 + p_{x+t} \cdot v \cdot A^{(RG-,1)}_\xn(t+1)\\ -% -\intertext{\subsubsection{Barwert der künftig noch zu erwerbenden Prämienrückgewähr (an BP)}} -A^{(RG+)}_\xn(t) &= A^{(RG)}_\xn(t) - A^{(RG-)}_\xn(t) -\intertext{Dieser Wert ist rekursiv nicht darstellbar.} -\end{align*} - -\subsection{Disease-Barwert} -\begin{align*} -A^d_\xn(t) &= i_{x+t} \cdot v \cdot d_t + p_{x+t} \cdot v \cdot A^d_\xn(t+1)\\ -\end{align*} - -\subsection{Leistungsbarwert} - -\begin{align*} -BW^L_\xn(t) &= E_\xn(t) + A_\xn(t) + A^d_\xn(t) &\text{ohne Prämienrückgewähr}\\ -BW^{L,RG}_\xn(t) &= BW^L_\xn(t) + (1+\rho^{RG}) \cdot A^{(RG)}_\xn(t)\cdot BP_\xn &\text{inkl. Prämienrückgewähr} -\end{align*} - - - -\subsection{Kostenbarwerte} - -\begin{align*} -\intertext{Abschlusskostenbarwerte:} -AK^{(VS)}_\xn(t) &= \alpha^{VS}_{t} + v \cdot p_{x+t} \cdot AK^{(VS)}_\xn(t+1) \\ -AK^{(PS)}_\xn(t) &= \alpha^{PS}_{t} + v \cdot p_{x+t} \cdot AK^{(PS)}_\xn(t+1) \\ -AK^{(BP)}_\xn(t) &= \alpha^{BP}_{t} + v \cdot p_{x+t} \cdot AK^{(BP)}_\xn(t+1) \\ -AK^{(NP)}_\xn(t) &= \alpha^{NP}_{t} + v \cdot p_{x+t} \cdot AK^{(NP)}_\xn(t+1) \\ -AK^{(1)}_\xn(t) &= \alpha^{1}_{t} + v \cdot p_{x+t} \cdot AK^{(1)}_\xn(t+1) \\ -\intertext{Zillmerkostenbarwerte:} -ZK^{(VS)}_\xn(t) &= z^{VS}_{t} + v \cdot p_{x+t} \cdot ZK^{(VS)}_\xn(t+1) \\ -ZK^{(PS)}_\xn(t) &= z^{PS}_{t} + v \cdot p_{x+t} \cdot ZK^{(PS)}_\xn(t+1) \\ -\intertext{Inkassokostenbarwerte:} -IK^{(BP)}_\xn(t) &= \beta^{BP}_{t} + v \cdot p_{x+t} \cdot IK^{(BP)}_\xn(t+1) \\ -\intertext{Verwaltungskostenbarwerte:} -VK^{(VS)}_\xn(t) &= \gamma^{VS}_{t} + v \cdot p_{x+t} \cdot VK^{(VS)}_\xn(t+1) \\ -VK^{(PS)}_\xn(t) &= \gamma^{PS}_{t} + v \cdot p_{x+t} \cdot VK^{(PS)}_\xn(t+1) \\ -VK^{(NP)}_\xn(t) &= \gamma^{NP}_{t} + v \cdot p_{x+t} \cdot VK^{(NP)}_\xn(t+1) \\ -VK^{(1)}_\xn(t) &= \gamma^{1}_{t} + v \cdot p_{x+t} \cdot VK^{(1)}_\xn(t+1) \\ -\widetilde{VK}^{(VS)}_\xn(t) &= \widetilde{\gamma}^{VS}_{t} + v \cdot p_{x+t} \cdot \widetilde{VK}^{(VS)}_\xn(t+1) \\ -\intertext{Gesamte Kostenbarwerte:} -K^{(VS)}_\xn(t) &= AK^{(VS)}_\xn(t) + IK^{(VS)}_\xn(t) + VK^{(VS)}_\xn(t)\\ -K^{(PS)}_\xn(t) &= AK^{(PS)}_\xn(t) + IK^{(PS)}_\xn(t) + VK^{(PS)}_\xn(t)\\ -K^{(BP)}_\xn(t) &= AK^{(BP)}_\xn(t) + IK^{(BP)}_\xn(t) + VK^{(BP)}_\xn(t)\\ -K^{(NP)}_\xn(t) &= AK^{(NP)}_\xn(t) + IK^{(NP)}_\xn(t) + VK^{(NP)}_\xn(t)\\ -K^{(1)}_\xn(t) &= AK^{(1)}_\xn(t) + IK^{(1)}_\xn(t) + VK^{(1)}_\xn(t)\\ -\end{align*} - - -\subsection{Darstellung der Barwerte in Vektor-/Matrixform} -Die Leistungs- und Kostenbarwerte können (wie auch die Cashflows zu einem Zeitpunkt) -in Matrixform dargestellt werden (aus Gründen der Übersichtlichkeit wird hier bei -allen Termen der Subscript $\xn$ unterlassen): -\begin{align*} - \overrightarrow{BW}^L(t) &= \left( - \begin{matrix} - P(t), & %E^{Gar}(t), & E(t), & A(t), - BW^L(t), & A^{(RG)}(t) - \end{matrix} - \right) -% - & -% - \overrightarrow{BW}^K(t) &= \left( - \begin{matrix} -AK^{(VS)}(t) & AK^{(PS)}(t) & AK^{(BP)}(t) & AK^{(NP)}(t) & AK^{(1)}(t)\\ -% -ZK^{(VS)}(t) & ZK^{(PS)}(t) & - & ZK^{(NP)}(t) & ZK^{(1)}(t)\\ -% -- & - & IK^{(BP)}(t) & IK^{(NP)}(t) & IK^{(1)}(t)\\ -% -VK^{(VS)}(t) & VK^{(PS)}(t) & - & VK^{(NP)}(t) & VK^{(1)}(t)\\ -\widetilde{VK}^{(VS)}(t) & - & - & \widetilde{VK}^{(NP)}(t) & \widetilde{VK}^{(1)}(t)\\ - \end{matrix} - \right) -% -\end{align*} - - - -\pagebreak - -\section{Prämien} - -Da die Prämienrückgewähr auf die Bruttoprämie gewährt wird, wird für die Bestimmung der Netto- und Zillmerprämie die Bruttoprämie benötigt. Es wird daher die Formel für unabhängige Bestimmung der Bruttoprämie hergeleitet, aus der dann die Netto- und Zillmerprämie berechnet werden können. - -\subsection{Nettoprämie:} -\begin{align*} -NP_\xn &= \frac{%E_\xn(0) + A_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot BP_\xn} -BW^{L}_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot BP_\xn} -{P_\xn(0)} \cdot \left(1+\rho\right) -\end{align*} - - -\subsection{Zillmerprämie (gezillmerte Nettoprämie):} -% TODO: Sind die beta-Kosten proportional zu BP oder zur ZP??? I.e. ist \beta im Nenner mit BP oder im Zähler? -\begin{align*} -ZP_\xn &= -\frac{% -% NP_\xn\cdot P_\xn(0) + - \overbrace{\left(BW^{L}_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot BP_\xn\right) \cdot (1+\rho)}^{=NP_\xn\cdot P_\xn(0)} + - ZK_\xn(0) -% -}{P_\xn(0)}\\ -&= NP_\xn + \frac{ZK_\xn(0)}{P_\xn(0)} -\end{align*} -mit dem gesamten Barwert der Zillmerkosten: -\begin{align*} - ZK_\xn(t) &= ZK^{(VS)}_\xn(t) + - ZK^{(PS)}_\xn(t) \cdot BP_\xn \cdot PS + - ZK^{(BP)}_\xn(t) \cdot BP_\xn\,. -\end{align*} - - -Varianten: -\begin{itemize} - \item % REFERENCE: GE Tarife! - $\beta$- und $\gamma$-Kosten auch in die Zillmerprämie eingerechnet. Einziger Unterschied zur Bruttoprämie ist dann, dass nur die Zillmerkosten statt der $\alpha$-Kosten aufgeteilt werden. -\begin{align*} -ZP_\xn &= -\left[% -% NP_\xn\cdot P_\xn(0) + - BW^{L,RG}_\xn(0) \cdot (1+\rho) + - \left(ZK^{(VS)}_\xn(0) + IK^{(VS)}_\xn(0) + VK^{(VS)}_\xn(0)\right) + \right.\\ - &\qquad\left.\left(ZK^{(PS)}_\xn(0) + IK^{(PS)}_\xn(0) + VK^{(PS)}_\xn(0)\right) \cdot BP_\xn \cdot PS + \right.\\ - &\qquad\left.\left(ZK^{(BP)}_\xn(0) + IK^{(BP)}_\xn(0) + VK^{(BP)}_\xn(0)\right) \cdot BP_\xn -% -\right] / % -\left(P_\xn(0)\right) -\end{align*} - - \item % REFERENCE: ME - Prämienrückgewähr proportional zu Zillmerprämie (für Berechnung der Zillmerprämie): -\begin{align*} -ZP_\xn &= \frac{BW^L_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot ZP_\xn}{P_\xn(0)} \cdot \left(1+\rho\right)\\ -ZP_\xn &= \frac{BW^L_\xn(0)}{P_\xn(0) - \left(1+\rho^{RG}\right)\cdot A^{(RG)}_\xn(0)\cdot \left(1+\rho\right)} \cdot \left(1+\rho\right) -\end{align*} - -\end{itemize} - - -\subsection{Bruttoprämie:} -\begin{align*} -BP_\xn &= \frac% -{ - BW^L_\xn(0)\cdot\left(1+\rho\right)\cdot\left(1 + \frac{K^{(NP)}_\xn(0)}{P_\xn(0)}\right) + - \left( AK^{(VS)}_\xn(0) + IK^{(VS)}_\xn(0) + VK^{(VS)}_\xn(0) \right) + \frac{K_\xn^{(1)}}{VS} -}% -{ - P_\xn(0) - - A^{(RG)}_\xn \left(1+\rho^{RG}\right) \left(1+\rho\right)\cdot\left(1 + \frac{K^{(NP)}_\xn(0)}{P_\xn(0)}\right) - - (AK^{(BP)}_\xn + IK^{(BP)}_\xn + VK^{(BP)}_\xn) - - \left(K^{(PS)}_\xn\right) PS -} -\end{align*} -Wie man deutlich sehen kann, ist die Kostenursache ($\alpha$, $\beta$ oder $\gamma$) für die Prämienbestimmung irrelevant. Es werden die Barwerte aller drei Kostenarten jeweils bei der entsprechenden Bemessungsgrundlage aufaddiert ($K^{(PS)}_\xn = AK^{(PS)}_\xn + IK^{(PS)}_\xn + VK^{(PS)}_\xn)$). - -Die obige Formel ergibt sich direkt aus dem Äquivalenzprinzip durch Umformung. Die auf die Nettoprämie bezogenen Kostensätze erfordern dabei das Einsetzen der Formel für die Nettoprämie, da bei der Berechnung der BP die NP noch nicht bestimmt ist (da die Prämienrückgewähr in der NP auf dem Wert der BP basiert!). -\begin{multline*} - BP_\xn \cdot P_\xn(0) = - BW_\xn^{L}\cdot(1+\rho) + A_\xn^{(RG)} \left(1+\rho^{RG}\right)\left(1+\rho\right)\cdot BP_\xn + \\ - K_\xn^{(BP)}\cdot BP_\xn + K_\xn^{(PS)} \cdot PS \cdot BP_\xn + - K_\xn^{(VS)} + K_\xn^{(NP)} \cdot NP + \frac{K_\xn^{(1)}}{VS} -\end{multline*} - - -% -\subsection{Ablebensleistung im Jahr \textit{t}:} -\begin{align*} -Abl(t) &= \left\{a_t + a^{(RG)}_t \cdot BP_\xn\right\} \cdot VS -\end{align*} - -\subsection{Koeffizienten in Vektorschreibweise} -Für die Berechnung der Prämien können die Koeffizienten der jeweiligen Barwerte auch mittels der Vektor-/Ma\-trix\-schreib\-wei\-se dargestellt werden (siehe Tabelle \ref{PVCoeff}). -\begin{sidewaystable} -\centering - -% \newenvironment{benarray}{\big(\begin{array}{*4{C{3.4em}}C{12em}}}{\end{array}\big)} -\newenvironment{benarray}{\big(\begin{array}{C{4em}C{8em}C{12em}}}{\end{array}\big)} -\newenvironment{costarray}{\left(\begin{array}{*5{C{4.7em}}}}{\end{array}\right)} -% TODO: laufende alpha-Kosten -\begin{tabular}{||ll|c|c||}\hline\hline - & & Leistungen & Kosten \\ \hline\hline - Terme & & -% $\begin{benarray}P_\xn(t) & E^{Gar}_\xn(t) & E_\xn(t) & A_\xn(t) & A_\xn^{(RG)}(t)\end{benarray}$ - $\begin{benarray}P_\xn(t) & BW^L_\xn(t) & A_\xn^{(RG)}(t)\end{benarray}$ - & - $\begin{costarray} -AK^{(VS)}_\xn(t) & AK^{(PS)}_\xn(t) & AK^{(BP)}_\xn(t) & AK^{(NP)}_\xn(t) & AK^{(1)}_\xn(t)\\ -ZK^{(VS)}_\xn(t) & ZK^{(PS)}_\xn(t) & - & ZK^{(NP)}_\xn(t) & ZK^{(1)}_\xn(t)\\ -- & - & IK_\xn(t) & IK^{(NP)}_\xn(t) & IK^{(1)}_\xn(t)\\ -VK^{(VS)}_\xn(t) & VK^{(PS)}_\xn(t) & - & VK^{(NP)}_\xn(t) & VK^{(1)}_\xn(t)\\ -VK^{frei}_\xn(t) & - & - & VK^{(fr,NP)}_\xn & VK^{fr,(1)}_\xn\\ - \end{costarray}$ -\\\hline\hline - - -Nettoprämie & Zähler & - $\begin{benarray}0 & 1+\rho & \left(1+\rho^{RG}\right)\cdot BP_\xn \cdot \left(1+\rho\right)\end{benarray}$ - & - -\\ - - & Nenner & - $\begin{benarray} 1 & 0 & 0 \end{benarray}$ - & - -\\\hline - - -Zillmerprämie & Zähler & - $\begin{benarray}0 & 1+\rho & \left(1+\rho^{RG}\right)\cdot BP_\xn \cdot \left(1+\rho\right)\end{benarray}$ - & - % TODO: Include costs depending on NetPremium and constant costs - $\begin{costarray} -0 & 0 & 0 \\ -1 & BP_\xn\cdot PS & BP_\xn & TODO & TODO\\ -\orZero{1} & \orZero{BP_\xn\cdot PS} & \orZero{BP_\xn} & TODO & TODO\\ -\orZero{1} & \orZero{BP_\xn\cdot PS} & \orZero{BP_\xn} & TODO & TODO\\ -0 & 0 & 0 & 0 & 0\\ - \end{costarray}$ -\\ - - & Nenner & - $\begin{benarray} 1 & 0 & 0\end{benarray}$ - & -- -\\\hline - -Bruttoprämie & Zähler & - $\begin{benarray}0 & \left(1+\rho\right)\cdot\left(1+\frac{K^{(NP)}_\xn(t)}{P_\xn(t)}\right) & 0\end{benarray}$ - & - $\begin{costarray} -1 & 0 & 0 & 0 & \frac{1}{VS} \\ -0 & 0 & 0 & 0 & 0 \\ -1 & 0 & 0 & 0 & \frac{1}{VS} \\ -1 & 0 & 0 & 0 & \frac{1}{VS} \\ -0 & 0 & 0 & 0 & 0 \\ - \end{costarray}$ -\\ - - & Nenner & - $\begin{benarray}1 & 0 & -(1+\rho)\cdot(1+\rho^{RG})\cdot\left(1+\frac{K^{(NP)}_\xn(t)}{P_\xn(t)}\right) \end{benarray}$ - & - $\begin{costarray} -0 & -PS & -1 & 0 & 0 \\ -0 & 0 & 0 & 0 & 0\\ -0 & -PS & -1 & 0 & 0 \\ -0 & -PS & -1 & 0 & 0\\ -0 & 0 & 0 & 0 & 0\\ - \end{costarray}$ -\\ - -\hline\hline - -\end{tabular} -\label{PVCoeff} -\caption{Koeffizienten der einzelnen Barwerte zur Berechnung der Prämien} -\end{sidewaystable} - - - -\section{Zuschläge und Abschläge, Vorgeschriebene Prämie} - -\begin{longtable}{p{4cm}p{11cm}} - $oUZu$ \dots & Zuschlag für Vertrag ohne ärztliche Untersuchung\\ - $SuRa=SuRa(VS)$ \dots & Summenrabatt (von Höhe der VS abhängig)\\ - $VwGew$ \dots & Vorweggewinnbeteiligung in Form eines \%-uellen Rabattes auf die Bruttoprämie\\ - $StkK$ \dots & Stückkosten pro Jahr (während Prämienzahlungsdauer, einmalig bei Einmalprämien)\\ - $PrRa=PrRa(BP)$ \dots & Prämienrabatt (von Höhe der Bruttoprämie abhängig)\\ - $VwGew_{StkK}$ \dots & Vorweggewinnbeteiligung in Form eines Rabattes auf die Prämie nach Zu-/Abschlägen (insbesondere nach Stückkosten)\\ - $PartnerRa$ \dots & Partnerrabatt auf Prämie nach Zu-/Abschlägen (z.B. bei Abschluss mehrerer Verträge), additiv zu $VwGew_{StkK}$\\ - - $uz(k)$ \dots & Zuschlag für unterjährige Prämienzahlung ($k$ mal pro Jahr) - \begin{equation*} - uz(k)=\left.\begin{cases}uk_1 & \text {für jährliche}\\uk_2 & \text {für halbjährliche} \\ uk_4 & \text{für quartalsweise}\\uk_{12} & \text{für monatliche}\end{cases}\right\} \text{Prämienzahlung} - \end{equation*}\\ - - - $VSt$ \dots & Versicherungssteuer (in Österreich 4\% oder 11\%) \\ - -\end{longtable} - - -Vorgeschriebene Prämie (jährlich): -\begin{multline*} -PV_\xn = \left\{ (BP_\xn + oUZu - SuRa) \cdot VS \cdot (1-VwGew) + StkK\right\} \cdot \\ \left(1-PrRa-VwGew_{StkK}-PartnerRa\right)\cdot \left(1+uz(k)\right) \cdot (1+VSt) -% -\end{multline*} - -Vorgeschriebene Prämie (pro Zahlungsperiode): -\begin{equation*} - PV^{(k)}_\xn = \frac{PV_\xn}{k} -\end{equation*} - -\section{Prämienzerlegung} -Für die Prämienzerlegung (nach Bestimmung der Höhe der Bruttoprämie) kann man die Formel zur Bruttoprämie auch umformen zu -\begin{align*} - BP_\xn &= \frac{BW^L_\xn(0)\cdot\left(1+\rho\right) + BP_\xn \cdot A^{(RG)}_\xn \left(1+\rho^{RG}\right) \left(1+\rho\right)}{P_\xn(0)} \\ - &\quad + \frac{AK^{(VS)}_\xn(0) + BP_\xn \cdot AK^{(BP)}_\xn + BP_\xn \cdot PS \cdot AK^{(PS)}_\xn + NP_\xn \cdot AK^{(NP)}_\xn + AK^{(1)}_\xn}{P_\xn(0)}\\ - &\quad + \frac{IK^{(VS)}_\xn(0) + BP_\xn \cdot IK^{(BP)}_\xn + BP_\xn \cdot PS \cdot IK^{(PS)}_\xn + NP_\xn \cdot IK^{(NP)_\xn} + IK^{(1)}_\xn}{P_\xn(0)}\\ - &\quad + \frac{VK^{(VS)}_\xn(0) + BP_\xn \cdot VK^{(BP)}_\xn + BP_\xn \cdot PS \cdot VK^{(PS)}_\xn + NP_\xn \cdot VK^{(NP)_\xn} + VK^{(1)}_\xn}{P_\xn(0)}\\ - &= NP_\xn + \underbrace{\frac{AK_\xn(0)}{P_\xn(0)}}_{=\Pi_\xn^\alpha} + \underbrace{\frac{IK_\xn(0)}{P_\xn(0)}}_{=\Pi_\xn^\beta} + \underbrace{\frac{VK_\xn(0)}{P_\xn(0)}}_{=\Pi_\xn^\gamma} \\ - &= \underbrace{NP_\xn + \underbrace{\frac{ZK_\xn(0)}{P_\xn(0)}}_{=\Pi_\xn^{\alpha,Z}}}_{=\Pi_\xn^Z} + \underbrace{\frac{AK_\xn(0)-ZK_\xn(0)}{P_\xn(0)}}_{=\Pi_\xn^{\alpha,noZ}} + \Pi_\xn^\beta + \Pi_\xn^\gamma -\end{align*} -und damit die Bruttoprämie in die einzelnen Kostenprämien zerlegen.\vspace{1em} - -Es ergibt sich somit folgende Zerlegung der verrechneten Prämie: - -\renewlist{itemize}{itemize}{10} -\setlist[itemize]{label=\textbullet} - -\setlistdepth{9} -\begin{itemize} - \item verrechnete Prämie (jährlich) $\Pi_\xn^v$ - \begin{itemize} - \item[+] Versicherungssteuer $\Pi_\xn^{tax}$ - \item[+] Unterjährigkeitszuschlag - \item[$-$] Prämienrabatt - \item[$-$] Vorweggewinnbeteiligung (inkl. Stückkosten) - \item[$-$] Partnerrabatt - \item[+] Stückkosten - \item[$-$] Vorweggewinnbeteiligung (vor Stückkosten) - \item[$-$] Summenrabatt - \item[+] Zuschlag ohne ärztliche Untersuchung - \item[+] Bruttoprämie $\Pi_\xn^a$ - \begin{itemize} - \item[+] Nettoprämie $\Pi_\xn$ - \begin{itemize} - \item[+] Risikoprämie (netto) $\Pi_\xn^r$ - \item[+] Sparprämie (netto) $\Pi_\xn^s$ - \end{itemize} - \item[+] gezillmerter Teil der $\alpha$-Prämie $\Pi_\xn^{\alpha,Z}$ - \item[+] ungezillmerter Teil der $\alpha$-Prämie $\Pi_\xn^{\alpha,noZ}$ - \item[+] $\beta$-Prämie $\Pi_\xn^\beta$ - \item[+] $\gamma$-Prämie $\Pi_\xn^\gamma$ - \end{itemize} - \end{itemize} -\end{itemize} -\vspace{1em} - -Die Zillmerprämie (Nettoprämie $\Pi_\xn$ + gezillmerter Teil der $\alpha$-Prämie $\Pi_\xn^{\alpha,Z}$) kann wie die Nettoprämie in Spar- und Risikoprämie zerlegt werden: -\begin{itemize} - \item Zillmerprämie $\Pi_\xn^Z$ - \begin{itemize} - \item[+] gezillmerte Risikoprämie - \item[+] gezillmerte Sparprämie - \begin{itemize} - \item[+] $\alpha$-Tilgung (Tilgung der Zillmerkosten) - \item[+] echte Sparprämie (zum Aufbau des nicht-negativen Deckungskapitals) - \end{itemize} - \end{itemize} -\end{itemize} - - - - -\pagebreak -\section{Absolute Cash-Flows und Barwerte} - -TODO - - -\pagebreak - -\section{Rückstellungen und Reserven} - -\subsection{Deckungskapital / Reserve} - -\subsubsection{Nettodeckungskapital prämienpflichtig:} -\begin{align*} -V_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) - NP_\xn\cdot P_\xn(t)\right\} \cdot VS -\end{align*} - -\subsubsection{Zillmerreserve prämienpflichtig:} -TODO! -\begin{align*} -V_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) - ZP_\xn\cdot P_\xn(t)\right\} \cdot VS =\\ - &= \left\{BW^L_\xn(t)\cdot(1+\rho) - NP_\xn\cdot P_\xn(t) - ZK_\xn(0) \cdot BP_\xn(t) \cdot \frac{P_\xn(t)}{P_\xn(0)}\right\} \cdot VS \\ -\end{align*} - -\subsubsection{Reserve prämienpflichtig:} -Entspricht bei Zillmerung der Zillmerreserve -\begin{align*} -V_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) - ZP_\xn\cdot P_\xn(t)\right\} \cdot VS \\ -\end{align*} - -\subsubsection{Bruttoreserve prämienpflichtig:} - -\begin{align*} -V^{(b)}_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) + - ZP_\xn\cdot P_\xn(t)\right\} \cdot VS \\ -\end{align*} - -\subsection{Verwaltungskostenreserve:} -\begin{align*} -V^{VwK}_\xn(t) &= \left\{ VK^{(VS)}_\xn(t) - \left(\frac{VK^{(VS)}_\xn(0)}{P_\xn(0)}\right) \cdot P_\xn(t)\right\} \cdot VS\\ -\end{align*} - -\subsection{Reserve prämienfrei:} -\begin{align*} -V^{frei}_\xn(t) &= \left\{(E_\xn(t) + A1_\xn(t))\cdot\widetilde{VW} + TODO \cdot \min(f,m) \cdot BP_\xn(x,n)\cdot VS\right\} \cdot (1+\rho) \\ -\end{align*} - -\subsection{Verwaltungskostenreserve prämienfrei:} -\begin{align*} -V^{WvK,frei}_\xn(t) &= VK4_\xn(t) \cdot \widetilde{VS} -\end{align*} - -\section{Spar- und Risikoprämie} - - -\begin{equation*} - P_\xn(t) = SP_\xn(t) + RP_\xn(t) -\end{equation*} - - -\subsection{Sparprämie} - -\begin{align*} -SP_\xn(t) &= V_\xn(t+1) \cdot v - V_\xn(t) + \left(\ddot{e}_t + v\cdot e_t\right)\cdot VS -\end{align*} - -gezillmert: -\begin{align*} -SP^Z_\xn(t) &= V^Z_\xn(t+1) \cdot v - V^Z_\xn(t) + \left(\ddot{e}_t + v\cdot e_t\right)\cdot VS -\end{align*} - -\subsection{Risikoprämie} -\begin{align*} -RP_\xn(t) &= v\cdot q_{x+t} \cdot \left\{Abl(t) - V_\xn(t+1)\right\} -\end{align*} - -gezillmert: -\begin{align*} -RP^Z_\xn(t) &= v\cdot q_{x+t} \cdot \left\{Abl(t) - V^Z_\xn(t+1)\right\} -\end{align*} - - - -\section{Bilanzreserve} - -\begin{tabular}{lp{14cm}} -$BegDatum$ \dots & Beginndatum des Vertrags\\ -$BilDatum$ \dots & Bilanzstichtag des Unternehmens\\ -$baf$ \dots & Bilanzabgrenzungsfaktor (Jahresanteil zwischen Abschlussdatum und Bilanzstichtag) -\begin{itemize} - \item 30/360: $baf=\frac{Monat(BilDatum+1)-Monat(BegDatum)+1}{12} \mod 1$ - \item Taggenau: $baf=\frac{BilDatum-BegDatum+1}{TageImJahr(BilDatum)} \mod 1$ - \item etc. -\end{itemize} -\\ -\end{tabular} - - -\subsection{prämienpflichtig} -% Bilanzabgrenzungsfaktor -Bilanzreserve für Versicherungsleistungen: -\begin{align*} -BilRes^{(L)}_\xn(t) &= (1-baf)\cdot V_\xn(t) + baf \cdot V_\xn(t+1)\\ -\intertext{Verwaltungskosten-Bilanzreserve:} -BilRes^{(VwK)}_\xn(t) &= (1-baf)\cdot V^{(VwK)}_\xn(t) + baf \cdot V^{(VwK)}_\xn(t+1)\\ -\intertext{Gesamte Bilanzreserve:} -BilRes_\xn(t) &= BilRes^{(L)}_\xn(t) + BilRes^{(VwK)}_\xn(t)\\ -\intertext{\subsection{prämienfrei} -Bilanzreserve für Versicherungsleistungen, prämienfrei:} -BilRes^{(L),frei}_\xn(t) &= (1-baf)\cdot V^{frei}_\xn(t) + baf \cdot V^{frei}_\xn(t+1)\\ -\intertext{Verwaltungskosten-Bilanzreserve, prämienfrei:} -BilRes^{(VwK),frei}_\xn(t) &= (1-baf)\cdot V^{VwK,frei}_\xn(t) + baf \cdot V^{VwK,frei}_\xn(t+1)\\ -\intertext{Gesamte Bilanzreserve, prämienfrei:} -BilRes^{frei}_\xn(t) &= BilRes^{(L),frei}_\xn(t) + BilRes^{(VwK),frei}_\xn(t)\\\ -\end{align*} - - -\pagebreak - -\section{Prämienfreistellung und Rückkauf} - -Verteilung der $\alpha$-Kosten auf $r$ Jahre für den Rückkauf bzw. die Vertragskonversion -ist nicht bei allen Tarifen oder in allen Jurisdiktionen vorgesehen. => FLAG - -\subsection{Umrechnungsreserve} -Sowohl Prämienfreistellung als auch Rückkauf starten von der Umrechnungsreserve, die sich aus der -Zillmerreserve, den Kostenrückstellungen sowie der Verteilung der $\alpha$-Kosten auf 5 Jahre ergibt: -\begin{align*} - V_\xn^{Umr} &= \left(V_\xn(t) + V^{VwK}_\xn(t) + AbsKErh(t)\right)\cdot (1-VwGew(TODO)) -\end{align*} -wobei $AbsKErh(t)$ die anteilsmäßige Rückzahlung der Abschlusskosten bei Rückkauf innerhalb der ersten -$n(=5)$ Jahre gemäß \S 176 öVersVG bezeichnet: -\begin{align*} -AbskErh(t) &= \max\left(\sum_{j=0}^t Zillm(j) - \frac{t}{5} \sum_{j=0}^n Zillm(j), 0\right)&& \text{(Abschlusskostenerhöhungsbetrag)}\\ -Zillm(t) &= z^{(VS)}_t + z^{(BP)} \cdot BP_\xn + z^{(PS)}_t \cdot BP_\xn \cdot \sum_{j=0}^n pr_j &&\text{(Zillmerprämienanteil/-cashflow im Jahr $j$)} -\end{align*} - -Varianten: -\begin{itemize} - \item Verteilung auf 5 Jahre nicht linear ($t/5$), sondern als 5-jährige Leibrente bewertet, deren Rest noch ausständig ist. - \begin{align*} - AbskErh(t) &= \max\left(\sum_{j=0}^t Zillm(j) - \left(1-\frac{\ddot{a}_{\act[x+t]{r-t}}}{\ddot{a}_{\act[x]{r}}}\right) \frac{t}{5} \sum_{j=0}^n Zillm(j), 0\right) - \end{align*} - \item Bei zahlreichen Tarifen wird die Abschlusskostenerhöhung erst NACH dem Rückkaufsabschlag addidiert, - sodass diese Erhöhung nicht vom Abschlag betroffen ist => FLAG -\end{itemize} - -\subsection{Rückkaufswert (prämienpflichtig)} - -Zahlreiche Tarife sind NICHT rückkaufsfähig => FLAG - -\begin{align*} - Rkf(t) &= f(V_\xn^{Umr}, ...) -\end{align*} - -Die Abschläge von der Umrechnungsreserve auf den Rückkaufswert sind im Allgemeinen nicht -standardisiert, sondern variieren je nach Versicherungsunternehmen stark. Mögliche -Abschläge sind: - -\subsubsection*{Prozentualer Rückkaufsabschlag} -Prozentualer Abschlag auf die Umrechnungsreserve, z.B. $2\%$ oder $5\%$: -$RkfFakt=0.95$ -\begin{align*} -f(V_\xn^{Umr}, ...) = RkfFakt \cdot V_\xn^{Umr} \text{\quad mit $RkfFakt=0.98$ oder $0.95$} -\end{align*} - -\subsubsection*{Lineare Erhöhung des prozentualen Rückkaufsabschlags} -\begin{align*} -f(V_\xn^{Umr}, ...) &= RkfFakt(t) \cdot V_\xn^{Umr} \\ -RkfFakt(t) &= min(k_1 + t \cdot \delta k; k_2) \text{\quad mit z.B. $k_1=0.9$, $\delta k = 0.005$ und $k_2=0.98$} -\end{align*} -Alternativ: -\begin{equation*}% ME L12PLK3Z - RkfFakt(t) = \begin{cases} -0.95 & 1\leq t \leq 3\\ -0.95 + 0.003\cdot(t-3) & 3<t\leq 13\\ -0.98 & 13<t -\end{cases} -\end{equation*} - - -\subsubsection*{Prozentualer Abschlag mit Mindestabschlag} -% GW GDV1 -\begin{align*} -f(V_\xn^{Umr}, ...) &= min\left(0.95 \cdot V_\xn^{Umr}, Abl(t), V_\xn^{Umr}-0.15 \cdot BP_\xn \cdot VS\cdot (1-VwGew)\right) -\end{align*} - -% GW ER11 -\begin{align*} -f(V_\xn^{Umr}, ...) &= min\left(0.95 \cdot V_\xn^{Umr}, Abl(t)\right) -\end{align*} - - -\subsubsection*{Prozentualer Abschlag mit Mindestabschlag (Mindesttodesfallsumme als Grenze)} -% HP/GW: -\begin{align*} -f(V_\xn^{Umr}, ...) &= min(0.95 \cdot V_\xn^{Umr}, MTS(m,t)) \\ -MTS(m,t) &= ... -\end{align*} - - -\subsubsection*{Abschlag proportional zum Deckungskapital} -% GE -\begin{align*} -f(V_\xn^{Umr}, ...) &= V_\xn^{Umr}\cdot \left(s_f + \max(0.97-s_f, 0) \cdot \frac{V_\xn^{Umr}}{VS}\right) \\ -s_f &=\begin{cases}0.92 & \text{ für $t<\max(10, n-5)$}\\ 1 & \text{sonst}\end{cases} -\end{align*} - - -TODO: Weitere mögliche Rückkaufsabschläge rausfinden - -\subsection{Stornogebühr bei Rückkauf} - -Manche Tarife sehen eine fixe Stornogebühr bei Rückkauf (z.B. nur in den ersten 24 Monaten) vor: -% GW -\begin{equation*} - StoGeb = \min\left(\max\left(0.15 \cdot PV(x,n) \cdot\frac{pz}{1-uz(pz)} \cdot\frac1{1+VSt}, 30 \right), 300\right) -\end{equation*} -Ansonsten: $StoGeb=0$. - - - -\subsection{Prämienfreistellung} - -Der Vertrag wird zum Zeitpunkt $f$ prämienfrei gestellt, d.h. ab $f$ wird keine Prämie mehr bezahlt, -die Höhe des Versicherungsschutzes bestimmt sich aus dem zu $f$ vorhandenen Deckungskapital und den -Kostenreserven (Umrechnungsreserve). Bei Prämienrückgewähr wird nur die tatsächlich bezahlte Prämiensumme rückgewährt. - -Aus -\begin{align*} - V_\xn^{Umr}(f) - StoGeb %= \\ - = \underbrace{BW^L_\xn(f)\cdot\left(1+\rho\right)\cdot \widetilde{VS} + BW^{RG,frei}_\xn(f)\cdot \left(1+\rho\right) \cdot BP_\xn \cdot VS}_{=V^{frei}_\xn(f)} + \underbrace{VK^{frei}_\xn(f)}_{=V_\xn^{VwK,frei}(f)} -% = V^{frei}_\xn(f) + V_\xn^{VwK,frei}(f) -\end{align*} -mit -\begin{align*} -BW^{RG,frei}_\xn(f) &= A^{(RG)}_\xn(t) \cdot \underbrace{\sum_{j=0}^{f-1} pr_j}_{\substack{=\min\left(f,m\right)\text{ bei }\\\text{lfd. konst. Prämie}}} && \text{(BW zukünftiger Prämienrückgewähr)} -\end{align*} -ergibt sich die neue Versicherungssumme $\widetilde{VS}(f)$ nach Prämienfreistellung zum Zeitpunkt $f$: -\begin{equation*} -\widetilde{VS}(f) = \frac - { V_\xn^{Umr}(f) - BW^{RG,frei}_\xn(f)\cdot (1+\rho)\cdot BP_\xn \cdot VS - StoGeb} - {BW^L_\xn(f)\cdot(1+\rho) + VK^{frei}_\xn(f)} -\end{equation*} - -\subsection{Reserven nach außerplanmäßiger Prämienfreistellung} - -\subsubsection*{Nettodeckungskapital außerplanmäßig Prämienfrei zu $f$} - -\begin{align*} -V^{(n),prf,f}_\xn(t) &= \left\{BW^{L,prf}_\xn(t)\cdot(1+\rho)\right\} \cdot \widetilde{VS(f)} -\end{align*} - -\subsubsection{Reserve außerplanmäßig prämienfrei:} - -\begin{align*} -V_\xn^{prf,f}(t) &= \left\{BW^{L,pr}_\xn(t)\cdot(1+\rho) + BW^{RG,frei,f}_{\act[x]{x}}(t)\right\} \cdot \widetilde{VS(f)} \\ -\end{align*} - -\subsection{Verwaltungskostenreserve außerplanmäßig prämienfrei:} -\begin{align*} -V^{VwK,prf,f}_\xn(t) &= \left\{ VK^{(VS), prf.}_\xn(t) + VK^{(PS),prf.}_\xn(t)\cdot PS(f)\right\} \cdot \widetilde{VS(f)}\\ -\end{align*} - - -TOCHECK: -\subsection{Reserve prämienfrei:} -\begin{align*} -V^{frei}_\xn(t) &= \left\{(E_\xn(t) + A1_\xn(t))\cdot\widetilde{VW} + TODO \cdot \min(f,m) \cdot BP_\xn(x,n)\cdot VS\right\} \cdot (1+\rho) \\ -\end{align*} - -\subsection{Verwaltungskostenreserve prämienfrei:} -\begin{align*} -V^{WvK,frei}_\xn(t) &= VK4_\xn(t) \cdot \widetilde{VS} -\end{align*} - -\subsection{Umrechnungsreserve außerplanmäßig prämienfrei} -\begin{align*} - V_\xn^{Umr, prf, f}(t) &= \left(V^{prf,f}_\xn(t) + V^{VwK,prf,f}_\xn(t)\right)\cdot (1-VwGew(TODO)) -\end{align*} - - - - - -\end{document} diff --git a/NAMESPACE b/NAMESPACE index 1588dbf..982e4b7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,122 +1,4 @@ # Generated by roxygen2: do not edit by hand -S3method(makeContractGridDimname,InsuranceTarif) -S3method(makeContractGridDimname,R6) -S3method(makeContractGridDimname,default) -S3method(makeContractGridDimname,double) -S3method(makeContractGridDimname,mortalityTable) -S3method(makeContractGridDimname,numeric) -export(CalculationEnum) -export(InsuranceContract) -export(InsuranceContract.ParameterDefaults) -export(InsuranceContract.ParameterStructure) -export(InsuranceContract.ParametersFallback) -export(InsuranceContract.ParametersFill) -export(InsuranceContract.Values) -export(InsuranceTarif) -export(PP.base.NULL) -export(PP.base.PreviousZillmerReserve) -export(PP.base.ZillmerReserveT2) -export(PP.base.ZillmerRiskPremium) -export(PP.base.contractualReserve) -export(PP.base.meanContractualReserve) -export(PP.base.previousContractualReserve) -export(PP.base.sumInsured) -export(PP.base.totalProfitAssignment) -export(PP.benefit.None) -export(PP.benefit.Profit) -export(PP.benefit.ProfitGuaranteeSupporting) -export(PP.benefit.ProfitPlusGuaranteedInterest) -export(PP.benefit.ProfitPlusHalfGuaranteedInterest) -export(PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal) -export(PP.benefit.ProfitPlusHalfTotalInterest) -export(PP.benefit.ProfitPlusInterestMinGuaranteeTotal) -export(PP.benefit.ProfitPlusTerminalBonusReserve) -export(PP.benefit.ProfitPlusTotalInterest) -export(PP.benefit.TerminalBonus) -export(PP.benefit.TerminalBonus5Years) -export(PP.benefit.TerminalBonus5YearsProRata) -export(PP.calculate.RateOnBase) -export(PP.calculate.RateOnBaseMin0) -export(PP.calculate.RateOnBaseSGFFactor) -export(PP.calculate.RatePlusGuaranteeOnBase) -export(PP.rate.expenseProfit) -export(PP.rate.interestProfit) -export(PP.rate.interestProfit2) -export(PP.rate.interestProfit2PlusGuarantee) -export(PP.rate.interestProfitPlusGuarantee) -export(PP.rate.riskProfit) -export(PP.rate.sumProfit) -export(PP.rate.terminalBonus) -export(PP.rate.terminalBonusFund) -export(PP.rate.totalInterest) -export(PP.rate.totalInterest2) -export(PVfactory) -export(PaymentTimeEnum) -export(ProfitComponentsEnum) -export(ProfitParticipation) -export(SexEnum) -export(TariffTypeEnum) -export(age.exactRounded) -export(age.yearDifference) -export(applyHook) -export(contractGrid) -export(contractGridPremium) -export(costs.baseAlpha) -export(costs.scaleAlpha) -export(costsDisplayTable) -export(deathBenefit.annuityDecreasing) -export(deathBenefit.linearDecreasing) -export(exportInsuranceContract.xlsx) -export(exportInsuranceContractExample) -export(fallbackFields) -export(fillFields) -export(fillNAgaps) -export(filterProfitRates) -export(freqCharge) -export(head0) -export(initializeCosts) -export(isRegularPremiumContract) -export(isSinglePremiumContract) -export(makeContractGridDimname) -export(makeContractGridDimnames) -export(pad0) -export(padLast) -export(premiumRefundPeriod.default) -export(rollingmean) -export(setCost) -export(showVmGlgExamples) -export(sumProfits) -export(testVmGlgExample) -export(valueOrFunction) -export(vmGlgExample.generateTest) -exportClasses(CalculationSingleEnum) -exportClasses(PaymentTimeSingleEnum) -exportClasses(ProfitComponentsMultipleEnum) -exportClasses(SexSingleEnum) -exportClasses(TariffTypeSingleEnum) -import(MortalityTables) -import(R6) -import(dplyr) -import(lubridate) -import(openxlsx) -import(scales) -import(stringr) -import(tidyr) -importFrom(abind,abind) -importFrom(kableExtra,kable) -importFrom(lubridate,"year<-") -importFrom(lubridate,days) -importFrom(lubridate,interval) -importFrom(lubridate,month) -importFrom(lubridate,time_length) -importFrom(lubridate,year) -importFrom(lubridate,years) -importFrom(methods,is) -importFrom(methods,new) -importFrom(objectProperties,setSingleEnum) -importFrom(pander,pander) -importFrom(rlang,.data) +import(LifeInsureR) importFrom(rmarkdown,render) -importFrom(utils,head) -importFrom(utils,tail) diff --git a/R/.gitignore b/R/.gitignore deleted file mode 100644 index f90d1a1..0000000 --- a/R/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -dummy.R -*.R.bak diff --git a/R/HelperFunctions.R b/R/HelperFunctions.R index 9184fba..68bbc4e 100644 --- a/R/HelperFunctions.R +++ b/R/HelperFunctions.R @@ -1,956 +1,4 @@ -#' @importFrom abind abind -#' @importFrom objectProperties setSingleEnum -#' @importFrom utils head tail -#' @importFrom methods new -#' @importFrom lubridate time_length interval +#' @import LifeInsureR +# Prevent spurious imports warnings in CRAN checks: +#' @importFrom rmarkdown render NULL - - - -#' Enum to describe when a benefit or premium payment is due (in advance or in arrears) -#' -#' @details Currently, only two values are allowed; -#' \itemize{ -#' \item "in advance" -#' \item "in arrears" -#' } -#' -#' @export -PaymentTimeEnum = objectProperties::setSingleEnum("PaymentTime", levels = c("in advance", "in arrears")); - -#' Enum to describe possible sexes in an insurance contract or tariff. -#' -#' @details -#' Currently, the only possible values are: -#' * "unisex" -#' * "male" -#' * "female" -#' -#' @export -SexEnum = objectProperties::setSingleEnum("Sex", levels = c("unisex", "male", "female")); - -#' Enum to define how much of a contract needs to be calculated automatically. -#' -#' @details -#' When an [InsuranceContract] object is created, all time series are immediately -#' calculated. However, sometimes, one only needs part of the values, so it -#' would be a waste of resources to calculate e.g. all future reserves and -#' profit participation, if only premiums are of interest. -#' -#' Possible values are: -#' * "all" -#' * "probabilities" -#' * "cashflows" -#' * "presentvalues" -#' * "premiums" -#' * "absvalues" -#' * "reserves" -#' * "premiumcomposition" -#' * "profitparticipation" -#' * "history" -#' -#' @export -CalculationEnum = objectProperties::setSingleEnum("Calculation", - levels = c( - "all", - "probabilities", - "cashflows", - "presentvalues", - "premiums", - "absvalues", - "reserves", - "premiumcomposition", - "profitparticipation", - "history" - ) -) - - -#' Enum to define the different components of profit participation. -#' -#' @details -#' Profit participation schemes typically consist of different components, -#' which are calculated independently. Typical components are interest profit -#' to distribute investment gains to the customer, risk profit and expense profit -#' to return security margins in the biometric risk and the expenses to the customer -#' and sum profit, which aplies to contracts with higher sums insured, where -#' charged expenses are calculated from the sum insured, while the actual -#' expenses are more or less constant. Thus, high contracts are charged more, -#' which causes profits that are returned as sum profit. -#' -#' As a special case, part of the profits can be stored in a terminal bonus -#' reserve and only distributed on maturity (or potentially on death), but -#' not on surrender. Some (older) profit participation schemes add an independently -#' calculated bonus on maturity (e.g. twice the total profit assignment of the -#' last year) at maturity to give customers an additional incentive not to -#' surrender a contract. -#' -#' Possible values are (multiple can be given): -#' * "interest" -#' * "risk" -#' * "expense" -#' * "sum" -#' * "terminal" -#' * "TBF" -#' -#' @export -ProfitComponentsEnum = objectProperties::setMultipleEnum("ProfitComponents", - levels = c( - "advance", - "interest", - "risk", - "expense", - "sum", - "terminal", - "TBF" - ) -) - -#' Determine whether a contract (given all parameters) is a single-premium contract or with regular premiums -#' -#' Single premium contracts are identified by the parameter \code{premiumPeriod = 1}. -#' -#' @param params The parameters of the contract. -#' @param values Unused by default (already calculated values of the contract) -#' -#' @export -isSinglePremiumContract = function(params, values) { params$ContractData$premiumPeriod <= 1 } - - -#' Determine whether a contract (given all parameters) is a contract with regular premiums -#' -#' Regular premium contracts are identified by the parameter \code{premiumPeriod > 1}. -#' -#' @param params The parameters of the contract. -#' @param values Unused by default (already calculated values of the contract) -#' -#' @export -isRegularPremiumContract = function(params, values) { params$ContractData$premiumPeriod > 1 } - - -#' Describes the death benefit of a linearly decreasing whole life insurance (after a possible deferall period) -#' -#' The death benefit will be the full sumInsured for the first year after the -#' deferral period and then decrease linearly to 0 at the end of the policyPeriod. -#' This can be used with the \code{deathBenefit} parameter for insurance -#' contracts, but should not be called directly. -#' -#' @param len The desired length of the Cash flow vector (can be shorter than -#' the policyPeriod, if q_x=1 before the end of the contract, e.g. -#' for life-long insurances) -#' @param params The full parameter set of the insurance contract (including -#' all inherited values from the tariff and the profit participation) -#' @param values The values calculated from the insurance contract so far -#' -#' @export -deathBenefit.linearDecreasing = function(len, params, values) { - protectionPeriod = params$ContractData$policyPeriod - params$ContractData$deferralPeriod; - pad0((protectionPeriod:0) / protectionPeriod, l = len) -} - - -#' Default premium refund period: for deferred contracts the deferral period, otherwise the whole contract -#' -#' If a premium refund is set for the tariff, the default is the full contract -#' period, except for deferred contracts (typically deferred life annuities), -#' for which the deferral period is the refund period. -#' -#' @param params The full parameter set of the insurance contract (including -#' all inherited values from the tariff and the profit participation) -#' @param values The values calculated from the insurance contract so far -#' -#' @export -premiumRefundPeriod.default = function(params, values) { - ifelse(params$ContractData$deferralPeriod > 0, params$ContractData$deferralPeriod, params$ContractData$policyPeriod) -} - - -#' Describes the death benefit of a decreasing whole life insurance (after a possible deferall period) -#' -#' The death benefit will be the full sumInsured for the first year after the -#' deferral period and then decrease like an annuity to 0 at the end of the policyPeriod. -#' This can be used with the \code{deathBenefit} parameter for insurance -#' contracts, but should not be called directly. -#' -#' This function is a mere generator function, which takes the interest rate and -#' generates a function that describes a decreasing annuity. -#' -#' The generated function has the following parameters: -#' \describe{ -#' \item{len}{The desired length of the Cash flow vector (can be shorter than -#' the policyPeriod, if q_x=1 before the end of the contract, e.g. -#' for life-long insurances)} -#' \item{params}{The full parameter set of the insurance contract (including -#' all inherited values from the tariff and the profit participation)} -#' \item{values}{The values calculated from the insurance contract so far} -#' } -#' -#' -#' @param interest The interest rate of the loan, which is underlying the insurance. -#' -#' -#' @export -deathBenefit.annuityDecreasing = function(interest) { - function(len, params, values) { - protectionPeriod = params$ContractData$policyPeriod - params$ContractData$deferralPeriod; - vk = 1/(1 + interest); - if (interest == 0) { - benefit = (protectionPeriod:0) / protectionPeriod - } else { - benefit = (vk ^ (protectionPeriod:0) - 1) / (vk ^ protectionPeriod - 1) - } - pad0(benefit, l = len) - } -} - - -#' Calculate the age of the insured based on exact age at contract closing, rounded -#' to the nearest birthday. -#' -#' @param params The parameters of the contract. -#' @param values Unused by default (already calculated values of the contract) -#' -#' @export -age.exactRounded = function(params, values) { - round(time_length( - interval(params$ContractData$birthDate, params$ContractData$contractClosing), - "years")) -} - -#' Calculate the age of the insured based on the difference of the bith year and -#' contract closing year. -#' -#' @param params The parameters of the contract. -#' @param values Unused by default (already calculated values of the contract) -#' -#' @export -age.yearDifference = function(params, values) { - year(params$ContractData$contractClosing) - year(params$ContractData$birthDate) -} - - -#' Defines a frequency charge (surcharge for monthly/quarterly/semiannual) premium payments -#' -#' @description Tariffs are typically calculated with yearly premium installments. When -#' premiums are paid more often then one a year (in advance), the insurance -#' receives part of the premium later (or not at all in case of death), so a -#' surcharge for premium payment frequencies higher than yearly is applied to -#' the premium, typically in the form of a percentage of the premium. -#' -#' This function generates the internal data structure to define surcharges for -#' monthly, quarterly and semiannual premium payments. The given surcharges can -#' be either given as percentage points (e.g. 1.5 means 1.5% = 0.015) or as -#' fractions of 1 (i.e. 0.015 also means 1.5% surcharge). The heuristics applied -#' to distinguish percentage points and fractions is that all values larger than 0.1 -#' are understood as percentage points and values 0.1 and lower are understood -#' as fractions of 1. -#' As a consequence, a frequency charge of 10% or more MUST be given as percentage points. -#' -#' Currently, the frequency charges are internally represented as a named list, -#' \code{list("1" = 0, "2" = 0.01, "4" = 0.02, "12" = 0.03)}, but that might -#' change in the future, so it is advised to use this function rather than -#' explicitly using the named list in your code. -#' -#' @param monthly Surcharge for monthly premium payments -#' @param quarterly Surcharge for quarterly premium payments -#' @param semiannually Surcharge for semi-annual premium payments -#' @param yearly Surcharge for yearly premium payments (optiona, default is no surcharge) -#' -#' @export -freqCharge = function(monthly = 0, quarterly = 0, semiannually = 0, yearly = 0) { - # Apply the heuristics to allow percentage points given - if (monthly > 0.1) monthly = monthly / 100; - if (quarterly > 0.1) quarterly = quarterly / 100; - if (semiannually > 0.1) semiannually = semiannually / 100; - if (yearly > 0.1) yearly = yearly / 100; - - # internal representation for now is a named list: - list("1" = yearly, "2" = semiannually, "4" = quarterly, "12" = monthly) -} - - - -mergeValues = function(starting, ending, t) { - # if either starting or ending is missing, always use the other, irrespective of t: - if (missing(ending) || is.null(ending)) { - starting - } else if (missing(starting) || is.null(starting)) { - ending - } else if (t == 0) { - ending - } else { - rbind(starting[1:t,], ending[-1:-t,]) - } -} -mergeValues3D = function(starting, ending, t) { - # if either starting or ending is missing, always use the other, irrespective of t: - if (missing(ending) || is.null(ending)) { - starting - } else if (missing(starting) || is.null(starting)) { - ending - } else if (t == 0) { - ending - } else { - abind::abind(starting[1:t,,,], ending[-1:-t,,,], along = 1) - } -} - -#' PVfactory (R6Class for present values with arbitrary dimensions) -#' -#' provides functions to calculate present values for survival, death, dread -#' disease, invalidity and guaranteed benefits in various dimensions -#' @param qx the vector of mortality / death probabilities -#' @param m the number of yearly payments -#' @param mCorrection the list of alpha/beta to correct present values for multiple payments per year -#' @param v the discount factor (1 / (1+i)) -#' @param advance the payment cashflows in advance -#' @param arrears the payment cashflows in arrears -#' @param start the time index, where the PV calculation should be based -#' @param benefits the vector of death / invalidity / disease benefits -#' @param ... other parameters (currently not used, for future use) -#' @export -#' -PVfactory = R6Class( - "PVfactory", - - ######################### PUBLIC METHODS ################################# # - public = list( - #' @description Initialize the present value factory with defaults for qx, interest and multiple payments per year - initialize = function(qx, m = 1, mCorrection = list(alpha = 1, beta = 0), v = 1) { - private$qx = qx; - private$m = m; - private$mCorrection = mCorrection; - private$v = v; - }, - #' @description Present values of guaranteed benefits (paid in advance or arrears, possible multiple times per year) - guaranteed = function(advance = NULL, arrears = NULL, start = 0, ..., m = private$m, mCorrection = private$mCorrection, v = private$v) { - # General Note: Since the CF vectors can have an arbitrary number of - # dimensions, we cannot directly access them via advance[1,..]. Rather, - # we have to construct the `[` function manually as a quoted expression, - # inserting the required number of dimensions and then evaluating that - # expression. This makes this function a little harder to read, but the - # performance should not take a hit and it is implemented in a very - # general way. - - cfs = list(advance, arrears) - # https://stackoverflow.com/a/16896422/920231 - deflt = cfs[!unlist(lapply(cfs, is.null))][[1]] * 0 - - if (missing(advance) || is.null(advance)) advance = deflt - if (missing(arrears) || is.null(arrears)) arrears = deflt - - l = max(unlist(lapply(cfs, function(cf) if(!is.null(dim(cf))) dim(cf)[[1]] else length(cf)))) - - # TODO: Make sure all CF tensors have the same number of dimensions - dms = if (is.null(dim(advance))) length(advance + 1) else dim(advance); - - # Resulting PV tensor has one timestep more than the CF tensors! - dms[1] = dms[1] + 1 - dmNr = if (is.null(dim(advance))) 1 else length(dim(advance)) - - # To be able to access the CF tensors in arbitrary dimensions, we - # construct the [..] operator manually by quoting it and then inserting - # arguments matching the number of dimensions - Qadv = Quote(advance[] )[c(1,2,rep(3, dmNr))]; - Qarr = Quote(arrears[] )[c(1,2,rep(3, dmNr))]; - Qres = Quote(res[])[c(1,2,rep(3, dmNr))]; # Access the correct number of dimensions - QresAss = Quote(res <- tmp) - - VL = function(quoted, time) { - eval(quoted %>% `[<-`(3, time)) - } - - init = VL(Qadv, 1) * 0; - - # assuming advance and arrears have the same dimensions... - # TODO: Pad to length l - # advance = pad0(advance, l, value = init); - # arrears = pad0(arrears, l, value = init); - - # TODO: Replace loop by better way (using Reduce?) - res = array(0, dim = dms) - - # Starting value for the recursion: - tmp = init - QresAss[[2]] = Qres %>% `[<-`(3, dms[[1]]) - eval(QresAss) - - advcoeff = mCorrection$alpha - mCorrection$beta * (1 - v); - arrcoeff = mCorrection$alpha - (mCorrection$beta + 1/m) * ( 1 - v); - for (i in l:(start + 1)) { - # coefficients for the payments (including corrections for payments during the year (using the alpha(m) and beta(m)): - # The actual recursion: - tmp = VL(Qadv, i) * advcoeff + VL(Qarr, i) * arrcoeff + v * VL(Qres, i+1); - # Assign tmp to the slice res[i, ....] - QresAss[[2]] = Qres %>% `[<-`(3, i) - eval(QresAss) - } - VL(Qres, list(1:l)) - }, - - #' @description Present values of survival benefits (paid in advance or arrears, possible multiple times per year) - survival = function(advance = NULL, arrears = NULL, start = 0, ..., m = private$m, mCorrection = private$mCorrection, v = private$v) { - # General Note: Since the CF vectors can have an arbitrary number of - # dimensions, we cannot directly access them via advance[1,..]. Rather, - # we have to construct the `[` function manually as a quoted expression, - # inserting the required number of dimensions and then evaluating that - # expression. This makes this function a little harder to read, but the - # performance should not take a hit and it is implemented in a very - # general way. - - cfs = list(advance, arrears) - # https://stackoverflow.com/a/16896422/920231 - deflt = cfs[!unlist(lapply(cfs, is.null))][[1]] * 0 - - if (missing(advance) || is.null(advance)) advance = deflt - if (missing(arrears) || is.null(arrears)) arrears = deflt - - l = max(unlist(lapply(cfs, function(cf) if(!is.null(dim(cf))) dim(cf)[[1]] else length(cf)))) - - # TODO: Make sure all CF tensors have the same number of dimensions - dms = if (is.null(dim(advance))) length(advance) else dim(advance); - - # Resulting PV tensor has one timestep more than the CF tensors! - dms[1] = dms[1] + 1 - dmNr = if (is.null(dim(advance))) 1 else length(dim(advance)) - - # To be able to access the CF tensors in arbitrary dimensions, we - # construct the [..] operator manually by quoting it and then inserting - # arguments matching the number of dimensions - Qadv = Quote(advance[] )[c(1,2,rep(3, dmNr))]; - Qarr = Quote(arrears[] )[c(1,2,rep(3, dmNr))]; - Qres = Quote(res[])[c(1,2,rep(3, dmNr))]; # Access the correct number of dimensions - QresAss = Quote(res <- tmp) - - VL = function(quoted, time) { - eval(quoted %>% `[<-`(3, time)) - } - - init = VL(Qadv, 1) * 0; - - # assuming advance and arrears have the same dimensions... - p = pad0(private$qx$px, l, value=0); - # TODO: Pad to length l - # advance = pad0(advance, l, value = init); - # arrears = pad0(arrears, l, value = init); - - # TODO: Replace loop by better way (using Reduce?) - res = array(0, dim = dms) - - # Starting value for the recursion: - tmp = init - QresAss[[2]] = Qres %>% `[<-`(3, dms[[1]]) - eval(QresAss) - - advcoeff = mCorrection$alpha - mCorrection$beta * (1 - p * v); - arrcoeff = mCorrection$alpha - (mCorrection$beta + 1/m) * (1 - p * v); - for (i in l:(start + 1)) { - # coefficients for the payments (including corrections for payments during the year (using the alpha(m) and beta(m)): - # The actual recursion: - tmp = VL(Qadv, i) * advcoeff[i] + VL(Qarr, i) * arrcoeff[i] + v * p[i] * VL(Qres, i+1); - # Assign tmp to the slice res[i, ....] - QresAss[[2]] = Qres %>% `[<-`(3, i) - eval(QresAss) - } - VL(Qres, list(1:l)) - }, - - #' @description Present values of death benefits - death = function(benefits, start = 0, ..., v = private$v) { - # General Note: Since the CF vectors can have an arbitrary number of - # dimensions, we cannot directly access them via advance[1,..]. Rather, - # we have to construct the `[` function manually as a quoted expression, - # inserting the required number of dimensions and then evaluating that - # expression. This makes this function a little harder to read, but the - # performance should not take a hit and it is implemented in a very - # general way. - - cfs = list(benefits) - if (missing(benefits) || is.null(benefits)) return(0); - - l = max(unlist(lapply(cfs, function(cf) if(!is.null(dim(cf))) dim(cf)[[1]] else length(cf)))) - - # TODO: Make sure all CF tensors have the same number of dimensions - dms = if (is.null(dim(benefits))) length(benefits) else dim(benefits); - - # Resulting PV tensor has one timestep more than the CF tensors! - dms[1] = dms[1] + 1 - dmNr = if (is.null(dim(benefits))) 1 else length(dim(benefits)) - - # To be able to access the CF tensors in arbitrary dimensions, we - # construct the [..] operator manually by quoting it and then inserting - # arguments matching the number of dimensions - Qben = Quote(benefits[] )[c(1,2,rep(3, dmNr))]; - Qres = Quote(res[])[c(1,2,rep(3, dmNr))]; # Access the correct number of dimensions - QresAss = Quote(res <- tmp) - - VL = function(quoted, time) { - eval(quoted %>% `[<-`(3, time)) - } - - init = VL(Qben, 1) * 0; - - # assuming advance and arrears have the same dimensions... - p = pad0(private$qx$px, l, value = 0); - q = pad0(private$qx$qx, l, value = 1); - # TODO: Pad to length l - # benefits = pad0(benefits, l, value = init); - - # TODO: Replace loop by better way (using Reduce?) - res = array(0, dim = dms) - - # Starting value for the recursion: - tmp = init - QresAss[[2]] = Qres %>% `[<-`(3, dms[[1]]) - eval(QresAss) - - for (i in l:(start + 1)) { - # coefficients for the payments (including corrections for payments during the year (using the alpha(m) and beta(m)): - # The actual recursion: - tmp = v * q[i] * VL(Qben, i) + v * p[i] * VL(Qres, i+1); - # Assign tmp to the slice res[i, ....] - QresAss[[2]] = Qres %>% `[<-`(3, i) - eval(QresAss) - } - VL(Qres, list(1:l)) - }, - #' @description Present values of disease benefits - disease = function(benefits, start = 0, ..., v = private$v) { - # General Note: Since the CF vectors can have an arbitrary number of - # dimensions, we cannot directly access them via advance[1,..]. Rather, - # we have to construct the `[` function manually as a quoted expression, - # inserting the required number of dimensions and then evaluating that - # expression. This makes this function a little harder to read, but the - # performance should not take a hit and it is implemented in a very - # general way. - - cfs = list(benefits) - if (missing(benefits) || is.null(benefits)) return(0); - - l = max(unlist(lapply(cfs, function(cf) if(!is.null(dim(cf))) dim(cf)[[1]] else length(cf)))) - - # TODO: Make sure all CF tensors have the same number of dimensions - dms = if (is.null(dim(benefits))) length(benefits) else dim(benefits); - - # Resulting PV tensor has one timestep more than the CF tensors! - dms[1] = dms[1] + 1 - dmNr = if (is.null(dim(benefits))) 1 else length(dim(benefits)) - - # To be able to access the CF tensors in arbitrary dimensions, we - # construct the [..] operator manually by quoting it and then inserting - # arguments matching the number of dimensions - Qben = Quote(benefits[] )[c(1,2,rep(3, dmNr))]; - Qres = Quote(res[])[c(1,2,rep(3, dmNr))]; # Access the correct number of dimensions - QresAss = Quote(res <- tmp) - - VL = function(quoted, time) { - eval(quoted %>% `[<-`(3, time)) - } - - init = VL(Qben, 1) * 0; - - # assuming advance and arrears have the same dimensions... - p = pad0(private$qx$px, l, value = 0); - ix = pad0(private$qx$ix, l, value = 0); - # TODO: Pad to length l - # benefits = pad0(benefits, l, value = init); - - # TODO: Replace loop by better way (using Reduce?) - res = array(0, dim = dms) - - # Starting value for the recursion: - tmp = init - QresAss[[2]] = Qres %>% `[<-`(3, dms[[1]]) - eval(QresAss) - - for (i in l:(start + 1)) { - # coefficients for the payments (including corrections for payments during the year (using the alpha(m) and beta(m)): - # The actual recursion: - tmp = v * ix[i] * VL(Qben, i) + v * p[i] * VL(Qres, i+1); - # Assign tmp to the slice res[i, ....] - QresAss[[2]] = Qres %>% `[<-`(3, i) - eval(QresAss) - } - VL(Qres, list(1:l)) - }, - # Cash flows only after death - # This case is more complicated, as we have two possible states of - # payments (present value conditional on active, but payments only when - # dead => need to write the Thiele difference equations as a pair of - # recursive equations rather than a single recursive formula...) - #' @description Present values of guaranteed benefits after death (paid in advance or arrears, possible multiple times per year) - afterDeath = function(advance = NULL, arrears = NULL, start = 0, ..., m = private$m, mCorrection = private$mCorrection, v = private$v) { - # General Note: Since the CF vectors can have an arbitrary number of - # dimensions, we cannot directly access them via advance[1,..]. Rather, - # we have to construct the `[` function manually as a quoted expression, - # inserting the required number of dimensions and then evaluating that - # expression. This makes this function a little harder to read, but the - # performance should not take a hit and it is implemented in a very - # general way. - - cfs = list(advance, arrears) - # https://stackoverflow.com/a/16896422/920231 - deflt = cfs[!unlist(lapply(cfs, is.null))][[1]] * 0 - - if (missing(advance) || is.null(advance)) advance = deflt - if (missing(arrears) || is.null(arrears)) arrears = deflt - - l = max(unlist(lapply(cfs, function(cf) if(!is.null(dim(cf))) dim(cf)[[1]] else length(cf)))) - - # TODO: Make sure all CF tensors have the same number of dimensions - dms = if (is.null(dim(advance))) length(advance) else dim(advance); - - # Resulting PV tensor has one timestep more than the CF tensors! - dms[1] = dms[1] + 1 - dmNr = if (is.null(dim(advance))) 1 else length(dim(advance)) - - # To be able to access the CF tensors in arbitrary dimensions, we - # construct the [..] operator manually by quoting it and then inserting - # arguments matching the number of dimensions - Qadv = Quote(advance[] )[c(1,2,rep(3, dmNr))]; - Qarr = Quote(arrears[] )[c(1,2,rep(3, dmNr))]; - Qres = Quote(res[])[c(1,2,rep(3, dmNr))]; # Access the correct number of dimensions - QresAss = Quote(res <- tmp) - - VL = function(quoted, time) { - eval(quoted %>% `[<-`(3, time)) - } - - init = VL(Qadv, 1) * 0; - - # assuming advance and arrears have the same dimensions... - p = pad0(private$qx$px, l, value=0); - q = pad0(private$qx$qx, l, value=0); - # TODO: Pad to length l - # advance = pad0(advance, l, value = init); - # arrears = pad0(arrears, l, value = init); - - # TODO: Replace loop by better way (using Reduce?) - res = array(0, dim = dms) - - # Starting value for the recursion: - prev = init; - prev.dead = init; - QresAss[[2]] = Qres %>% `[<-`(3, dms[[1]]) - eval(QresAss) - - advcoeff = mCorrection$alpha - mCorrection$beta * (1 - v); - arrcoeff = mCorrection$alpha - (mCorrection$beta + 1/m) * (1 - v); - for (i in l:(start + 1)) { - # The actual recursion: - tmp = p[i] * v * prev + q[i] * v * prev.dead; - # Assign tmp to the slice res[i, ....] - QresAss[[2]] = Qres %>% `[<-`(3, i) - eval(QresAss) - prev = tmp - prev.dead = VL(Qadv, i) * advcoeff[i] + VL(Qarr, i) * arrcoeff[i] + v * prev.dead; - } - VL(Qres, list(1:l)) - } - ), - private = list( - qx = data.frame(Alter = c(), qx = c(), ix = c(), px = c()), - m = 1, - mCorrection = list(alpha = 1, beta = 0), - v = 1 - ) -); - - - -getSavingsPremium = function(reserves, v=1, survival_advance=c(0), survival_arrears=c(0)) { - pad0(reserves[-1], length(reserves))*v - reserves + survival_advance + survival_arrears*v -} - -correctionPaymentFrequency = function(i, m = 1, order = 0) { - # 0th-order approximation - alpha = 1; - beta = 0; - # negative orders mean that NO correction is done, e.g. because other means of - # correction are used like an explicit premium frequency loading on the premium. - if (order >= 0 ) beta = beta + (m - 1) / (2 * m); - # For higher orders, simply add one term after the other! - if (order >= 1) beta = beta + (m ^ 2 - 1) / (6 * m ^ 2) * i; # S-Versicherung: *(1-i/2) - # order 1.5 has a special term that should NOT be used for higher-order approximations! - if (order == 1.5) beta = beta + (1 - m ^ 2) / (12 * m ^ 2) * i ^ 2; - - if (order >= 2) { - beta = beta + (1 - m ^ 2) / (24 * m ^ 2) * i ^ 2; - alpha = alpha + (m ^ 2 - 1) / (12 * m ^ 2) * i ^ 2; - } - # Exact value - if (order == Inf) { - d = i / (1 + i); - im = m * ((1 + i) ^ (1/m) - 1); - dm = im / (1 + im/m); - - alpha = d*i / (dm*im); - beta = (i - im) / (dm * im); - } - list(alpha = alpha, beta = beta); -} - -#' Pad a vector with 0 to a desired length -#' -#' @param v the vector to pad with 0 -#' @param l the desired (resulting) length of the vector -#' @param value the value to pad with (if padding is needed). Default to 0, but -#' can be overridden to pad with any other value. -#' @param start the first \code{start} values are always set to 0 (default is 0, -#' can be changed using the \code{value.start} argument), -#' the vector \code{v} starts only after these leading zeroes. The number of -#' leading zeroes counts towards the desired length -#' @param value.start the value to insert before the start index. -#' -#' @return returns the vector \code{v} padded to length \code{l} with value \code{value} (default 0). -#' -#' @examples -#' pad0(1:5, 7) # Pad to length 7 with zeroes -#' pad0(1:5, 3) # no padding, but cut at length 3 -#' -#' # 3 leading zeroes, then the vector start (10 elements of vector, no additional padding needed): -#' pad0(1:10, 13, start = 3) -#' -#' # padding with value other than zero: -#' pad0(1:5, 7, value = "pad") -#' @export -pad0 = function(v, l, value = 0, start = 0, value.start = 0) { - # 3 cases: desired length<=start => only 0/value.start - # desired length within start+v => cut v - # desired length longer than start+v => pad with 0/value - if (l <= start) { - rep(value.start, l) - } else if (start <= l && l <= start + length(v)) { - c(rep(value.start, start), v[0:(l - start)]) - } else { - # Need padding - c(rep(value.start, start), v, rep(value, l - length(v) - start)) - } -} - - - -#' Set all entries of the given vector to 0 up until index 'start' -#' -#' @param v the vector to modify -#' @param start how many leading elements to zero out -#' @param value.start the value to insert before the start index. -#' -#' @return the vector \code{v} with the first \code{start} elements replaced by 0. -#' -#' @examples -#' head0(1:10, 3) -#' @export -head0 = function(v, start = 0, value.start = 0) { - if (start == 0) { - v - } else { - c(rep(value.start, start), tail(v, -start)) - } -} - -#' Pad the vector \code{v} to length \code{l} by repeating the last entry of the -#' vector. -#' -#' This function is just a trivial wrapper around \code{pad0} and only calls [pad0()] -#' with the last element of the vector as padding value instead of the default 0. -#' -#' @param v the vector to pad by repeating the last element -#' @param ... arguments passed through to \code{pad0} -#' -#' @examples -#' padLast(1:5, 7) # 5 is repeated twice -#' padLast(1:5, 3) # no padding needed -#' -#' @export -padLast = function(v, ...) { - pad0(v, value = tail(v, n = 1), ...) -} - -#' Replace all \code{NA} entries of a vector with the previous non-NA value -#' -#' Sometimes one has a vector with some gaps (\code{NA}) values, which cause -#' problems for several numeric functions. This function \code{fillNAgaps} fills -#' these missing values by inserting the last preceeding non-NA-value. Leading -#' NA values (at the start of the vector will not be modified). If the -#' argument \code{firstBack = TRUE}, leading \code{NA}-values are replaced by -#' the first non-NA value. -#' Trailing NAs are always replaced by the last previous NA-value. -#' -#' This code was taken from the R Cookbook: -#' http://www.cookbook-r.com/Manipulating_data/Filling_in_NAs_with_last_non-NA_value/ -#' LICENSE (from that page): The R code is freely available for use without any restrictions. -#' In other words: you may reuse the R code for any purpose (and under any license). -#' -#' @param x The vector where NA-values should be filled by repeating the last preceeding non-NA value -#' @param firstBack if \code{TRUE}, leading NAs are replaced by the first non-NA -#' value in the vector, otherwise leading NAs are left untouched. -#' -#' @export -fillNAgaps <- function(x, firstBack=FALSE) { - ## NA's in a vector or factor are replaced with last non-NA values - ## If firstBack is TRUE, it will fill in leading NA's with the first - ## non-NA value. If FALSE, it will not change leading NA's. - - # If it's a factor, store the level labels and convert to integer - lvls <- NULL - if (is.factor(x)) { - lvls <- levels(x) - x <- as.integer(x) - } - - goodIdx <- !is.na(x) - - # These are the non-NA values from x only - # Add a leading NA or take the first good value, depending on firstBack - if (firstBack) goodVals <- c(x[goodIdx][1], x[goodIdx]) - else goodVals <- c(NA, x[goodIdx]) - - # Fill the indices of the output vector with the indices pulled from - # these offsets of goodVals. Add 1 to avoid indexing to zero. - fillIdx <- cumsum(goodIdx) + 1 - - x <- goodVals[fillIdx] - - # If it was originally a factor, convert it back - if (!is.null(lvls)) { - x <- factor(x, levels = seq_along(lvls), labels = lvls) - } - - x -} - - -#' If \code{val} is a function, evaluate it, otherwise return \code{val} -#' @param val Function or value -#' @param ... Argument passed to \code{val} if it is a function -#' @examples -#' valueOrFunction(3) # returns 3 -#' valueOrFunction(`+`, 1, 2) # also returns 3 -#' A = `+` -#' valueOrFunction(A, 1, 2) -#' @export -valueOrFunction = function(val, ...) { - if (is.function(val)) { - val(...) - } else { - val - } -} - -#' If \code{hook} is a function, apply it to \code{val}, otherwise return \code{val} unchanged -#' @param hook (optional) function to apply to \code{val} and the other parameters -#' @param val The value to which the hook is applied (ifgiven) -#' @param ... optional parameters passed to the hook function (if it is a function) -#' @examples -#' applyHook(NULL, 3) # returns 3 unchanged -#' applyHook(function(x) 2*x, 3) # applies the function, returns 6 -#' applyHook(`+`, 3, 1) # returns 4 -#' @export -applyHook = function(hook, val, ...) { - if (is.function(hook)) { - hook(val, ...) - } else if (is.null(hook)) { - val - } else { - warning("Hook function", hook, "is neither a function nor NULL. Please provide a function or leave it empty!") - } -} - - - -#' Overwrite all existing fields with default values given -#' -#' @description Overwrite all existing fields in the first argument with -#' values given in valuelist. Members of valuelist that are not yet in -#' fields are ignored. This allows a huge valuelist to be used to fill -#' fields in multiple lists with given structure. -#' -#' @param fields existing list -#' @param valuelist list of fields to replace in \code{fields}. Only keys that exist in \code{fields} are overwritten, no new fields are added to \code{fields} -#' -#' @export -fillFields = function(fields, valuelist) { - fieldsToInsert = intersect(names(fields), names(valuelist)); - fields[fieldsToInsert] = valuelist[fieldsToInsert] - fields -} - - -#' Replace missing values in ields by default fallback values -#' -#' @description Replace all missing values in fields (either missing or NA) with -#' their corresponding values from fallback. Members in fallback that are missing -#' in fields are inserted -#' @param fields existing list -#' @param valuelist list of fields to replace in \code{fields}. Only keys that are missing in \code{fields} are added, no existing fields in \code{fields} are overwritten -#' @export -fallbackFields = function(fields, valuelist) { - keepFields = !sapply(fields, is.null); - # We need to set all fields of valuelist, except those that are NOT NA in fields: - useFields = setdiff(names(valuelist), names(fields[keepFields])) - fields[useFields] = valuelist[useFields] - fields -} - -#' Calculate the rolling mean of length 2 -#' @param x vector of values, for which the rolling mean is calculated -#' @examples -#' rollingmean(1:10) -#' @export -rollingmean = function(x) (tail(x, -1) + head(x, -1))/2 - - -# Sum two or more vectors and correctly handle (i.e. ignore) NULL values given -plusNULL = function(v1, v2, ...) { - if (missing(v2) && length(list(...)) == 0) { - if (missing(v1) || is.null(v1)) { - return(0) - } else { - return(v1) - } - } - if (missing(v1) || is.null(v1)) { - return(plusNULL(v2, ...)); - } - if (missing(v2) || is.null(v2)) { - return(plusNULL(v1, ...)); - } else { - return(plusNULL(v1 + v2, ...)) - } -} - - -######################################################################=# -# Functions for handling sub-contract blocks #### - -# Helper functions to prepend/append rows to the arrays and sum them up -padArray = function(arr = NULL, pad = 0, len = 0, value = 0) { - padEnd = max(0, len - pad - NROW(arr)) # if len is too short, return an array containing at least the arr - nrcols = ifelse(is.null(arr), 0, NCOL(arr)) - rbind( - array(value, dim = c(pad, nrcols)) %>% `colnames<-`(colnames(arr)), - arr, - array(value, dim = c(padEnd, nrcols)) %>% `colnames<-`(colnames(arr)) - ) %>% `colnames<-`(colnames(arr)) -} - -sumPaddedArrays = function(arr1 = NULL, arr2 = NULL, pad1 = 0, pad2 = 0) { - newlen = max(pad1 + NROW(arr1), pad2 + NROW(arr2)) - if (is.null(arr2)) { - padArray(arr1, pad = pad1, len = newlen) - } else if (is.null(arr1)) { - padArray(arr2, pad = pad2, len = newlen) - } else { - # First prepend trailing zero rows according to pad1/pad2: - arr1 = padArray(arr1, pad = pad1, len = newlen) - arr2 = padArray(arr2, pad = pad2, len = newlen) - - # arr1 and arr2 now should have the same dimensions => sum them up - arr1 + arr2 - } -} - - - - diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R deleted file mode 100644 index 65680ab..0000000 --- a/R/InsuranceContract.R +++ /dev/null @@ -1,1276 +0,0 @@ -#' @include HelperFunctions.R InsuranceParameters.R InsuranceTarif.R ProfitParticipation.R -#' -#' @import MortalityTables -#' @import R6 -#' @import lubridate -# Prevent spurious imports warnings in CRAN checks: -#' @importFrom kableExtra kable -#' @importFrom pander pander -#' @importFrom rmarkdown render -NULL - - - -############ Class InsuranceContract ########################################### -#' Base Class for Insurance Contracts -#' -#' R6 class that models a complete, general insurance contract. -#' 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. -#' -#' # Usage -#' -#' The typical usage of this class is to simply call -#' \ifelse{html}{\href{#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}}. -#' -#' All parameters from the [InsuranceContract.ParameterDefaults] can be passed -#' to the constructor of the class (i.e. the \ifelse{html}{\href{#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}}-call). -#' Parameters not explicitly given, will be taken from the tariff or as a fall-back -#' mechanism from the [InsuranceContract.ParameterDefaults] defaults. -#' -#' Immediately upon construction, all premiums, reserves and cash flows for the -#' whole contract period are calculated and can be accessed via the \code{Values} -#' field of the object. -#' -#' -#' # Calculation approach: Valuation -#' -#' The calculation of all contract values is controlled by the function -#' \ifelse{html}{\href{#method-calculateContract}{\code{InsuranceContract$calculateContract()}}}{\code{InsuranceContract$calculateContract()()}} (using methods of the [InsuranceTarif] -#' object) and follows the following logic: -#' -#' 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. -#' 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** -#' 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 / 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)** -#' 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 -#' (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**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 -#' the methods \ifelse{html}{\href{#method-profitScenario}{\code{InsuranceContract$profitScenario()}}}{\code{InsuranceContract$profitScenario()()}}] -#' or \ifelse{html}{\href{#method-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}}}{\code{InsuranceContract$addProfitScenario()()}}. -#' -#' -#' -#' -#' # 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 **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 -#' cash flows: -#' -#' * premium cash flows: 1, 1, 1, 1, 1, ... -#' * survival cash flows: 0, 0, 0, 0, 0, ... -#' * 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: -#' -#' * premium cash flows: 1, 0, 0, 0, 0, ... -#' -#' 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, ... -#' * survival cash flows: 0, 0, ..., 0, 1 -#' * 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: -#' -#' * 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**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.: -#' -#' * premium cash flows: 1, 1, ..., 1, 0, 0, 0, ... -#' * survival cash flows: 0, 0, ..., 0, 1, 1, 1,... -#' * 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 -#' 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): -#' -#' * premium cash flows: 1, 1, 1, 1, ..., 1 -#' * survival cash flows: 0, 0, 0, 0, ..., 0 -#' * guaranteed cash flows: 0, 0, 0, ..., 0, 1 -#' * death benefit cash flows: 0, 0, 0, 0, ..., 0 -#' - -#' -#' @examples -#' # TODO -#' -#' @export -InsuranceContract = R6Class( - "InsuranceContract", - - ######################### PUBLIC METHODS ################################## - public = list( - #' @field tarif - #' The [InsuranceTarif] underlying this contract. The tarif is the abstract - #' product description (i.e. defining the type of insurance, fixing tpyes - #' of benefits, specifying costs, guaranteed interest rate, mortality tables, - #' potential profit sharing mechanisms, etc.), while the contract holds - #' the individual parts like age, sum insured, contract duration, premium - #' payment frequency, etc. - tarif = NULL, - #' @field parent - #' A pointer to the parent contract. Some contracts consist of multiple - #' parts (e.g. a main savings contract with a dread-disease rider, or - #' a contract with multiple dynamic increases). These are internally - #' represented by one [InsuranceContract] object per contract part, plus - #' one contract object combining them and deriving combined premiums, - #' reserves and profit participation. The child contracts (i.e. the - #' objects representing the individual parts) have a pointer to their - #' parent, while the overall contract holds a list of all its child contract parts. - parent = NULL, - - #' @field ContractParameters - #' Insurance contract parameters explicitly specified in the contract - #' (i.e. parameters that are NOT taken from the tariff of the defaults). - ContractParameters = InsuranceContract.ParameterStructure, # Only values explicitly given for this contract, not including fallback values from the tariff - #' @field Parameters - #' Full set of insurance contract parameters applying to this contract. - #' The set of parameters is a combination of explicitly given (contract-specific) - #' values, parameters determined by the tariff and default values. - Parameters = InsuranceContract.ParameterStructure, # The whole parameter set, including values given by the tariff - - #' @field Values - #' List of all contract values (cash flows, present values, premiums, - #' reserves, premium decomposition, profit participation, etc.). These - #' values will be calculated and filled when the contract is created - #' and updated whenever the contract is changed. - Values = InsuranceContract.Values, - - #' @field blocks - #' For contracts with multiple contract parts: List of all tariff blocks - #' (independently calculated [InsuranceContract] objects, that are combined - #' to one contract, e.g. dynamic/sum increases). If this field is empty, - #' this object describes a contract block (calculated as a stand-alone - #' tariff), otherwise it will simply be the sum of its blocks (adjusted - #' to span the same time periods) - blocks = list(), - - #' @field history - #' A list keeping track of all contract changes (including the whole - #' contract state and its values before the change). - history = list(), - - - #### The code: - - #' @description Create a new insurance contract (for the given tariff/product) and calculate all time series - #' - #' @details The \code{InsuranceContract$new()} function creates a new - #' insurance contract for the given tariff, using the parameters passed - #' to the function (and the defaults specified in the tariff). - #' - #' As soon as this function is called, the contract object calculates - #' all time series (cash flows, premiums, reserves, profit participation) - #' for the whole contract duration. - #' - #' The most important parameters that are typically passed to the - #' constructor are: - #' * \code{age} ... Age of the insured person (used to derive mortalities / transition probabilities) - #' * \code{policyPeriod} ... Maturity of the policy (in years) - #' * \code{premiumPeriod} ... How long premiums are paid (\code{premiumPeriod = 1} - #' for single-premium contracts, \code{premiumPeriod} equals - #' \code{policyPeriod} for regular premium payments for the whole - #' contract period, while other premium payment durations indicate - #' premium payments only for shorter periods than the whole contract - #' duration. Contract extensions without any premium payments are - #' indicated by \code{premiumPeriod}=0). Default is equal to - #' \code{policyPeriod} - #' * \code{sumInsured} ... The sum insured (i.e. survival benefit for - #' endowments, death benefit for whole/term life insurances, - #' annuity payments for annuities) - #' * \code{contractClosing} ... Date of the contract beginning (typically - #' created using something like \code{as.Date("2020-08-01")}) - #' * \code{YOB} ... Year of birth of the insured (for cohort mortality - #' tables). If not given, YOB is derived from \code{age} and - #' \code{contractClosing}. - #' * \code{deferralPeriod} ... Deferral period for deferred annuities - #' (i.e. when annuity payments start at a future point in time). - #' Default is 0. - #' * \code{premiumFrequency} ... How many premium payments per year are - #' made (e.g. 1 for yearly premiums, 4 for quarterly premiumd, - #' 12 for monthly premium payments). Default is 1 (yearly premiums). - #' - #' While these are the most common and most important parameters, all - #' parameters can be overwritten on a per-contract basis, even those - #' that are defined by the tariff. For a full list and explanation of all - #' parameters, see [InsuranceContract.ParameterDefaults]. - #' - #' @param tarif The [InsuranceTarif] object describing the Tariff/Product - #' and providing defaults for the parameters. - #' @param parent For contracts with multiple contract blocks (dynamic - #' increases, sum increases, riders), each child is created with - #' a pointer to its parent. NULL for single-block contracts or - #' for the overall-contract of a multi-block contract. This - #' parameter is used internally, but should not be used in - #' user-written code. - #' @param calculate how much of the contract's time series need to be - #' calculated. See [CalculationEnum] for all possible values. This - #' is usefull to prevent calculation of e.g. reserves and profit - #' participation, when one only wants to create a grid of premiums. - #' @param profitid The ID of the default profit participation scenario. - #' The default profit participation scenario uses the default - #' values passed, while further scenarios can be added by - #' \ifelse{html}{\href{#method-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}}}{\code{InsuranceContract$addProfitScenario()()}}. - #' @param ... Further parameters (age, sum insured, contract closing / - #' begin, premium payment details, etc.) of the contract, which - #' can also override parameters defined at the tariff-level. - #' Possible values are all sub-fields of the - #' [InsuranceContract.ParameterDefaults] data structure. - #' - initialize = function(tarif, parent = NULL, calculate = "all", profitid = "default", ...) { - if (getOption('LIC.debug.init', FALSE)) { - browser(); - } - private$initParams = c(list(tarif = tarif, parent = parent, calculate = calculate, profitid = profitid), list(...)) - self$tarif = tarif; - self$parent = parent; - - # TODO-block: If parent exists, use its parameters as fallback, too - self$ContractParameters = InsuranceContract.ParametersFill( - ..., - premiumWaiver = FALSE, - surrenderPenalty = TRUE, - alphaRefunded = FALSE - ); - # Set default values for required contract-specific data - # First, take the tariff defaults, then the ProfitParticipation - # defaults, so a tariff can override the profit participation scheme - self$Parameters = self$ContractParameters; - self$Parameters = InsuranceContract.ParametersFallback( - self$ContractParameters, - self$tarif$getParameters() - ); - - ppScheme = self$Parameters$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - self$Parameters$ProfitParticipation = fallbackFields( - self$Parameters$ProfitParticipation, - ppScheme$Parameters); - self$Parameters$ProfitParticipation$scenarios[[profitid]] = list() - } - - private$consolidateContractData(tarif = tarif, ...); - self$calculateContract(calculate = calculate); - - - invisible(self) - }, - - #' @description Add the current state of the contract to the history list - #' - #' @details The \code{InsuranceContract$addHistorySnapshot()} function - #' adds the current (or the explicitly given) state of the contract - #' (parameters, calculated values, tarif, list of all contract blocks) - #' to the history list (available in the \code{history} field of the - #' contract, i.e. \code{InsuranceContract$history}). - #' - #' @param time the time described by the snapshot - #' @param comment a comment to store together with the contract state - #' @param type The type of action that caused a history snapshot to - #' be stored. Typical values are "Contract" to describe the initial - #' contract, "Premium Waiver" or "Dynamic Increase". - #' @param params The set of params to be stored in the history snapshot - #' (default is \code{self$Parameters}, if not explicitly given) - #' @param values The calculated time series of all contract values - #' calculated so far. Default is \code{self$Values}, if not - #' explicitly given - #' @param tarif The underlying [InsuranceTarif] object describing the - #' Product/Tariff. Default is \code{self$tarif}, if not explicitly given. - #' @param blocks The list of all contract children for contracts with - #' multiple insurance blocks (e.g. dynamic increases, riders, etc.) - #' - #' @examples - #' # TODO - addHistorySnapshot = function(time = 0, comment = "Initial contract values", type = "Contract", params = self$Parameters, values = self$Values, tarif = self$tarif, blocks = self$blocks) { - self$history = rbind( - self$history, - list( - time = list( - "time" = time, - "comment" = comment, - "type" = type, - "params" = params, - "values" = values, - "tarif" = tarif, - "blocks" = blocks - ) - ) - ); - invisible(self) - }, - - #' @description Add a child contract block (e.g. a dynamic increase or a rider) to an insurance contract - #' - #' @details Contracts with multiple contract blocks (typically either - #' contracts with dynamic increases, sum increases or protection riders) - #' are constructed by instantiating the child block (e.g. a single - #' dynamic increase or the rider) independently with its own (shorter) - #' duration and then inserting it into the parent contract with this - #' function at the given time. - #' - #' If no [InsuranceContract] object is passed as \code{block}, a copy - #' of the parent is created with overriding parameters given in \code{...}. - #' - #' @param id The identifier of the child block to be inserted - #' @param block The [InsuranceContract] object describing the child block. - #' If NULL (or not given at all), a copy of the parent will be - #' created. - #' @param t Then the child block starts, relative to the parent block. - #' The child block is calculated independently (with time 0 - #' describing its own start), so when aggregating all values from - #' the individual blocks to overall values for the whole contract, - #' the child's values need to be translated to the parent contracts's - #' time frame using this parameter - #' @param comment The comment to use in the history snapshot. - #' @param blockType The type of block to be added (e.g. Dynamics, Extension, - #' etc.). Can be any (short) string. - #' @param ... parameters to be passed to \ifelse{html}{\href{#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}} when - #' \code{block} is not given and a copy of the parent should be - #' created with overrides. - #' - #' @examples - #' # TODO - addBlock = function(id = NULL, block = NULL, t = block$Values$int$blockStart, comment = paste0("Additional block at time t=", t), blockType = "Dynamics", ...) { - if (getOption('LIC.debug.addBlock', FALSE)) { - browser(); - } - if (missing(block) || is.null(block) || !is(block, "InsuranceContract")) { - # Create a block with the same tariff and parameters as the main contract, but allow overriding params with the ... arguments - block = InsuranceContract$new(id = id, ...) - } - if (missing(t) || is.null(t)) { - t = 0 - } - # declare as child of 'self', store the time offset to the parent contract - block$parent = self - block$Parameters$ContractData$blockStart = t - - if (length(self$blocks) == 0) { - main = self$clone() - main$parent = self - self$blocks[[main$Parameters$ContractData$id]] = main - self$Parameters$ContractData$id = "Gesamt" - } - - if (missing(id) || is.null(id)) { - id = paste0("block", length(self$blocks) + 1) - } - self$blocks[[id]] = block - # recalculate the whole contract by consolidating values from each block - self$consolidateBlocks(valuesFrom = t) - - self$addHistorySnapshot(time = t, comment = comment, - type = blockType, params = self$Parameters, values = self$Values); - - invisible(self) - }, - - #' @description Add a dynamic increase with the same parameters as the main contract part - #' - #' @details This method adds a new contract block describing a dynamic - #' or sum increase (increasing the sum insured at a later time - #' $t$ than contract inception). This increase is modelled by a - #' separate [InsuranceContract] object with the sum difference - #' as its own \code{sumInsured}. - #' - #' By default, all parameters are taken from the main contract, - #' with the maturity adjusted to match the original contract's - #' maturity. - #' - #' The main contract holds all child blocks, controls their - #' valueation and aggregates all children's values to the - #' total values of the overall contract. - #' - #' @param t The time within the main contract when the sum increase happens. - #' The [InsuranceContract] object describing the dynamic increase - #' will still internally start at its own time 0, but the - #' aggregation by the main contract will correctly offset to - #' the time $t$ within the main contract. - #' @param NewSumInsured The over-all new sum insured (sum of original - #' contract and all dynamica increaeses). The \code{sumInsured} - #' of the new dynamic increase block will be determined as the - #' difference of the old and new overall sum insured. Alternatively, - #' it can directly be given as the \code{SumInsuredDelta} - #' argument instead. - #' @param SumInsuredDelta The sum insured of only the dynamic increase, - #' i.e. the sumInsured of the dynamic contract block only. The - #' overall sum insured will increase by this amount. Only one of - #' \code{NewSumInsured} and \code{SumInsuredDelta} is needed, - #' the other one will be calculated accordingly. If both are - #' given, the \code{SumInsuredDelta} will take precedence. - #' @param id The identifier of the contract block describing the dynamic - #' increase. This is a free-form string that should be unique - #' within the list of child blocks. It will be displayed in the - #' Excel export feature and in the history snapshot list. - #' @param ... Paramters to override in the dynamic block. By default, - #' all parameters of the main contract block will be used, but - #' they can be overridden per dynamic increase block. - #' - #' @examples - #' # TODO - addDynamics = function(t, NewSumInsured, SumInsuredDelta, id, ...) { - if (getOption('LIC.debug.addDynamics', FALSE)) { - browser(); - } - - # TODO: Override only the required parameters - params = private$initParams - if (is.null(params)) params = list() - if (!is.null(params$age)) params$age = params$age + t - if (!is.null(params$policyPeriod)) params$policyPeriod = params$policyPeriod - t - if (!is.null(params$premiumPeriod)) params$premiumPeriod = max(0, params$premiumPeriod - t) - if (!is.null(params$deferralPeriod)) params$deferralPeriod = max(0, params$deferralPeriod - t) - if (!is.null(params$contractClosing)) params$contractClosing = params$contractClosing + years(t) - params$initialCapital = NULL - # 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 - if (!missing(SumInsuredDelta)) { - SIdelta = SumInsuredDelta - NewSumInsured = SIdelta + self$Values$reserves[t + 1, "SumInsured"] - } else if (!missing(NewSumInsured)) { - SIdelta = NewSumInsured - self$Values$reserves[t + 1, "SumInsured"] - } else { - warning("Neither NewSumInsured nor SumInsuredDelta are given. Unable to determine sum insured of the dynamic increase.") - return(invisible(self)) - } - params$sumInsured = SIdelta - - if (missing(id)) { - # numbering dynamics: Use # of blocks (except main) as a simplification - id = paste0("dyn", max(1, length(self$blocks))) - } - - params$t = t - params$id = id - # Override with arguments explicitly given - arguments = list(...) - params[names(arguments)] = arguments[names(arguments)] - params$comment = sprintf("Dynamic increase at time %d to sum %0.2f", t, NewSumInsured) - params$blockType = "Dynamics"; - do.call(self$addBlock, params) - }, - - - #' @description Add a contract extension after the contract has ended - #' (existing reserve is used as initial capital of the follow-up contract). - #' - #' @details When a contract expires, this function adds a follow-up contract - #' (with either the same or a different tariff), using the existing - #' reserve as `additionalCapital` at inception. - #' Technically, a child block using the new contract data of the extension - #' is added to the original contract. The over-all contract values are then - #' the sum of the original contract (providing values until expiration) - #' and the extension (providing values after the extension). - #' - #' - #' @param id The identifier of the child block to be inserted - #' @param t The time of the extension (relative to the parent block), - #' by default contract expiration of the parent block. - #' The extension is calculated independently (with time 0 - #' describing its own start), but using the existing reserve as - #' initialCapital and the parent's parameters as fall-back values. - #' @param comment The comment to use in the history snapshot. - #' @param ... Additional parameters to be passed to - #' \ifelse{html}{\href{#method-new}{\code{InsuranceContract$new}}}{\code{InsuranceContract$new}} to create the contract - #' extension object. - #' - #' @examples - #' # TODO - addExtension = function(id = NULL, t = NULL, comment = paste0("Contract extension at time t=", t), ...) { - if (getOption('LIC.debug.addExtension', FALSE)) { - browser(); - } - if (missing(id) | is.null(id)) { - # numbering extensions: Use nr. of blocks (except main) as a - # simplification => numbering is withint all dynamics, - # extensions, riders, etc.! - id = paste0("dyn", max(1, length(self$blocks))) - } - if (missing(t) | is.null(t)) { - # By default, use the parent's expiration, so the extension - # is appended after the original contract has ended. - t = self$Parameters$ContractData$policyPeriod - } - - # TODO: Override only the required parameters - params = private$initParams - if (is.null(params)) params = list() - if (!is.null(params$age)) params$age = params$age + t - # Remaining premium period is kept, can be overwritten in the - # arguments to this method. If premiumPeriod has already ended, - # a premium-free extension is added by default - if (!is.null(params$premiumPeriod)) params$premiumPeriod = max(0, params$premiumPeriod - t) - if (!is.null(params$deferralPeriod)) params$deferralPeriod = max(0, params$deferralPeriod - t) - if (!is.null(params$contractClosing)) params$contractClosing = params$contractClosing + years(t) - # Use the existing reserve as initialCapital, reset premium parameter and sumInsured of the old contract - params$initialCapital = self$Values$reserves[t + 1, "contractual"] - params$sumInsured = NULL - params$premium = NULL - - - # TODO: Adjust non-constant parameters (e.g. profit rates or benefits given as vector) to the later start time - - - params$t = t - params$id = id - # Override with arguments explicitly given - arguments = list(...) - params[names(arguments)] = arguments[names(arguments)] - params$comment = comment - params$blockType = "Contract Extension" - - # Two cases: - # 1) extension with premium => either premium or sumInsured must be given - # 2) premium-free extension => no premium, no sumInsured given => set premium to 0, calculate sumInsured - - noPremiums = (is.null(params$sumInsured) || (params$sumInsured == 0)) && (is.null(params$premium) || (params$premium == 0)); - if (noPremiums) { - params$premium = 0; - } - do.call(self$addBlock, params) - }, - - #' @description Calculate all time series of the contract from the parameters - #' - #' @details This method calculates all contract values (potentially - #' starting from and preserving all values before a later time - #' \code{valuesFrom}). This function is not meant to be called - #' directly, but internally, whenever a contract is created or - #' modified. - #' - #' There is, however, a legitimate case to call this function - #' when a contract was initially created with a value of - #' \code{calculate} other than "all", so not all values of the - #' contract were calculated. When one later needs more values - #' than were initially calculated, this function can be called. - #' However, any contract changes might need to be rolled back - #' and reapplied again afterwards. So even in this case it is - #' probably easier to create the contract object from scratch - #' again. - #' @param calculate Which values to calculate. See [CalculationEnum] - #' @param valuesFrom Calculate only values starting from this time step - #' on (all values before that time will be preserved). This is - #' required when a contract is changed significantly (potentially - #' even switching to a new tariff), so that the calculation bases - #' for previous periods are no longer available. - #' @param premiumCalculationTime The time point when the premium should - #' be re-calculated (including existing reserves) based on the - #' actuarial equivalence principle. All reserves will be based on - #' these new premiums. - #' @param preservePastPV Whether present value before the recalculation - #' time \code{valuesFrom} should be preserved or recalculated. - #' When they are recalculated, the present values are consistent - #' to the new cash flows over the whole contract period, but - #' they no longer represent the actual contract state at these - #' times. If values are not recalculated, the reserves at each - #' time step represent the proper state at that point in time. - #' @param additionalCapital The capital that is added to the contract - #' (e.g. capital carried over from a previous contract) at the - #' premium calculation time. - #' @param recalculatePremiums Whether the premiums should be recalculated - #' at time \code{premiumCalculationTime} at all. - #' @param recalculatePremiumSum Whether to recalculate the overall premium - #' sum when the premium is recalculated. - #' @param history_comment The comment for the history snapshot entry - #' @param history_type The type (free-form string) to record in the history snapshot - #' - calculateContract = function(calculate = "all", valuesFrom = 0, premiumCalculationTime = 0, preservePastPV = TRUE, additionalCapital = 0, recalculatePremiums = TRUE, recalculatePremiumSum = TRUE, history_comment = NULL, history_type = "Contract") { - if (getOption('LIC.debug.calculateContract', FALSE)) { - browser(); - } - if (!is.null(self$blocks)) { - for (b in self$blocks) { - # - # .args = as.list(match.call()[-1]) - # # correctly shift the valuesFrom by each block's blockStart parameter - # .args$valuesFrom = max(0, .args$valuesFrom - b$Parameters$ContractData$blockStart) - # do.call(b$calculateContract, .args) - # - b$calculateContract( - calculate = calculate, - valuesFrom = max(0, valuesFrom - b$Parameters$ContractData$blockStart), - premiumCalculationTime = max(0, premiumCalculationTime - b$Parameters$ContractData$blockStart), - preservePastPV = preservePastPV, - additionalCapital = additionalCapital, - recalculatePremiums = recalculatePremiums, - recalculatePremiumSum = recalculatePremiumSum, - history_comment = history_comment, - history_type = history_type) - } - } - self$Values$int = private$determineInternalValues() - self$Values$transitionProbabilities = mergeValues( - starting = self$Values$transitionProbabilities, - ending = private$determineTransitionProbabilities(), - t = valuesFrom) - if (calculate == "probabilities") return(invisible(self)); - - self$Values$cashFlowsBasic = mergeValues( - starting = self$Values$cashFlowsBasic, - ending = private$determineCashFlowsBasic(), - t = valuesFrom); - self$Values$cashFlows = mergeValues( - starting = self$Values$cashFlows, - ending = private$determineCashFlows(), - t = valuesFrom); - - if (additionalCapital > 0) { - self$Values$cashFlows[as.character(premiumCalculationTime), "additional_capital"] = additionalCapital - } - - if (recalculatePremiumSum) { - # Premium waiver: Premium sum is not affected by premium waivers, i.e. everything depending on the premium sum uses the original premium sum! - self$Values$unitPremiumSum = private$determinePremiumSum(); - } - self$Values$cashFlowsCosts = mergeValues3D( - starting = self$Values$cashFlowsCosts, - ending = private$determineCashFlowsCosts(), - t = valuesFrom); - if (calculate == "cashflows") return(invisible(self)); - - - # Shall we re-calculate PV or preserve the old ones??? - pv = private$calculatePresentValues() - pvCost = private$calculatePresentValuesCosts(presentValues = pv) - oldPV = self$Values$presentValues - if (preservePastPV) { - # Preserve past present values, i.e. the PV represents the PV - # with the knowledge of the past, even though the future CF - # might have changed meanwhile, so the PV at time 0 is no - # longer the PV of the current cash flows... The PV at time t - # always represents the information available at time t, but no - # future chagnes. - # This is useful to preserver the PV information neede to - # calculate the premiums from the past. - if (!is.null(self$Values$presentValues)) { - self$Values$presentValues = self$Values$presentValues[,1:NCOL(pv)] - } - self$Values$presentValues = mergeValues(starting = self$Values$presentValues, ending = pv, t = valuesFrom) - self$Values$presentValuesCosts = mergeValues3D(starting = self$Values$presentValuesCosts, ending = pvCost, t = valuesFrom) - } else { - # Recalculate present value for times before start, i.e. make all PV consistent with the current cash flows - self$Values$presentValues = pv - self$Values$presentValuesCosts = pvCost - } - if (calculate == "presentvalues") return(invisible(self)); - - - # If we have the premium given, determine the sumInsured from it - # Since the cash flows depend on the sumInsured (in particular, ) - if (is.null(self$Parameters$ContractData$sumInsured)) { - self$Parameters$ContractData$sumInsured = private$calculateSumInsured(calculationTime = premiumCalculationTime) - } - - # the premiumCalculation function returns the premiums AND the cofficients, - # so we have to extract the coefficients and store them in a separate variable - if (recalculatePremiums) { - res = private$calculatePremiums(premiumCalculationTime = premiumCalculationTime); - self$Parameters$ContractData$sumInsured = res[["sumInsured"]] - self$Values$premiumCoefficients = res[["coefficients"]]; - # TODO: Store premiums in a data.frame, including the time they are calculated??? - self$Values$premiums = res[["premiums"]] - self$Values$int$premiumCalculationTime = premiumCalculationTime - } - if (calculate == "premiums") return(invisible(self)); - - # Update the cash flows and present values with the values of the premium - pvAllBenefits = private$calculatePresentValuesBenefits() - if (preservePastPV) { - self$Values$presentValues = mergeValues(starting = oldPV, ending = cbind(pv, pvAllBenefits), t = valuesFrom) - } else { - self$Values$presentValues = cbind(pv, pvAllBenefits) - } - - self$Values$absCashFlows = mergeValues(starting = self$Values$absCashFlows, ending = private$calculateAbsCashFlows(), t = valuesFrom); - self$Values$absPresentValues = mergeValues(starting = self$Values$absPresentValues, ending = private$calculateAbsPresentValues(), t = valuesFrom); - if (calculate == "absvalues") return(invisible(self)); - - self$Values$reserves = mergeValues(starting = self$Values$reserves, ending = private$calculateReserves(), t = valuesFrom); - if (calculate == "reserves") return(invisible(self)); - self$Values$premiumComposition = mergeValues(starting = self$Values$premiumComposition, ending = private$premiumAnalysis(), t = valuesFrom); - self$Values$premiumCompositionSums = mergeValues(starting = self$Values$premiumCompositionSums, ending = private$premiumCompositionSums(), t = valuesFrom); - self$Values$premiumCompositionPV = mergeValues(starting = self$Values$premiumCompositionPV, ending = private$premiumCompositionPV(), t = valuesFrom); - self$Values$basicData = mergeValues(starting = self$Values$basicData, ending = private$getBasicDataTimeseries(), t = valuesFrom); - if (calculate == "premiumcomposition") return(invisible(self)); - - self$Values$reservesBalanceSheet = mergeValues(starting = self$Values$reservesBalanceSheet,ending = private$calculateReservesBalanceSheet(), t = valuesFrom); - if (calculate == "reservesbalancesheet") return(invisible(self)); - - private$profitParticipation(calculateFrom = valuesFrom); - if (calculate == "profitparticipation") return(invisible(self)); - - self$addHistorySnapshot( - time = valuesFrom, - comment = ifelse(is.null(history_comment), - ifelse(valuesFrom == 0, "Initial contract values", paste("Contract recalculation at time", premiumCalculationTime)), - history_comment), - type = history_type, - params = self$Parameters, - values = self$Values - ); - if (calculate == "history") return(invisible(self)); - - invisible(self) - }, - - #' @description Aggregate values from all child contract blocks (if any) - #' - #' @details This function is an internal function for contracts with - #' multiple child blocks (dynamic increases, sum increases, riders). - #' It takes the values from all child blocks and calculates the - #' overall values from all child blocks aggregated. - #' - #' This function should not be called manually. - #' - #' @param valuesFrom The time from when to aggragate values. Values before - #' that time will be left unchanged. - consolidateBlocks = function(valuesFrom = 0) { - if (getOption('LIC.debug.consolidateBlocks', FALSE)) { - browser(); - } - # First, Re-calculate all children that have children on their own - for (b in self$blocks) { - if (length(b$blocks) > 0) { - # correctly shift the valuesFrom by each block's blockStart parameter - b$consolidateBlocks(valuesFrom = max(0, valuesFrom - b$Parameters$ContractData$blockStart)) - } - } - - sumKeyedArrays = function(arr1 = NULL, arr2 = NULL) { - if (is.null(arr2)) { - arr1 - } else if (is.null(arr1)) { - arr2 - } else { - bind_rows(arr1, arr2) %>% - group_by(date) %>% - summarise_all(list(sum)) - } - } - consolidateField = function(field, keyed = FALSE) { - vals = NULL - if (length(self$blocks) == 0) { - vals = self$Values[[field]] - } - for (b in self$blocks) { - if (keyed) { - # The rows of the two data.frames can be associated by the values of a certain column - vals = sumKeyedArrays(arr1 = vals, arr2 = b$Values[[field]]) - } else { - # Simply pad the arrays and sum them up: - vals = sumPaddedArrays(arr1 = vals, arr2 = b$Values[[field]], pad2 = b$Parameters$ContractData$blockStart) - } - } - mergeValues(starting = self$Values[[field]], ending = vals, t = valuesFrom); - } - - - # Some values do not make sense for consolidated values - self$Values$cashFlowsBasic = NULL - self$Values$cashFlows = NULL - self$Values$cashFlowsCosts = NULL - self$Values$presentValues = NULL - self$Values$presentValuesCosts = NULL - - self$Values$unitPremiumSum = NULL - self$Values$premiumCoefficients = NULL - self$Values$premiums = NULL - - # self$Values$transitionProbabilities = consolidateField("transitionProbabilities") - # self$Values$cashFlowsBasic = consolidateField("cashFlowsBasic") - # self$Values$cashFlows = consolidateField("cashFlows") - # self$Values$cashFlowsCosts = consolidateField("cashFlowsCosts") - self$Values$absCashFlows = consolidateField("absCashFlows") - self$Values$absPresentValues = consolidateField("absPresentValues") - self$Values$premiumComposition = consolidateField("premiumComposition") - self$Values$premiumCompositionSums = consolidateField("premiumCompositionSums") - self$Values$premiumCompositionPV = consolidateField("premiumCompositionPV") - self$Values$reserves = consolidateField("reserves") - self$Values$reservesBalanceSheet = consolidateField("reservesBalanceSheet", keyed = TRUE) - # TODO: Basic Data cannot simply be summed, e.g. the interest rate! - self$Values$basicData = consolidateField("basicData") - - # Some fields can NOT be summed, but have to be left untouched. - # Hard-code these to use the values from the main contract part: - rows = nrow(self$Values$reservesBalanceSheet) - colDt = rep(as.Date(NA), rows) - colTime = rep(NA_real_, rows) - colIntR = rep(NA_real_, rows) - colDur = rep(NA_real_, rows) - colPrem = rep(NA_real_, rows) - polPeriod = self$Parameters$ContractData$policyPeriod - for (b in self$blocks) { - start = b$Parameters$ContractData$blockStart - polPeriod = max(polPeriod, b$Parameters$ContractData$policyPeriod + start) - colDt = coalesce(colDt, pad0(b$Values$reservesBalanceSheet[,"date"], start = start, value = as.Date(NA), value.start = as.Date(NA), l = rows)) - colTime = coalesce(colTime, pad0(b$Values$reservesBalanceSheet[,"time"] + start, start = start, value = NA, value.start = NA, l = rows)) - - colIntR = coalesce(colIntR, pad0(b$Values$basicData[,"InterestRate"], start = start, value = NA, value.start = NA, l = rows)) - colDur = coalesce(colDur, pad0(b$Values$basicData[,"PolicyDuration"], start = start, value = NA, value.start = NA, l = rows)) - colPrem = coalesce(colPrem, pad0(b$Values$basicData[,"PremiumPeriod"], start = start, value = NA, value.start = NA, l = rows)) - } - self$Parameters$ContractData$policyPeriod = polPeriod; - self$Values$reservesBalanceSheet[,"date"] = colDt; - self$Values$reservesBalanceSheet[,"time"] = colTime; - self$Values$basicData[,"InterestRate"] = colIntR - self$Values$basicData[,"PolicyDuration"] = colDur - self$Values$basicData[,"PremiumPeriod"] = colPrem - - self$Values$int$l = rows - - invisible(self) - }, - - #' @description Stop premium payments and re-calculate sumInsured of the paid-up contract - #' - #' @details This function modifies the contract at time $t$ so that - #' no further premiums are paid (i.e. a paid-up contract) and the - #' \code{sumInsured} is adjusted according to the existing reserves. - #' - #' @param t Time of the premium waiver. - #' @param ... Further parameters (currently unused) - #' - #' @examples - #' # TODO - premiumWaiver = function(t, ...) { - if (getOption('LIC.debug.premiumWaiver', FALSE)) { - browser(); - } - if (length(self$blocks) > 0) { - for (b in self$blocks) { - b$premiumWaiver(t - b$Parameters$ContractData$blockStart, ...) - } - } else { - newSumInsured = self$Values$reserves[[toString(t), "PremiumFreeSumInsured"]]; - self$Parameters$ContractData$sumInsured = newSumInsured; - } - self$Parameters$ContractState$premiumWaiver = TRUE; - self$Parameters$ContractState$surrenderPenalty = FALSE; # Surrender penalty has already been applied, don't apply a second time - self$Parameters$ContractState$alphaRefunded = TRUE; # Alpha cost (if applicable) have already been refunded partially, don't refund again - # TODO: Extract current amount of premium refund and feed that into the calculateContract function... - - self$calculateContract( - valuesFrom = t, - premiumCalculationTime = t, - preservePastPV = TRUE, recalculatePremiums = TRUE, recalculatePremiumSum = FALSE, - history_comment = sprintf("Premium waiver at time %d", t), history_type = "PremiumWaiver") - - invisible(self) - }, - - - - #' @description Calculate one profit scenario and return all values - #' - #' @details This function calculates one profit scenario with the - #' provided profit participation parameters (all parameters - #' not given in the call are taken from their values of the - #' contract, profit participation scheme or tariff). - #' - #' @param ... Scenario-specific profit sharing parameters, overriding - #' the default values. Typically, adjusted profit rates are required - #' in a profitScenario. - #' @return a data.frame holding all profit participation values (rates, - #' bases for the different profit types, profit allocations, - #' terminal bonus funds, profit in case of death/surrender/premium waiver) - #' - #' @examples - #' # TODO - profitScenario = function(...) { - if (getOption('LIC.debug.profitScenario', FALSE)) { - browser(); - } - private$calculateProfitParticipation(...) - }, - - #' @description Calculate one profit scenario and store it in the contract - #' - #' @details This function calculates one profit scenario with the - #' provided profit participation parameters (all parameters - #' not given in the call are taken from their values of the - #' contract, profit participation scheme or tariff). The results - #' are stored in a list of profit scenarios inside the contract. - #' - #' This function can be chained to calculate and add multiple - #' profit scenarios. - #' - #' @param id The unique ID of the profit scenario. Will be used as key - #' in the list of profit scenarios and printed out in the Excel - #' export. - #' @param ... Scenario-specific profit sharing parameters, overriding - #' the default values. Typically, adjusted profit rates are required - #' in a profitScenario. - #' - #' @examples - #' # TODO - addProfitScenario = function(id, ...) { - if (getOption('LIC.debug.addProfitScenario', FALSE)) { - browser(); - } - .args = as.list(match.call()[-1]) - self$Parameters$ProfitParticipation$scenarios[[id]] = list(...) - if (length(self$blocks) > 0) { - vals = NULL - for (b in self$blocks) { - # TODO: shift the profit rates by b$Parameters$ContractData$blockStart - do.call(b$addProfitScenario, .args) - vals = sumPaddedArrays(arr1 = vals, arr2 = b$Values$profitScenarios[[id]], pad2 = b$Parameters$ContractData$blockStart) - # TODO: consolidate reserves after profit! - } - # Consolidate all child blocks - self$Values$profitScenarios[[id]] = vals - } else { - # profitParticipation will assign the values to Values$profitScenarios[[id]] and Values$reservesAfterProfit[[id]] - # private$profitParticipation(id = id, ...) - pp = private$calculateProfitParticipation(...) - self$Values$profitScenarios[[id]] = pp - self$Values$reservesAfterProfit[[id]] = private$calculateReservesAfterProfit(profitScenario = pp, ...) - } - - invisible(self) - }, - - - #' @field dummy.public - #' dummy field to allow a trailing comma after the previous field/method - dummy.public = NULL - ), - - ######################### PRIVATE METHODS ################################## - private = list( - initParams = NULL, - - consolidateContractData = function(...) { - args = list(...); - # TODO-blocks - - if (getOption('LIC.debug.consolidateContractData', FALSE)) { - browser(); - } - # YOB is deprecated in favor of birthDate. If it is given, use January 1 - if (is.null(self$Parameters$ContractData$birthDate) && !is.null(self$Parameters$ContractData$YOB)) { - self$Parameters$ContractData$birthDate = make_date(self$Parameters$ContractData$YOB, 1, 1) - } - - # Calculate date/year of birth, age, contract closing etc. from each other - # 1. Contract date (if not given) is NOW, unless age + YOB is given => Then year is derived as YOB+age - if (is.null(self$Parameters$ContractData$contractClosing)) { - # Default is contractClosing is NOW: - self$Parameters$ContractData$contractClosing = Sys.Date() - - # However, if age and DOB / YOB is given, calculate contract closing from that: - # age is given (and not a function that calculates age from DOB and Contract closing) - if (!is.null(self$Parameters$ContractData$age) && - !is.function(self$Parameters$ContractData$age) - ) { - if (!is.null(self$Parameters$ContractData$birthDate)) { - ag = self$Parameters$ContractData$age - # Whole years are added as period (so the day stays the same), remaining fractions are added as dyears - self$Parameters$ContractData$contractClosing = as.Date(self$Parameters$ContractData$birthDate + - years(floor(self$Parameters$ContractData$age)) + - dyears(self$Parameters$ContractData$age %% 1)) - # TODO: Always start at the nearest beginning of a month? Or leave the contract closing at any day? - } - } - } - - # 2. Current age: If age is given, use it - if (!is.null(self$Parameters$ContractData$age)) { - self$Parameters$ContractData$age = valueOrFunction( - self$Parameters$ContractData$age, - params = self$Parameters, values = self$Values); - } else { - # 3. Otherwise, either use the birth date to calculate the age - if (!is.null(self$Parameters$ContractData$birthDate)) { - # TODO: Decide for variant 1 or 2... - # Variant 1: Exact age rounded to the nearest whole number - self$Parameters$ContractData$age = age.exactRounded(self$Parameters, self$Values) - # Variant 2: Year of contract closing - YOB - self$Parameters$ContractData$age = age.yearDifference(self$Parameters, self$Values) - } else { - # 4. Or use age=40 as default - self$Parameters$ContractData$age = 40 - warning("InsuranceContract: Missing age, no information to derive age from YOB and contractClosing => Assuming default age 40. Tariff: ", self$tarif$name) - } - } - if (is.null(self$Parameters$ContractData$birthDate)) { - self$Parameters$ContractData$birthDate = as.Date(self$Parameters$ContractData$contractClosing - - years(floor(self$Parameters$ContractData$age)) - - dyears(self$Parameters$ContractData$age %% 1)) - } - - - - # Evaluate policy period, i.e. if a function is used, calculate its numeric value - self$Parameters$ContractData$policyPeriod = valueOrFunction( - self$Parameters$ContractData$policyPeriod, - params = self$Parameters, values = self$Values); - - self$Parameters$ContractData$guaranteedPeriod = valueOrFunction( - self$Parameters$ContractData$guaranteedPeriod, - params = self$Parameters, values = self$Values); - - #### # - # PREMIUM PAYMENT PERIOD (default: policyPeriod, can be given as function or numeric value) - #### # - if (is.null(self$Parameters$ContractData$premiumPeriod)) { - self$Parameters$ContractData$premiumPeriod = self$Parameters$ContractData$policyPeriod - } - self$Parameters$ContractData$premiumPeriod = valueOrFunction( - self$Parameters$ContractData$premiumPeriod, - params = self$Parameters, values = self$Values); - # premium period is at most contract duration! - self$Parameters$ContractData$premiumPeriod = - min( - self$Parameters$ContractData$premiumPeriod, - self$Parameters$ContractData$policyPeriod - ); - - self$Parameters$Loadings$commissionPeriod = valueOrFunction( - self$Parameters$Loadings$commissionPeriod, - params = self$Parameters, values = self$Values); - self$Parameters$Loadings$commissionPeriod = - min( - self$Parameters$Loadings$commissionPeriod, - self$Parameters$ContractData$policyPeriod - ) - - - # Evaluate deferral period, i.e. if a function is used, calculate its numeric value from the other parameters - self$Parameters$ContractData$deferralPeriod = valueOrFunction( - self$Parameters$ContractData$deferralPeriod, - params = self$Parameters, values = self$Values); - self$Parameters$ContractData$deferralPeriod = - min( - self$Parameters$ContractData$deferralPeriod, - self$Parameters$ContractData$policyPeriod - ) - - # Premium refund period (if applicable): - self$Parameters$ContractData$premiumRefundPeriod = valueOrFunction( - self$Parameters$ContractData$premiumRefundPeriod, - params = self$Parameters, values = self$Values); - - #### # - # AGES for multiple joint lives: - #### # - # For joint lives, some parameters can be given multiple times: age, sex - # Collect all given values into one vector! - - # TODO: First person has birthDate handled properly, handle all other persons, too! - age = unlist(args[names(args) == "age"], use.names = FALSE) - if (!is.null(age) && length(age) > 1) { - self$Parameters$ContractData$age = c(self$Parameters$ContractData$age[[1]], tail(age, -1)); - # TODO: Calculate ages for all other persons, too. Or rather, allow multiple birthDate values, too - } - sex = unlist(args[names(args) == "sex"], use.names = FALSE) - if (!is.null(sex) && length(sex) > 1) { - self$Parameters$ContractData$sex = sex; - } - if (is.null(self$Parameters$ContractData$ageDifferences)) { - self$Parameters$ContractData$ageDifferences = diff(self$Parameters$ContractData$age); - } else { - self$Parameters$ContractData$ageDifferences = valueOrFunction( - self$Parameters$ContractData$ageDifferences, - params = self$Parameters, values = self$Values); - } - - - #### # - # TECHNICAL AGE - #### # - # Calculate the technical age (e.g. female are made younger, contracts on joint lives, etc.) - if (is.null(self$Parameters$ContractData$technicalAge)) { - self$Parameters$ContractData$technicalAge = self$Parameters$ContractData$age[1] - } else { - self$Parameters$ContractData$technicalAge = valueOrFunction( - self$Parameters$ContractData$technicalAge, - params = self$Parameters, values = self$Values); - } - - # Evaluate all possibly variable values (mortalityTable depending on sex, etc.) - self$Parameters$ActuarialBases$mortalityTable = valueOrFunction( - self$Parameters$ActuarialBases$mortalityTable, - params = self$Parameters, values = self$Values) - - #### # - # COSTS PARAMETERS: can be a function => evaluate it to get the real costs - # This needs to be last, as the costs can depend on present values - # => mortality table is needed - #### # - self$Parameters$Costs = private$evaluateCosts() - - - ##### # - # SUM INSURED: By default, sum insured is required and the premium - # is calculated from the SI. However, it is also possible (not yet - # fully implemented) to prescribe the premium and/or initial capital - # to determine the SI. If neither is given, a warning should be printed - # and a default of sumInsured=10000 should be applied - if (is.null(self$Parameters$ContractData$sumInsured) && - is.null(self$Parameters$ContractData$premium) && - (is.null(self$Parameters$ContractData$initialCapital) || - self$Parameters$ContractData$initialCapital == 0)) { - self$Parameters$ContractData$sumInsured = 10000 - warning("InsuranceContract: Neither sumInsured nor premium nor initialCapital given! => Assuming default sum insured 10.000. Tariff: ", self$tarif$name) - } - - invisible(self) - }, - - evaluateCosts = function() { - self$tarif$getCostValues(params = self$Parameters) - }, - - determineInternalValues = function(...) { - self$tarif$getInternalValues(params = self$Parameters, ...); - }, - - determineTransitionProbabilities = function(...) { - self$tarif$getTransitionProbabilities(params = self$Parameters, values = self$Values, ...); - }, - determineCashFlowsBasic = function(...) { - self$tarif$getBasicCashFlows(params = self$Parameters, values = self$Values, ...); - }, - determineCashFlows = function(...) { - self$tarif$getCashFlows(params = self$Parameters, values = self$Values, ...); - }, - determinePremiumSum = function(...) { - sum(self$Values$cashFlows$premiums_advance + self$Values$cashFlows$premiums_arrears); - }, - determineCashFlowsCosts = function(...) { - self$tarif$getCashFlowsCosts(params = self$Parameters, values = self$Values, ...); - }, - calculatePresentValues = function(...) { - self$tarif$presentValueCashFlows(params = self$Parameters, values = self$Values, ...); - }, - calculatePresentValuesCosts = function(...) { - self$tarif$presentValueCashFlowsCosts(params = self$Parameters, values = self$Values, ...); - }, - calculateSumInsured = function(...) { - self$tarif$sumInsuredCalculation(params = self$Parameters, values = self$Values, ...) - }, - calculatePremiums = function(...) { - self$tarif$premiumCalculation(params = self$Parameters, values = self$Values, ...); - }, - calculatePresentValuesBenefits = function(...) { - self$tarif$presentValueBenefits(params = self$Parameters, values = self$Values, ...); - }, - calculateAbsCashFlows = function(...) { - self$tarif$getAbsCashFlows(params = self$Parameters, values = self$Values, ...); - }, - calculateAbsPresentValues = function(...) { - self$tarif$getAbsPresentValues(params = self$Parameters, values = self$Values, ...); - }, - calculateReserves = function(...) { - self$tarif$reserveCalculation(params = self$Parameters, values = self$Values, ...); - }, - calculateReservesBalanceSheet = function(...) { - self$tarif$reserveCalculationBalanceSheet(params = self$Parameters, values = self$Values, ...); - }, - premiumAnalysis = function(...) { - self$tarif$premiumDecomposition(params = self$Parameters, values = self$Values, ...); - }, - premiumCompositionSums = function(...) { - self$tarif$calculateFutureSums(cf = self$Values$premiumComposition, params = self$Parameters, values = self$Values, ...); - }, - premiumCompositionPV = function(...) { - self$tarif$calculatePresentValues(self$Values$premiumComposition, params = self$Parameters, values = self$Values, ...); - }, - - profitParticipation = function(...) { - scens = self$Parameters$ProfitParticipation$scenarios - lapply(seq_along(scens), function(x) { - nm = names(scens)[x] - scn = NULL - if (!is.null(self$Values$profitScenarios) && length(self$Values$profitScenarios) >= x) { - scn = self$Values$profitScenarios[[x]] - } - pp = do.call(private$calculateProfitParticipation, c(list(profitScenario = scn, ...), scens[x])) - res = do.call(private$calculateReservesAfterProfit, c(list(profitScenario = pp, ...), scens[x])) - if (nm != "" && !is.null(nm)) { - self$Values$profitScenarios[[nm]] = pp - self$Values$reservesAfterProfit[[nm]] = res - } else { - self$Values$profitScenarios[[x]] = pp - self$Values$reservesAfterProfit[[x]] = res - } - }) - - # For convenience, return the profit participation table: - # (self$Values$reservesAfterProfit was also changed, but is not returned!) - self$Values$profitScenarios - }, - - calculateProfitParticipation = function(...) { - self$tarif$calculateProfitParticipation(params = self$Parameters, values = self$Values, ...); - }, - calculateReservesAfterProfit = function(profitScenario, ...) { - self$tarif$reservesAfterProfit(profitScenario = profitScenario, params = self$Parameters, values = self$Values, ...); - }, - - - getBasicDataTimeseries = function(...) { - self$tarif$getBasicDataTimeseries(params = self$Parameters, values = self$Values, ...); - }, - - dummy.private = NULL - ) -) - diff --git a/R/InsuranceParameters.R b/R/InsuranceParameters.R deleted file mode 100644 index 337ff57..0000000 --- a/R/InsuranceParameters.R +++ /dev/null @@ -1,769 +0,0 @@ -#' @include HelperFunctions.R -NULL - -#' Update one component of an [InsuranceTarif]'s cost structure -#' -#' Insurance tariff costs are defined by a cost matrix with dimensions: {CostType, Basis, Period}, where: -#' \describe{ -#' \item{CostType:}{alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts} -#' \item{Basis:}{SumInsured, SumPremiums, GrossPremium, NetPremium, Constant} -#' \item{Period:}{once, PremiumPeriod, PremiumFree, PolicyPeriod, AfterDeath, FullContract} -#' } -#' After creation (using the function [initializeCosts()]), the funciton \code{setCost} -#' can be used to modify a single entry. While [initializeCosts()] provides arguments -#' to set the most common types of cost parameters in one call, the \code{setCost} -#' function allows to modify any cost parameter. -#' -#' This function modifies a copy of the cost structure and returns it, so this -#' function can be chained as often as desired and final return value will contain -#' all cost modifications. -#' -#' @param costs The cost definition matrix (usually created by [initializeCosts()]) -#' @param type The cost type (alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts) -#' @param basis The basis fo which the cost rate is applied (default is SumInsured) -#' @param frequency How often / during which period the cost is charged (once, PremiumPeriod, PremiumFree, PolicyPeriod, FullContract) -#' @param value The new cost value to set for the given type, basis and frequency -#' -#' @return The modified cost structure -#' -#' @examples -#' costs = initializeCosts() -#' setCost(costs, "alpha", "SumPremiums", "once", 0.05) -#' -#' @export -setCost = function(costs, type, basis = "SumInsured", frequency = "PolicyPeriod", value) { - costs[type, basis, frequency] = value - costs -} - - -#' Initialize or modify a data structure for the definition of [InsuranceTarif] costs -#' -#' Initialize a cost matrix with dimensions: {CostType, Basis, Period}, where: -#' \describe{ -#' \item{CostType:}{alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts} -#' \item{Basis:}{SumInsured, SumPremiums, GrossPremium, NetPremium, Benefits, Constant} -#' \item{Period:}{once, PremiumPeriod, PremiumFree, PolicyPeriod, CommissionPeriod} -#' } -#' This cost structure can then be modified for non-standard costs using the [setCost()] function. -#' The main purpose of this structure is to be passed to [InsuranceContract] or -#' [InsuranceTarif] definitions. -# TODO: gamma an Erlebensleistungen? -#' -#' @param costs (optional) existing cost structure to duplicate / use as a starting point -#' @param alpha Alpha costs (charged once, relative to sum of premiums) -#' @param alpha.commission Alpha costs (charged during the commission period, -#' relative to sum of premiums; Use the \code{commissionPeriod} -#' and \code{alphaCostsCommission} contract parameters -#' to set the length of the commission period and whether -#' the \code{alpha.commission} val´ue is understood as yearly -#' cost or the sum or present value of the commission -#' charges over the whole commission period) -#' @param Zillmer Zillmer costs (charged once, relative to sum of premiums) -#' @param beta Collection costs (charged on each gross premium, relative to gross premium) -#' @param gamma Administration costs while premiums are paid (relative to sum insured) -#' @param gamma.paidUp Administration costs for paid-up contracts (relative to sum insured) -#' @param gamma.premiumfree Administration costs for planned premium-free period (reltaive to sum insured) -#' @param gamma.contract Administration costs for the whole contract period (relative to sum insured) -#' @param gamma.afterdeath Administration costs after the insured person has dies (for term-fix insurances) -#' @param gamma.fullcontract Administration costs for the full contract period, -#' even if the insured has already dies (for term-fix insurances) -#' @param unitcosts Unit costs (absolute monetary amount, during premium period) -#' @param unitcosts.PolicyPeriod Unit costs (absolute monetary amount, during full contract period) -#' -#' @examples -#' # empty cost structure (only 0 costs) -#' initializeCosts() -#' -#' # the most common cost types can be given in initializeCosts() -#' initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.001) -#' -#' # The same cost structure manually -#' costs.Bsp = initializeCosts(); -#' costs.Bsp[["alpha", "SumPremiums", "once"]] = 0.04; -#' costs.Bsp[["Zillmer", "SumPremiums", "once"]] = 0.025; -#' costs.Bsp[["beta", "GrossPremium", "PremiumPeriod"]] = 0.05; -#' costs.Bsp[["gamma", "SumInsured", "PolicyPeriod"]] = 0.001; -#' -#' # The same structure using the setCost() function: -#' library(magrittr) -#' costs.Bsp = initializeCosts() %>% -#' setCost("alpha", "SumPremiums", "once", 0.04) %>% -#' setCost("Zillmer", "SumPremiums", "once", 0.025) %>% -#' setCost("beta", "GrossPremium", "PremiumPeriod", 0.05) %>% -#' setCost("gamma", "SumInsured", "PolicyPeriod", 0.001) -#' -#' -#' -#' -#' @export -initializeCosts = function(costs, alpha, Zillmer, alpha.commission, beta, gamma, gamma.paidUp, gamma.premiumfree, gamma.contract, gamma.afterdeath, gamma.fullcontract, unitcosts, unitcosts.PolicyPeriod) { - if (missing(costs)) { - dimnm = list( - type = c("alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums", "unitcosts"), - basis = c("SumInsured", "SumPremiums", "GrossPremium", "NetPremium", "Benefits", "Constant", "Reserve"), - frequency = c("once", "PremiumPeriod", "PremiumFree", "PolicyPeriod", "AfterDeath", "FullContract", "CommissionPeriod") - ); - costs = array( - 0, - dim = sapply(dimnm, length), - dimnames = dimnm - ); - } - if (!missing(alpha)) { - costs = setCost(costs, "alpha", "SumPremiums", "once", alpha) - } - if (!missing(alpha.commission)) { - costs = setCost(costs, "alpha", "SumPremiums", "CommissionPeriod", alpha.commission) - costs = setCost(costs, "Zillmer", "SumPremiums", "CommissionPeriod", alpha.commission) - } - if (!missing(Zillmer)) { - costs = setCost(costs, "Zillmer","SumPremiums", "once", Zillmer) - } - if (!missing(beta)) { - costs = setCost(costs, "beta", "GrossPremium", "PremiumPeriod", beta) - } - if (!missing(gamma)) { - costs = setCost(costs, "gamma", "SumInsured", "PremiumPeriod", gamma) - } - if (!missing(gamma.premiumfree)) { - costs = setCost(costs, "gamma", "SumInsured", "PremiumFree", gamma.premiumfree) - } - if (!missing(gamma.paidUp)) { - costs = setCost(costs, "gamma_nopremiums", "SumInsured", "PolicyPeriod", gamma.paidUp) - } - if (!missing(gamma.contract)) { - costs = setCost(costs, "gamma", "SumInsured", "PolicyPeriod", gamma.contract) - # costs = setCost(costs, "gamma_nopremiums", "SumInsured", "PolicyPeriod", gamma.contract) - } - if (!missing(gamma.afterdeath)) { - costs = setCost(costs, "gamma", "SumInsured", "AfterDeath", gamma.afterdeath) - costs = setCost(costs, "gamma_nopremiums", "SumInsured", "AfterDeath", gamma.afterdeath) - } - if (!missing(gamma.fullcontract)) { - costs = setCost(costs, "gamma", "SumInsured", "FullContract", gamma.fullcontract) - costs = setCost(costs, "gamma_nopremiums", "SumInsured", "FullContract", gamma.fullcontract) - } - if (!missing(unitcosts)) { - costs = setCost(costs, "unitcosts", "Constant", "PremiumPeriod", unitcosts) - } - if (!missing(unitcosts.PolicyPeriod)) { - costs = setCost(costs, "unitcosts", "Constant", "PolicyPeriod", unitcosts.PolicyPeriod) - } - costs -} - -#' Helper function to define base costs with base alpha, but otherwise unchanged costs -#' -#' Returns a function that sets base alpha (and Zillmer) costs to the given value, -#' but otherwise uses the full costs defined by the Costs parameter. -#' -#' This function can be set as minCosts parameter for a tariff and makes sure -#' that only alpha costs are modified / waived, but no other costs. -#' -#' @param alpha The minimum alpha / Zillmer cost that cannot be waived -#' -#' @export -costs.baseAlpha = function(alpha) { - function(params, values, costs) { - costs = setCost(costs, "alpha", "SumPremiums", "once", alpha) - if (costs["Zillmer", "SumPremiums", "once"] != 0) { - costs = setCost(costs, "Zillmer", "SumPremiums", "once", alpha) - } - costs - } -} - -#' Helper function to modify alpha costs of an insurance contract individually -#' -#' Returns a function that modifies alpha (and Zillmer) costs by the given scale, -#' but otherwise uses the full costs defined by the Costs parameter. -#' -#' This function can be set as adjustCosts or adjustMinCosts hook parameters -#' for a tariff or contract and can be used to apply cost adjustments on a -#' per-contract basis. -#' -#' @param scale The scale for alpha / Zillmer cost -#' -#' @export -costs.scaleAlpha = function(scale) { - function(costs, ...) { - costs[c("alpha", "Zillmer"),,] = costs[c("alpha", "Zillmer"),,] * scale - costs - } -} - - -#' Helper function to display all cost definitions in a concise table -#' -#' Returns a data.frame with columns -#' -#' @param costs The cost structure to be displayed in a concise table style. -#' @export -costsDisplayTable = function(costs) { - costtable = as.data.frame.table(setInsuranceValuesLabels(costs) ) - colnames(costtable) = c("Kostenart", "Basis", "Periode", "Kostensatz"); - costtable[costtable[,"Kostensatz"] != 0.0000,] -} - - - - -#' Data structure (filled only with NULL) for insurance contract class member values. -#' @export -InsuranceContract.Values = list( - basicData = NULL, - transitionProbabilities = NULL, - - cashFlowsBasic = NULL, - cashFlows = NULL, - cashFlowsCosts = NULL, - unitPremiumSum = 0, - - presentValues = NULL, - presentValuesCosts = NULL, - - premiumCoefficients = NULL, - premiums = NULL, - absCashFlows = NULL, - absPresentValues = NULL, - - reserves = NULL, - reservesBalanceSheet = NULL, - - premiumComposition = NULL, - - profitParticipation = list() -); - -# InsuranceContract.ParameterDefaults ####################################### -# -#' Default parameters for the InsuranceContract class. -#' -#' A new contract will be -#' pre-filled with these values, and values passed in the constructor (or with -#' other setter functions) will override these values. -#' -#' @format The parameter list is a list of lists with the following structure: -#' -#' Sublists: -#' \itemize{ -#' \item \code{$ContractData} ... Contract-specific data (policy period, -#' closing, age, sum insured, premium payments, etc.) -#' \item \code{$ContractState} ... Current contract state (paid-up, surrender -#' penalty already applied, alpha costs already (partially) refunded) -#' \item \code{$ActuarialBases} ... Actuarial bases for the contract -#' calculation (mortality/invalidity table, guaranteed interest, -#' surrender penalty, etc.) -#' \item \code{$Costs}, \code{$minCosts} ... Expenses charged to the contract (see [initializeCosts()]) -#' \item \code{$Loadings} ... Loadings, rebates and other charges of the -#' tariff / contract (tax, unit costs, surcharge for no medial exam, premium/benefit frequency loading) -#' \item \code{$Features} ... Peculiarities of the tariff (to enable -#' non-standard formulas for certain company-specific historical -#' "glitches" in the tariff definitions.) -#' \item \code{$ProfitParticipation} ... Profit scheme and profit participation -#' rates (default values, can be overwritten per profit scenario) -#' \item \code{$Hooks} ... Hook functions to allow modification of various -#' calculation aspects (e.g. modify the default cash flows after -#' their setup) -#' } -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$ContractData} -#' -#' These values are typically set per contract and not by the tariff. Notable -#' exceptions are the contract duration in some instances and the premiumPeriod=1 -#' for single-premium contracts. -#' -#' \describe{ -#' \item{\code{$id}}{ID of the contract (to distinguish individual parts in -#' contracts with multiple parts, e.g. dynamic increases), -#' default = "Hauptvertrag"} -#' \item{\code{$sumInsured}}{Sum insured, default = 100,000} -#' \item{\code{$premium}}{Premium, given to determine the sumInsured (default: NULL)} -#' \item{\code{$initialCapital}}{Reserve/Capital that is already available -#' at contract inception, e.g. from a previous contract. No tax -#' or acquisition costs are applied to this capital.} -#' \item{\code{$YOB (deprecated)}}{Year of birth of the insured, used to determine the -#' age for the application of the mortality table} -#' \item{\code{$birthDate}}{Date of birth of the insured, used to determine the -#' age for the application of the mortality table. Alternatively, -#' the year alone can be passed as \code{YOB}.} -#' \item{\code{$age}}{Age of the insured} -#' \item{\code{$technicalAge}}{Technical age of the insured (when the age -#' for the application of the mortality table does not coincide -#' with the real age)} -#' \item{\code{$ageDifferences}}{Vector of age differences to the first -#' insured for contracts with multiple insured (i.e. joint-lives)} -#' \item{\code{$sex}}{Sex of the insured, to allow gender-specific prixing -#' (e.g. different mortalities or age modification), default="unisex", -#' Type is [SexEnum]} -#' \item{\code{$policyPeriod}}{Policy Duration (in years)} -#' \item{\code{$premiumPeriod}}{Premium payment period (in year), for -#' single-premium contracts, \code{premiumPeriod = 1}. Default is -#' \code{policyPeriod}, i.e. regular premiums during the whole -#' contract period} -#' \item{\code{$deferralPeriod}}{deferral period for annuities, i.e. the -#' period survival payments start only after this period, typically -#' the retirement age. This applies mostly to tariffs of type -#' annuity, although deferral periods are possible (but not common) -#' for all other types of insurance, too.} -#' \item{\code{$guaranteedPeriod}}{guaranteed annuity payment period. The -#' annuity pays out for this period, even if the insured dies. -#' This applies only to tariffs of type annuity.} -#' \item{\code{$contractClosing}}{The date (variable of type [Date]) when -#' the coverage of the contract starts (not neccessarily equal to -#' the date when the contract was signed). Typically generated by -#' a call to [as.Date()]. The year is relevant to derive the age -#' of the insured, while month and day are relevant for the -#' interpolation of the balance sheet reserves} -#' \item{\code{$blockStart}}{For contracts with multiple blocks (e.g. -#' multiple dynamic increases, where each increase is modelled -#' like a separate contract), this variable holds the offset of -#' the current contract block relative to the main contract block. -#' The main block starts a 0, dynamic increases start later! This -#' value is only used by the parent block (i.e. $t=0$ of the child -#' is aligned with $t=blockStart$ of the parent block.} -#' \item{\code{$premiumPayments}}{Whether premiums are paid in advance -#' (default) or arrears. Value is of type [PaymentTimeEnum] -#' with possible values "in advance" and "in arrears"} -#' \item{\code{$benefitPayments}}{Whether recurring benefits (e.g. annuities) -#' are paid in advance (default) or arrears. Value is of type -#' [PaymentTimeEnum] with possible values "in advance" and -#' "in arrears"} -#' \item{\code{$premiumFrequency}}{Number of premium payments per year, default is 1.} -#' \item{\code{$benefitFrequency}}{Number of benefit payments per year, default is 1.} -#' \item{\code{$premiumRefund}}{Proportion of (gross) premiums refunded on -#' death (including additional risk, e.g. 1.10 = 110% of paid premiums)} -#' \item{\code{$premiumRefundPeriod}}{The period, during which the premium -#' refund on death applies. By default, deferred contracts will -#' refund premiums only during the deferral period, all other -#' contracts during the whole contract. Default is -#' \code{premiumRefundPeriod.default}} -#' \item{\code{$premiumIncrease}}{The yearly growth factor of the premium, -#' i.e. 1.05 means +5% increase each year; a vector describes the -#' premiums for all years} -#' \item{\code{$annuityIncrease}}{The yearly growth factor of the annuity -#' payments, i.e. 1.05 means +5% increase each year; a vector -#' describes the annuity unit payments for all years} -#' \item{\code{$deathBenefit}}{The yearly relative death benefit (relative -#' to the initial sum insured); Can be set to a \code{function(len, -#' params, values)}, e.g. \code{deathBenefit = deathBenefit.linearDecreasing}} -#' \item{\code{$benefitParameter}}{(optional) Tariff-specific parameter to -#' indicate special benefit conditions (e.g. for non-constant benefits -#' the initial starting value, or a minimum benefit, etc.). This -#' parameter is not used automatically, but needs to be processed -#' by a custom \code{$deathBenefit} function.} -#' -#' \item{\code{$costWaiver}}{The fraction of the costs that are waived (only -#' those cost components that are defined to be waivable, i.e. by -#' defining a corresponding \code{$minCosts}). Linearly interpolates -#' between \code{$Costs} and \code{$minCosts}, if the latter is set. -#' Otherwise is has no effect.} -#' \item{\code{$attributes}}{Additional custom attributes (as a named list), -#' which can be used for particular behaviour of different contracts -#' or contract slices.} -#' } -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$ContractState} -#' -#' Contract-specific status variables holding the status of the contract. -#' -#' \describe{ -#' \item{\code{$premiumWaiver}}{Whether the contract is paid-up.} -#' \item{\code{$surrenderPenalty}}{Whether a surrender penalty still applies -#' (e.g. because it has already been applied during a contract change, -#' or because due to legal reasons it can no longer be applied)} -#' \item{\code{$alphaRefunded}}{Whether alpha costs have (at least partially) -#' been refunded (e.g. when a contract is changed or paid-up). Default -#' is not yet refunded.} -#' } -#' -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$ActuarialBases} -#' -#' Tarif-specific actuarial calculation parameters of the contract. Typically, -#' these values are set by the tariff, but can be overridden by contract (e.g. -#' while prototyping a new product or a product change). -#' -#' \describe{ -#' \item{\code{$mortalityTable}}{The [mortalityTable] object describing the -#' mortality of the insured} -#' \item{\code{$invalidityTable}}{For contracts with invalidity benefits, -#' the [mortalityTable] object describing the probabilities of -#' invalidity} -#' \item{\code{$invalidityEndsContract}}{For contracts with invalidity -#' benefits, whether a payment of an invalidity benefit ends the -#' contract.} -#' \item{\code{$i}}{Guaranteed yearly interest rate, default is 0.00, i.e. 0%} -#' \item{\code{$balanceSheetDate}}{The day/month when balance sheet reserves -#' are calculated. Value of type [Date], typically generated with -#' [as.Date()]. The year is actually irrelevant, only the day and -#' month are relevant.} -#' \item{\code{$balanceSheetMethod}}{How to interpolate the balance sheet -#' reserves (at the balandeSheetDate) from the yearly contractual -#' reserves. Either a string "30/360", "act/act", "act/360", "act/365" -#' or a function with signature \code{balanceSheetMethod(params, contractDates, balanceDates)} -#' that returns a vector of coefficients for each year to -#' interpolate the reserves available at the given \code{contractDates} -#' for the desired \code{balanceDates}} -#' \item{\code{$unearnedPremiumsMethod}}{How to calculate the unearned -#' premiums (considering the balance sheet date and the premium -#' frequency). A function with signature \code{unearnedPremiumsMethod(params, dates)}} -#' \item{\code{$surrenderValueCalculation}}{A function describing the surrender -#' value calculation. If NULL, the full reserve will be used as -#' surrender value. If given, it must be a function with signature -#' \code{function(SurrenderReserve, params, values)}.} -#' \item{\code{$premiumWaiverValueCalculation}}{A function describing the -#' reserve used to derive the premium-free sum insured. If NULL, -#' the surrender value will be used. If given, it must be a function -#' with signature \code{function(SurrenderReserve, params, values)}} -#' \item{\code{$premiumFrequencyOrder}}{Order of the approximation for -#' payments within the year (unless an extra frequency loading is -#' used => then leave this at 0)} -#' \item{\code{$benefitFrequencyOrder}}{Order of the approximation for -#' payments within the year (unless an extra frequency loading is -#' used => then leave this at 0)} -#' } -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$Costs} -#' -#' Definition of contractual costs charged to the contract. See [initializeCosts()]. -#' -#' \describe{ -#' \item{\code{$Costs}}{The full cost defined for the contract / tariff, -#' usually set with [initializeCosts()] and [setCost()]} -#' \item{\code{$minCosts}}{The minimum costs defined for the contract / tariff -#' that cannot be waived. Either an explicit cost definition structure -#' generated by [initializeCosts()] and [setCost()], or a -#' `function(params, values, costs)`, where the full costs are passed -#' as third parameter, so the function can modify only those cost parts -#' that can be waived at all. } -#' } -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$Loadings} -#' -#' \describe{ -#' \item{\code{$ongoingAlphaGrossPremium}}{Acquisition cost that increase the gross premium} -#' \item{\code{$tax}}{insurance tax, factor on each premium paid, default is 4%, i.e. \code{i=0.04}} -#' \item{\code{$unitcosts}}{Annual unit cost for each policy, absolute value (can be a function)} -#' \item{\code{$security}}{Additional security loading on all benefit payments, factor on all benefits} -#' \item{\code{$noMedicalExam}}{Loading when no medicial exam is done, % of SumInsured} -#' \item{\code{$noMedicalExamRelative}}{Loading when no medicial exam is done, % of gross premium} -#' \item{\code{$sumRebate}}{gross premium reduction for large premiums, % of SumInsured} -#' \item{\code{$extraRebate}}{gross premium reduction for any reason, % of SumInsured} -#' \item{\code{$premiumRebate}}{gross premium reduction for large premiums, % of gross premium} -#' \item{\code{$partnerRebate}}{Rebate on premium with all surcharges and -#' rebates when more than one contract is written with identical -#' parameters. Sums with advanceBonusInclUnitCost and premiumRebate.} -#' \item{\code{$extraChargeGrossPremium}}{extra charges on gross premium -#' (smoker, leisure activities, BMI too high, etc.)} -#' \item{\code{$benefitFrequencyLoading}}{Loading on the benefit for premium -#' payment frequencies of more than once a year. Format is -#' \code{list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0)}} -#' \item{\code{$premiumFrequencyLoading}}{Loading on the premium for premium -#' payment frequencies of more than once a year. Format is -#' \code{list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0)}} -#' \item{\code{$alphaRefundPeriod}}{How long the acquisition costs should be -#' (partially) refunded in case of surrender or premium waiver.} -#' \item{\code{$commissionPeriod}}{Period, over which the acquisition costs -#' are charged to the contract (if not fully up-front or over the -#' whole contract period). This has only an effect for cost definitions -#' with duration "CommissionPeriod". Default is 5 years.} -#' } -#' -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$Features} -#' -#' \describe{ -#' \item{\code{$zillmering}}{Whether the contract uses Zillmering (and bases -#' reserves on the Zillmer reserve as opposed to the adequate -#' reserve) (default: TRUE)} -#' \item{\code{$betaGammaInZillmer}}{Whether beta and gamma-costs should be -#' included in the Zillmer premium calculation} -#' \item{\code{$alphaRefundLinear}}{Whether the refund of alpha-costs on -#' surrender is linear in t or follows the NPV of an annuity} -#' \item{\code{$useUnearnedPremiums}}{Whether unearned premiums should be -#' reported in the balance sheet reserves. Otherwise, a premium -#' paid at the beginning of the period is added to the reserve at -#' that time for balance-sheet purposes. -#' For regular premiums, the default is TRUE, i.e. the balance-sheet -#' reserve at time $t$ does not include the premium paid at time -#' $t$, but unearned premiums are included in the balance sheet -#' reserves. For single-premium contracts, there are no "unearned" -#' premiums, but the initial single premium is added to the reserve -#' immediately for balance-sheet purposes. In particular, the -#' balance sheet reserve at time $t=0$ is not 0, but the -#' premium paid. In turn, no unearned premiums are applied.} -#' \item{\code{$surrenderIncludesCostsReserves}}{Whether (administration) -#' cost reserves are paid out on surrender (i.e. included in the -#' surrender value before surrender penalties are applied)} -#' \item{\code{$unitcostsInGross}}{Whether unit costs are included in the -#' gross premium calculation or added after gross premiums. (default: FALSE)} -#' \item{\code{$absPremiumRefund}}{Constant death benefit (typically premium -#' refund of a previous contract), relative to the sum insured.} -#' \item{\code{$alphaCostsCommission}}{Whether alpha costs over the commision -#' period are given as their actual yearly value ("actual"), or -#' whether the given value is the sum ("sum") or the present value -#' ("presentvalue") over the whole commission period.} -#' } -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$ProfitParticipation} -#' -#' Parameters describing the profit participation (instance of [ProfitParticipation]) -#' Most element descrive some kind of profit rate (which can vary in time), -#' while the bases, on which they are applied is defined in the profit scheme. -#' -#' \describe{ -#' \item{\code{$advanceProfitParticipation}}{Advance profit participation -#' rate (percentage rebate of the gross premium)} -#' \item{\code{$advanceProfitParticipationInclUnitCost}}{Advance profit -#' participation rate (percentage rebate on the gross premium after all surcharges and unit costs.} -#' \item{\code{$waitingPeriod}}{Waiting period of the profit sharing (e.g. -#' no profit in the first two years of a contract, or similar)} -#' \item{\code{$guaranteedInterest}}{Individual contract-specific overrides -#' of the guaranteed interest rate (i.e. not keyed by year)} -#' \item{\code{$interestProfitRate}}{Interest profit rate (guaranteed interest -#' rate + interest profit rate = total credited rate)} -#' \item{\code{$totalInterest}}{Total credited rate (guarantee + interest profit)} -#' \item{\code{$mortalityProfitRate}}{Mortality Profit rate} -#' \item{\code{$expenseProfitRate}}{Expense profit rate} -#' \item{\code{$sumProfitRate}}{Sum profit rate (for high sumInsured)} -#' \item{\code{$terminalBonusRate}}{Terminal bonus rate (non-terminal-bonus -#' fund, but "old" Austrian terminal bonus)} -#' \item{\code{$terminalBonusFundRate}}{Terminal bonus fund rate} -#' \item{\code{$profitParticipationScheme}}{Profit participation scheme (object of class [ProfitParticipation])} -#' \item{\code{$profitComponents}}{Profit components of the profit scheme. List containing one or more of \code{c("interest", "risk", "expense", "sum", "terminal")}} -#' \item{\code{$profitClass}}{String describing the profit class the tariff -#' is assigned to. Profit classes are used to bundle similar -#' contracts (e.g. following similar risks) together. Profit -#' participation rates are defined at the level of profit classes.} -#' \item{\code{$profitRates}}{General, company-wide profit rates, key columns are year and profitClass} -#' \item{\code{$scenarios}}{profit participation scenarios (list of overridden parameters for each scenario)} -#' } -#' -#' ## Elements of sublist \code{InsuranceContract.ParameterDefault$Hooks} -#' -#' \describe{ -#' \item{\code{$adjustCashFlows}}{Function with signature \code{function(x, params, values, ...)} to adjust the benefit/premium cash flows after their setup.} -#' \item{\code{$adjustCashFlowsCosts}}{Function with signature \code{function(x, params, values, ...)} to adjust the costs cash flows after their setup.} -#' \item{\code{$adjustCosts}}{Function with signature \code{function(costs, params, values, ...)} to adjust the tariff costs after their setup (e.g. contract-specific conditions/waivers, etc.).} -#' \item{\code{$adjustMinCosts}}{Function with signature \code{function(minCosts, costs, params, values, ...)} to adjust the tariff minimum (unwaivable) costs after their setup (e.g. contract-specific conditions/waivers, etc.).} -#' \item{\code{$adjustPresentValues}}{Adjust the present value vectors that are later used to derive premiums and reserves. \code{function(presentValues, params, values)}} -#' \item{\code{$adjustPresentValuesCosts}}{Adjust the present value cost vectors used to derive premiums and reserves. \code{function(presentValuesCosts, params, values)}} -#' \item{\code{$adjustPremiumCoefficients}}{Function with signature \code{function(coeff, type, premiums, params, values, premiumCalculationTime)} to adjust the coefficients for premium calculation after their default setup. Use cases are e.g. term-fix tariffs where the Zillmer premium term contains the administration cost over the whole contract, but not other gamma- or beta-costs.} -#' \item{\code{$adjustPremiums}}{Adjust the resulting premiums. \code{function(premiums = list(premiums, coefficients, sumInsured), params, values)}} -#' \item{\code{$adjustPVForReserves}}{Adjust the absolute present value vectors used to derive reserves (e.g. when a sum rebate is subtracted from the gamma-cost reserves without influencing the premium calculation). \code{function(absPV, params, values)}} -#' \item{\code{$premiumRebateCalculation}}{Calculate the actual premium rebate from the rebate rate (e.g. when the premium rate is given as a yearly cost reduction applied to a single-premium contract). \code{function(premiumRebateRate, params = params, values = values)}} -#' } -#' -#' -#' @examples -#' InsuranceContract.ParameterDefaults -#' @export -InsuranceContract.ParameterDefaults = list( - ContractData = list( - id = "Hauptvertrag", - sumInsured = NULL, - premium = NULL, - birthDate = NULL, - YOB = NULL, - age = NULL, - technicalAge = NULL, - ageDifferences = NULL, # Age differences of all other insured relative to the first one, for joint live insurances - sex = "unisex", # Sex, to allow gender-sepecific pricing (e.g. different mortalities or age modification) - policyPeriod = 25, # total policy duration (including deferral period, guaranteed annuity payments etd.) - premiumPeriod = NULL, # Default: policyPeriod, unless explicitly overridden - deferralPeriod = 0, # deferral period for annuities - guaranteedPeriod = 0, # guaranteed payments for annuities - contractClosing = NULL, # Contract closing date (day/month is relevant for balance sheet reserves) - initialCapital = 0, - blockStart = 0, # When the current tariff block starts (main block starts a 0, dynamic increases start later!), only used by the parent block (i.e. t=0 of child is aligned with t=blockStart of parent) - - premiumPayments = "in advance", # premium payments in advance or arrears - benefitPayments = "in advance", # benefit payments in advance or arrears (annuities!) - - premiumFrequency = 1, # number of premium payments per year - benefitFrequency = 1, # number of benefit payments per year (for annuities) or death benefit at the end of every 1/k-th year - - premiumRefund = 0, # Proportion of premiums refunded on death (including additional risk, e.g. 1.10 = 110% of paid premiums) - premiumRefundPeriod = premiumRefundPeriod.default, # The time period, during which the premium refund upon death will be paid (default: deferral period, otherwise whole contract) - premiumIncrease = 1, # The yearly growth factor of the premium, i.e. 1.05 means +5% increase each year; a Vector describes the premiums for all years - annuityIncrease = 1, # The yearly growth factor of the annuity payments, i.e. 1.05 means +5% incrase each year; a vector describes the annuity unit payments for all years - deathBenefit = 1, # The yearly relative death benefit (relative to the initial sum insured); Can be fixed, e.g. 0.5 for 50% death cover, or set to a function(len, params, values) like deathBenefit = deathBenefit.linearDecreasing - benefitParameter = NULL, # Tariff-Specific additional parameter to define custom benefits (e.g. a minimum death benefit quota, an initial ) - - costWaiver = 0, # The cost waiver (up to minCosts, 0=no cost waiver, 1=full cost waiver down to minCosts) - attributes = list() # List of additional attributes with custom meaning (not standardized, but can be used by any tariff to implement custom behavior for certain contracts or slices) - ), - ContractState = list( - premiumWaiver = FALSE, # contract is paid-up - surrenderPenalty = TRUE, # Set to FALSE after the surrender penalty has been applied once, e.g. on a premium waiver - alphaRefunded = FALSE # Alpha costs not yet refunded (in case of contract changes) - ), - ActuarialBases = list( - mortalityTable = NULL, - invalidityTable = NULL, - invalidityEndsContract = TRUE, # Whether a claim for disease ends the contract or not - i = 0.00, # guaranteed interest rate - balanceSheetDate = as.Date("1900-12-31"), # Balance sheet date (for the calculation of the balance sheet reserves, year is irrelevant) - balanceSheetMethod = "30/360", - unearnedPremiumsMethod = NULL, # Function to calculate the factors for unearned premiums - surrenderValueCalculation = NULL, # By default no surrender penalties - premiumWaiverValueCalculation = NULL, # By default, surrender value will be used - - premiumFrequencyOrder = function(params, ...) { if (is.null(params$Loadings$premiumFrequencyLoading)) 0 else -1}, # Order of the approximation for payments within the year (unless an extra frequency loading is used => then leave this at 0) - benefitFrequencyOrder = function(params, ...) { if (is.null(params$Loadings$benefitFrequencyLoading)) 0 else -1} - ), - Costs = initializeCosts(), - minCosts = NULL, # Base costs, which cannot be waived - Loadings = list( # Loadings can also be function(sumInsured, premiums) - ongoingAlphaGrossPremium = 0, # Acquisition cost that increase the gross premium - tax = 0.04, # insurance tax, factor on each premium paid - unitcosts = 0, # Annual unit cost for each policy, absolute value (can be a function) - security = 0, # Additional security loading on all benefit payments, factor on all benefits - noMedicalExam = 0, # Loading when no medicial exam is done, % of SumInsured - noMedicalExamRelative = 0, # Loading when no medicial exam is done, % of gross premium - sumRebate = 0, # gross premium reduction for large premiums, % of SumInsured - extraRebate = 0, # gross premium reduction for any reason, % of SumInsured - premiumRebate = 0, # gross premium reduction for large premiums, % of gross premium # TODO - partnerRebate = 0, # Partner rabate on premium (including loading and other rebates) if more than one similar contract is concluded - extraChargeGrossPremium = 0, # extra charges on gross premium (smoker, leisure activities, BMI too high, etc.) - benefitFrequencyLoading = NULL, # TODO: Properly implement this as a function - premiumFrequencyLoading = NULL, # TODO: Properly implement this as a function - alphaRefundPeriod = 5, # How long acquisition costs should be refunded in case of surrender - commissionPeriod = 5 - ), - Features = list( # Special cases for the calculations - zillmering = TRUE, # Whether the contract uses Zillmering (and bases reserves on the Zillmer reserve as opposed to the adequate reserve) - betaGammaInZillmer = FALSE, # Whether beta and gamma-costs should be included in the Zillmer premium calculation - alphaRefundLinear = TRUE, # Whether the refund of alpha-costs on surrender is linear in t or follows the NPV of an annuity - useUnearnedPremiums = isRegularPremiumContract, # Whether unearned premiums should be calculated in the balance sheet reserves. Otherwise, a premium paid at the beginning of the period is added to the reserve for balance-sheet purposes. - surrenderIncludesCostsReserves = TRUE, # Whether (administration) cost reserves are paid out on surrender (i.e. included in the surrender value before surrender penalties are applied) - unitcostsInGross = FALSE, - absPremiumRefund = 0, # Constant death benefit (irrespective of the type of contract), typically a premium refund for a previous contract - alphaCostsCommission = "actual" # Whether alpha costs over the commision period are given as their actual yearly value ("actual"), or whether the given value is the sum ("sum") or the present value ("presentvalue") over the whole commission period - ), - - ProfitParticipation = list( - advanceProfitParticipation = 0, # advance profit participation (percentage of gross premium) - advanceProfitParticipationInclUnitCost = 0, # advance profit participation (percentage of premium including unit cost and all charges and rebates) - - waitingPeriod = NULL, - - guaranteedInterest = NULL, # Individual contract-specific overrides (i.e. not keyed by year) - interestProfitRate = NULL, - totalInterest = NULL, - mortalityProfitRate = NULL, - expenseProfitRate = NULL, - sumProfitRate = NULL, - terminalBonusRate = NULL, - terminalBonusFundRate = NULL, - - profitParticipationScheme = NULL, # Gewinnbeteiligungssystem (object of class Profit Participation) - profitComponents = c(), # Potential values: "interest", "risk", "expense", "sum", "terminal", "TBF" - profitClass = NULL, - profitRates = NULL, # General, company-wide profit rates, key columns are year and profitClass - - scenarios = list() # profit participation scenarios (list of overridden parameters for each scenario) - ), - - Hooks = list( - # Functions with signature function(x, params, values, ...), default NULL is equivalent to function(x, ...) {x} - adjustCashFlows = NULL, - adjustCashFlowsCosts = NULL, - adjustCosts = NULL, - adjustMinCosts = NULL, - adjustPresentValues = NULL, # function(presentValues, params, values) - adjustPresentValuesCosts = NULL, # function(presentValuesCosts, params, values) - adjustPremiumCoefficients = NULL, # function(coeff, type = type, premiums = premiums, params = params, values = values, premiumCalculationTime = premiumCalculationTime) - adjustPremiums = NULL, # function(premiums = list(premiums, coefficients, sumInsured), params, values) - adjustPVForReserves = NULL, # function(absPresentValues, params, values) - premiumRebateCalculation = NULL # function(premiumRebateRate, params = params, values = values) - ) -); - - -#' Full insurance contract parameter structure. -#' -#' All values are filled with NULL, -#' so the functions \code{\link{InsuranceContract.ParametersFill}} and -#' \code{\link{InsuranceContract.ParametersFallback}} can be used to override -#' existing parameters or to provide default values for unset (NULL) entries. -#' -#' @export -InsuranceContract.ParameterStructure = rapply(InsuranceContract.ParameterDefaults, function(x) NULL, how = "replace") -InsuranceContract.ParameterStructure$Loadings["benefitFrequencyLoading"] = list(NULL) -InsuranceContract.ParameterStructure$Loadings["premiumFrequencyLoading"] = list(NULL) - - -#' Initialize the insurance contract parameters from passed arguments -#' -#' Initialize the insurance contract parameters from the passed -#' arguments. Arguments not given are left unchanged. If no existing parameter -#' structure is given, an empty (i.e. all NULL entries) structure is used. -#' -#' @param params Initial values of the insurance contract parameters. (default: empty parameter structure) -#' @param costs,minCosts,... Values for any of the entries in the insurance contract -#' parameter structure. These values take precedence over the -#' initial parameters provided in \code{params}. -#' -#' @export -InsuranceContract.ParametersFill = function(params = InsuranceContract.ParameterStructure, costs = NULL, minCosts = NULL, ...) { - # params = InsuranceContract.ParameterStructure; - params$ContractData = fillFields(params$ContractData, list(...)); - params$ContractState = fillFields(params$ContractState, list(...)); - params$ActuarialBases = fillFields(params$ActuarialBases, list(...)); - params$Loadings = fillFields(params$Loadings, list(...)); - params$Features = fillFields(params$Features, list(...)); - params$ProfitParticipation = fillFields(params$ProfitParticipation, list(...)); - params$Hooks = fillFields(params$Hooks, list(...)) - - # Costs are a special case, because they are an array rather than a list: - # TODO: Find a way to partially override - if (!missing(costs)) params$Costs = costs; - if (!missing(minCosts)) params$minCosts = minCosts; - params -} - -#' Use fallback values for missing contract parameters -#' -#' Provide default values for the insurance contract parameters if any of the -#' parameters is not explicitly set. -#' -#' @param params Current, explicitly set contract parameters. All NULL values -#' will be filled with the corresponding entry from \code{fallback}. -#' @param fallback Fallback values that will be used when the corresponding -#' entry in \code{params} is NULL. -#' @param ppParameters Whether profit participation parameters should also be -#' filled (default is TRUE) -#' -#' @export -InsuranceContract.ParametersFallback = function(params, fallback, ppParameters = TRUE) { - # params = InsuranceContract.ParameterStructure; - params$ContractData = fallbackFields(params$ContractData, fallback$ContractData); - params$ContractState = fallbackFields(params$ContractState, fallback$ContractState); - params$ActuarialBases = fallbackFields(params$ActuarialBases, fallback$ActuarialBases); - params$Loadings = fallbackFields(params$Loadings, fallback$Loadings); - params$Features = fallbackFields(params$Features, fallback$Features); - if (ppParameters) { - params$ProfitParticipation = fallbackFields(params$ProfitParticipation, fallback$ProfitParticipation); - } - params$Hooks = fallbackFields(params$Hooks, fallback$Hooks); - - # Costs are a special case, because they are an array rather than a list: - # TODO: Find a way to partially fall back - if (is.null(params$Costs)) { - # Fallback can either be a full - if (!is.null(fallback$costs)) { - params$Costs = fallback$costs; - } else { - params$Costs = fallback$Costs; - } - } - if (is.null(params$minCosts)) { - params$minCosts = fallback$minCosts; - } - params -} - - diff --git a/R/InsuranceTarif.R b/R/InsuranceTarif.R deleted file mode 100644 index aa5de30..0000000 --- a/R/InsuranceTarif.R +++ /dev/null @@ -1,1764 +0,0 @@ -#' @include HelperFunctions.R InsuranceParameters.R ProfitParticipation.R -#' -#' @import MortalityTables -#' @import R6 -#' @importFrom lubridate year month years days year<- -#' @importFrom objectProperties setSingleEnum -NULL - -#' An enum specifying the main characteristics of the tarif. -#' -#' @description Possible values are: -#' \describe{ -#' \item{annuity}{Whole life or term annuity (periodic survival benefits) -#' with flexible payouts (constand, increasing, decreasing, arbitrary, -#' etc.)} -#' \item{wholelife}{A whole or term life insurance with only death benefits. -#' The benefit can be constant, increasing, decreasing, described by -#' a function, etc.} -#' \item{endowment}{An endowment with death and survival benefits, -#' potentially with different benefits.} -#' \item{pureendowment}{A pure endowment with only a survival benefit at -#' the end of the contract. Optionally, in case of death, all or part -#' of the premiums paid may be refunded.} -#' \item{terme-fix}{A terme-fix insurance with a fixed payout at the end -#' of the contract, even if the insured dies before that time. -#' Premiums are paid until death of the insured.} -#' \item{dread-disease}{A dread-disease insurance, which pays in case of -#' a severe illness (typically heart attacks, cancer, strokes, etc.), -#' but not in case of death.} -#' \item{endowment + dread-disease}{A combination of an endowment and a -#' temporary dread-disease insurance. Benefits occur either on death, -#' severe illness or survival, whichever comes first.} -#' } -#' @export -TariffTypeEnum = objectProperties::setSingleEnum( - "TariffType", - levels = c( - "annuity", - "wholelife", - "endowment", - "pureendowment", - "terme-fix", - "dread-disease", - "endowment + dread-disease" - )) -setValidity("TariffTypeSingleEnum", function(object) { - if (length(object) != 1L) { - "Only one tariff type can be given" - } else if (!object %in% levels(object)) { - paste("Tarif type '", object, "' does not exist. Valid tariff types are:", - paste0("\n('", paste0(levels(object), collapse = "', '"), - "')"), sep = "") - } -}); - - -############# Class InsuranceTarif ########################################### -#' Base class for traditional Insurance Tarifs (with fixed guarantee, profit -#' sharing and no unit-linked component) -#' -#' @description The class \code{InsuranceTarif} provides the code and general -#' framework to implement contract-independent functionality of a life insurance -#' product. -#' -#' @details This is a base class for holding contract-independent values and -#' providing methods to calculate cash flows, premiums, etc. Objects of this -#' class do NOT contain contract-specific values like age, death probabilities, -#' premiums, reserves, etc. Rather, they are the calculation kernels that will -#' be called by the \code{\link{InsuranceContract}} objects to make the actual, -#' tariff-specific calculations. -#' -#' Most methods of this class are not meant to be called manually, but are supposed -#' to be called by the InsuranceContract object with contract-specific information. -#' The only methods that are typically used for defining an insurance tariff are -#' the constructor \href{#method-new}{\code{InsuranceTarif$new()}} and the cloning method -#' \href{#method-createModification}{\code{InsuranceTarif$createModification()}}. -#' All other methods should never be called manually. -#' -#' However, as overriding private methods is not possible in an R6 class, all the -#' methods need to be public to allow overriding them in derived classes. -#' -# # Parameters for the constructors -#' @param name The unique name / ID of the tariff -#' @param type An enum specifying the main characteristics of the tarif. See [TariffTypeEnum] -#' @param tarif The tariff's public name to be stored in the `tarif` field. -#' @param desc A short human-readable description to be stored in the `desc` field. -# # General parameters for (almost) all function -#' @param params Contract-specific, full set of parameters of the contract -#' (merged parameters of the defaults, the tariff, the profit participation -#' scheme and the contract) -#' @param values Contract values calculated so far (in the \code{contract$Values} -#' list) then this method is called by the contract object -#' -#' @param premiumCalculationTime The time when the premiums should be -#' (re-)calculated according to the equivalence principle. A time 0 -#' means the initial premium calculation at contract closing, later -#' premium calculation times can be used to re-calculate the new -#' premium after a contract change (possibly including an existing reserve) -#' -#' @import MortalityTables -#' @examples -#' # Define an insurance tariff for 10-year endowments, using a guaranteed interest -#' # rate of 1% and the Austrian population mortality table of the census 2011. -#' # Premiums are paid monthly in advance during the whole contract period. -#' MortalityTables::mortalityTables.load("Austria_Census") -#' # Cost structure: -#' # - 4% up-front acquisition costs (of premium sum) -#' # - 1% collection cost of each premium paid -#' # - 1%o yearly administration cost (of the sum insured) as long as premiums are paid -#' # - 2%o yearly administration cost for paid-up contracts -#' # - 10 Euro yearly unit costs (as long as premiums are paid) -#' costs.endw = initializeCosts(alpha = 0.04, beta = 0.01, gamma = 0.001, -#' gamma.paidUp = 0.002, gamma.premiumfree = 0.002, unitcosts = 10) -#' -#' endowment.AT1 = InsuranceTarif$new( -#' name = "Endow AT 1%", type = "endowment", tarif = "Austrian Endowment", -#' desc = "An endowment for Austrian insured with 1% interest and no profit participation", -#' ContractPeriod = 10, -#' i = 0.01, mortalityTable = mort.AT.census.2011.unisex, -#' costs = costs.endw, premiumFrequency = 12) -#' -#' # The instantiation of the actual contract will provide the contract specific -#' # information and immediately calculate all further values: -#' ctr.end.AT1 = InsuranceContract$new(tarif = endowment.AT1, -#' contractClosing = as.Date("2020-07-01"), age = 42) -#' -#' # All values for the contract are already calculated during construction and -#' # stored in the ctr.end.AT1$Values list: -#' ctr.end.AT1$Values$basicData -#' ctr.end.AT1$Values$transitionProbabilities -#' ctr.end.AT1$Values$cashFlowsCosts -#' ctr.end.AT1$Values$presentValues -#' ctr.end.AT1$Values$premiums -#' ctr.end.AT1$Values$reserves -#' ctr.end.AT1$Values$premiumComposition -#' # etc. -#' @export -InsuranceTarif = R6Class( - "InsuranceTarif", - - ######################### PUBLIC METHODS ################################## - public = list( - #' @field name The tariff's unique name. Will also be used as the key for exported data. - name = "Insurance Contract Type", - #' @field tarif The tariff's public name (typically a product name), not necessarily unique. - tarif = NULL, - #' @field desc A short human-readable description of the tariff and its main features. - desc = NULL, - #' @field tariffType An enum specifying the main characteristics of the tarif. - #' Possible values are: - #' \describe{ - #' \item{annuity}{Whole life or term annuity (periodic survival benefits) - #' with flexible payouts (constand, increasing, decreasing, arbitrary, - #' etc.)} - #' \item{wholelife}{A whole or term life insurance with only death benefits. - #' The benefit can be constant, increasing, decreasing, described by - #' a function, etc.} - #' \item{endowment}{An endowment with death and survival benefits, - #' potentially with different benefits.} - #' \item{pureendowment}{A pure endowment with only a survival benefit at - #' the end of the contract. Optionally, in case of death, all or part - #' of the premiums paid may be refunded.} - #' \item{terme-fix}{A terme-fix insurance with a fixed payout at the end - #' of the contract, even if the insured dies before that time. - #' Premiums are paid until death of the insured.} - #' \item{dread-disease}{A dread-disease insurance, which pays in case of - #' a severe illness (typically heart attacks, cancer, strokes, etc.), - #' but not in case of death.} - #' \item{endowment + dread-disease}{A combination of an endowment and a - #' temporary dread-disease insurance. Benefits occur either on death, - #' severe illness or survival, whichever comes first.} - #' } - tariffType = TariffTypeEnum("wholelife"), - - #' @field Parameters A data structure (nested list) containing all relevant - #' parameters describing a contract, its underlying tariff, the profit - #' participation scheme etc. See [InsuranceContract.ParameterStructure] for - #' all fields. - Parameters = InsuranceContract.ParameterStructure, - - #' @description Initialize a new tariff object - #' @details The constructor function defines a tariff and generates the - #' corresponding data structure, which can then be used with the [InsuranceContract] - #' class to define an actual contract using the tariff. - #' - #' The arguments passed to this function will be stored inside the - #' \code{Parameters} field of the class, inside one of the lists sublists. - #' The parameters are stacked from different layers (higher levels override - #' default values from lower layers): - #' - #' * InsuranceContract object (parameters passed directly to the individual - #' contract) - #' * ProfitParticipation object (parameters for profit participation, passed - #' to the definition of the profit plan, which is used for the tarif - #' definition or the contract) - #' * InsuranceTarif object (parameters passed to the definition of the tariff - #' that was used for the contract) - #' * Defaults taken from [InsuranceContract.ParameterStructure] - #' - #' The general implementation of this parameter layering means that (a) a tariff - #' can already provide default values for contracts (e.g. a default maturity, - #' default sum insured, etc) and (b) individual contracts can override all - #' parameters defined with the underlying tariff. In particular the latter - #' feature has many use-cases in prototyping: E.g. when you have a tariff - #' with a guaranteed interest rate of 1\% and a certain mortality table, - #' one can immediately instantiate a contract with an updated interest rate - #' or mortality table for comparison. There is no need to re-implement a - #' tariff for such comparisons, as long as only parameters are changed. - #' - #' @param ... Parameters for the [InsuranceContract.ParameterStructure], - #' defining the characteristics of the tariff. - #' @import MortalityTables - #' @examples - #' MortalityTables::mortalityTables.load("Austria_Annuities_AVOe2005R") - #' tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - #' i = 0.01, mortalityTable = AVOe2005R.male) - initialize = function(name = NULL, type = "wholelife", tarif = "Generic Tarif", desc = "Description of tarif", ...) { - if (getOption('LIC.debug.Tarif.init', FALSE)) { - browser(); - } - if (!missing(name)) self$name = name; - if (!missing(type)) { - self$tariffType = TariffTypeEnum(type) - } - if (!missing(tarif)) self$tarif = tarif; - if (!missing(desc)) self$desc = desc; - - # Set the passed arguments as tariff parameters - self$Parameters = InsuranceContract.ParametersFill(self$Parameters, ...) - - # Use the profit participation's parameters as fallback for initialized parameters - ppScheme = self$Parameters$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - self$Parameters$ProfitParticipation = InsuranceContract.ParametersFallback(self$Parameters$ProfitParticipation, ppScheme$Parameters) - } - - # Fill all remaining uninitialized values with their defaults, except for profit participation params - self$Parameters = InsuranceContract.ParametersFallback(self$Parameters, InsuranceContract.ParameterDefaults, ppParameters = FALSE); - }, - - #' @description create a copy of a tariff with certain parameters changed - #' @details This method \code{createModification} returns a copy of the tariff - #' with all given arguments changed in the tariff's `InsuranceTarif$Parameters` - #' parameter list. - #' - #' As InsuranceTarif is a R6 class with reference logic, simply assigning - #' the object to a new variable does not create a copy, but references the - #' original tariff object. To create an actual copy, one needs to call this - #' method, which first clones the whole object and then adjusts all parameters - #' to the values passed to this method. - #' - #' @param tariffType An enum specifying the main characteristics of the tarif. - #' See [TariffTypeEnum] - #' @param ... Parameters for the [InsuranceContract.ParameterStructure], - #' defining the characteristics of the tariff. - #' @import MortalityTables - #' @examples - #' MortalityTables::mortalityTables.load("Austria_Annuities_AVOe2005R") - #' tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - #' i = 0.01, mortalityTable = AVOe2005R.male) - #' tarif.unisex = tarif.male$createModification(name = "Annuity unisex", - #' mortalityTable = AVOe2005R.unisex) - createModification = function(name = NULL, tarif = NULL, desc = NULL, tariffType = NULL, ...) { - if (getOption('LIC.debug.createModification', FALSE)) { - browser(); - } - cloned = self$clone(); - if (!missing(name)) cloned$name = name; - if (!missing(tarif)) cloned$tarif = tarif; - if (!missing(desc)) cloned$desc = desc; - if (!missing(tariffType)) cloned$tariffType = tariffType; - - cloned$Parameters = InsuranceContract.ParametersFill(cloned$Parameters, ...); - cloned - }, - - #' @description Retrieve the parameters for this tariff (can be overridden - #' for each contract) - #' - #' @examples - #' tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - #' i = 0.01, mortalityTable = AVOe2005R.male) - #' tarif.male$getParameters() - getParameters = function() { - self$Parameters - }, - - #' @description Get some internal parameters cached (length of data.frames, - #' policy periods cut at max.age, etc.) - #' - #' @details This methos is not meant to be called explicitly, but rather used - #' by the InsuranceContract class. It returns a list of maturities and ages - #' relevant for the contract-specific calculations - #' - #' @param ... currently unused - getInternalValues = function(params, ...) { - if (getOption('LIC.debug.getInternalValues', FALSE)) { - browser(); - } - age = params$ContractData$technicalAge - maxAge = MortalityTables::getOmega(params$ActuarialBases$mortalityTable) - policyTerm = min(maxAge + 1 - age, params$ContractData$policyPeriod) - # Length of CF vectors / data.frames is always 1 more than the policy period, since there might be a survival payment at the end! - list( - l = policyTerm + 1, # Length of CF vectors (1 larger than policy period!) - # maxAge is the last age with a given death probability, so it can be included in the policy term! - # The policy must end AFTER that final year, not at the beginning! - policyTerm = policyTerm, - premiumTerm = min(policyTerm, params$ContractData$premiumPeriod) - ) - }, - - - #' @description Calculate the contract-relevant age(s) given a certain - #' parameter data structure (contract-specific values) - #' - #' @details This method is not meant to be called explicitly, but rather used - #' by the InsuranceContract class. It returns the relevant ages during the - #' whole contract period - getAges = function(params) { - if (getOption('LIC.debug.getAges', FALSE)) { - browser(); - } - ages = ages(params$ActuarialBases$mortalityTable, YOB = year(params$ContractData$birthDate)); - # Append one last age, just in case we need to pad the qx with one more entry: - ages = c(ages, tail(ages, 1) + 1) - age = params$ContractData$technicalAge; - if (age > 0) { - ages = ages[-age:-1]; - } - ages - }, - - #' @description Calculate the transition probabilities from the contract-specific - #' parameters passed as \code{params} and the already-calculated contract - #' values \code{values} - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - getTransitionProbabilities = function(params, values) { - if (getOption('LIC.debug.getTransitionProbabilities', FALSE)) { - browser(); - } - if (!is.null(values$transitionProbabilities)) { - values$transitionProbabilities - } else { - age = params$ContractData$technicalAge; - ages = self$getAges(params); - qx = MortalityTables::deathProbabilities(params$ActuarialBases$mortalityTable, YOB = year(params$ContractData$birthDate), ageDifferences = params$ContractData$ageDifferences); - if (age > 0) { - qx = qx[-age:-1]; - } - qx = pad0(qx, length(ages), value = 1) - if (!is.null(params$ActuarialBases$invalidityTable)) { - ix = MortalityTables::deathProbabilities(params$ActuarialBases$invalidityTable, YOB = year(params$ContractData$birthDate), ageDifferences = params$ContractData$ageDifferences); - if (age > 0) { - ix = ix[-age:-1]; - } - } else { - ix = rep(0, length(qx)); - } - ix = pad0(ix, length(qx)); - # invalidity/disease does NOT end the contract if flag is set! - if (params$ActuarialBases$invalidityEndsContract) { - px = 1 - qx - ix - } else { - px = 1 - qx - } - df = data.frame(age = ages, qx = qx, ix = ix, px = px, row.names = ages - age) - df - } - }, - - #' @description Obtain the cost structure from the cost parameter and the - #' given paremeter set - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' The cost parameter can be either an array of costs (generated by [initializeCosts()]) - #' or a function with parameters \code{param} and \code{values}(=NULL) returning - #' an array of the required dimensions. This function makes sures that the - #' latter function is actually evaluated. - #' - #' @param params The parameters of the contract / tariff - getCostValues = function(params) { - if (getOption('LIC.debug.getCostValues', FALSE)) { - browser(); - } - costs = valueOrFunction(params$Costs, params = params, values = NULL) - costs = applyHook(params$Hooks$adjustCosts, costs, params = params, values = NULL); - baseCost = valueOrFunction(params$minCosts, params = params, values = NULL, costs = costs) - baseCost = applyHook(params$Hooks$adjustMinCosts, baseCost, costs = costs, params = params, values = NULL); - if (!is.null(baseCost)) { - costWaiver = valueOrFunction(params$ContractData$costWaiver, params = params, values = NULL, costs = costs, minCosts = baseCost) - if (is.numeric(costWaiver)) { - costs = costs * (1 - costWaiver) + baseCost * costWaiver - } else if (is.boolean(costWaiver)) { - if (isTRUE(costWaiver)) { - costs = baseCost - } - } - } - costs - }, - - #' @description Returns the unit premium cash flow for the whole contract period. - #' - For constant premiums it will be rep(1, premiumPeriod), - #' - for single premiums it will be c(1, 0, 0, ...), - #' - for increasing premiums it will be (1+increase)^(0:(premiumPeriod-1)) - #' and 0 after the premium period - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param len The desired length of the returned data frame (the number of contract periods desire) - getPremiumCF = function(len, params, values) { - if (getOption('LIC.debug.getPremiumCF', FALSE)) { - browser(); - } - premPeriod = min(params$ContractData$premiumPeriod, params$ContractData$policyPeriod, len); - if (premPeriod <= 0) { - return(rep(0, len)) - } - if (is.null(params$ContractData$premiumIncrease)) { - pad0(rep(1, premPeriod - 1), len) - } else { - inc = valueOrFunction(params$ContractData$premiumIncrease, premiumPeriod = premPeriod, params = params, values = values) - if (is.vector(inc) && length(inc) > 1) { - # If premiumIncrease is (or returns) a vector, treat it as - # relative premium amounts, ie. c(1, 1.1, 1.2) means +10% of - # the initial premium for the second and third year - pad0(inc, len) - } else { - pad0(inc ^ (0:(premPeriod - 1)), len) - } - } - }, - - #' @description Returns the unit annuity cash flow (guaranteed and contingent) for - #' the whole annuity payment period (after potential deferral period) - #' - For constant annuity it will be rep(1, annuityPeriod), - #' - for increasing annuities it will be (1+increase)^(0:(premiumPeriod-1)) - #' and 0 after the premium period - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param len The desired length of the returned data frame (the number of contract periods desire) - getAnnuityCF = function(len, params, values) { - if (getOption('LIC.debug.getAnnuityCF', FALSE)) { - browser(); - } - annuityPeriod = min(params$ContractData$policyPeriod - params$ContractData$deferralPeriod, len); - if (is.null(params$ContractData$annuityIncrease)) { - pad0(rep(1, annuityPeriod), len); - } else { - inc = valueOrFunction(params$ContractData$annuityIncrease, annuityPeriod = annuityPeriod, params = params, values = values) - if (is.vector(inc) && length(inc) > 1) { - # If annuityIncrease is (or returns) a vector, treat it as - # relative annuity amounts, ie. c(1, 1.1, 1.2) means +10% of - # the initial annuity for the second and third year - pad0(inc, len) - } else { - # a numeric value means constant yearly increases (multiplicative) - pad0(inc ^ (0:annuityPeriod), len) - } - } - }, - - #' @description Returns the unit death cash flow for the whole protection - #' period (after potential deferral period!) - #' - For constant death benefit it will be rep(1, policyPeriod), - #' - for linearly decreasing sum insured it will be (policyPeriod:0)/policyPeriod - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param len The desired length of the returned data frame (the number of contract periods desire) - getDeathCF = function(len, params, values) { - if (getOption('LIC.debug.getDeathCF', FALSE)) { - browser(); - } - period = params$ContractData$policyPeriod - params$ContractData$deferralPeriod; - if (is.null(params$ContractData$deathBenefit)) { - pad0(rep(1, period), len) - } else { - benefit = valueOrFunction(params$ContractData$deathBenefit, len = len, params = params, values = values) - if (is.vector(benefit) && length(benefit) > 1) { - # If deathBenefit is (or returns) a vector, treat it as - # relative annuity amounts, ie. c(1, 1.1, 1.2) means +10% of - # the initial annuity for the second and third year - pad0(benefit, len) - } else { - # constant death benefit - pad0(rep(benefit, period), len) - } - } - }, - - #' @description Returns the basic (unit) cash flows associated with the type - #' of insurance given in the InsuranceTarif's `tariffType` field - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - getBasicCashFlows = function(params, values) { - if (getOption('LIC.debug.getBasicCashFlows', FALSE)) { - browser(); - } - deferralPeriod = params$ContractData$deferralPeriod; - guaranteedPeriod = params$ContractData$guaranteedPeriod; - - zeroes = pad0(0, values$int$l) - - cf = data.frame( - guaranteed = zeroes, - survival = zeroes, - death = zeroes, - disease = zeroes, - sumInsured = rep(1, values$int$l) - ); - if (self$tariffType == "annuity") { - annuityPeriod = values$int$policyTerm - deferralPeriod; - annuityCF = self$getAnnuityCF(len = annuityPeriod, params = params, values = values) - # guaranteed payments exist only with annuities (first n years of the payment) - cf$guaranteed = pad0( - c( - rep(0, deferralPeriod), - head(annuityCF, n = guaranteedPeriod) - ), values$int$l); - cf$survival = pad0(c( - rep(0, deferralPeriod + guaranteedPeriod), - if (guaranteedPeriod > 0) tail(annuityCF, n = -guaranteedPeriod) else annuityCF, - 0), values$int$l) - - # start current contract block after deferral period -# cf$sumInsured = pad0(rep(#c(rep(0, deferralPeriod), annuityCF) # <= TODO!!! - - - } else if (self$tariffType == "terme-fix") { - # Begin of bock does not have any influence - cf$guaranteed = c(rep(0, values$int$policyTerm), 1) - - } else if (self$tariffType == "dread-disease") { - # potential Payments start after deferral period - cf$disease = c( - rep(0, deferralPeriod), - rep(1, values$int$l - 1 - deferralPeriod), - 0) - } else { - # For endowments, use the death factor here in the basic death CF - # to fix the relation of death to survival benefit - deathCF = self$getDeathCF(values$int$l - 1 - deferralPeriod, params = params, values = values) - - if (self$tariffType == "endowment" || self$tariffType == "pureendowment" || self$tariffType == "endowment + dread-disease") { - cf$survival = c(rep(0, values$int$policyTerm), 1) - } - if (self$tariffType == "endowment" || self$tariffType == "wholelife" || self$tariffType == "endowment + dread-disease") { - cf$death = c(rep(0, deferralPeriod), deathCF, 0) - # cf$sumInsured = c(rep(0, deferralPeriod), deathCF, 1); - } - if (self$tariffType == "endowment + dread-disease") { - cf$disease = c( - rep(0, deferralPeriod), - rep(1, values$int$l - 1 - deferralPeriod), - 0); - } - } - cf - }, - - #' @description Returns the cash flows for the contract given the parameters - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - getCashFlows = function(params, values) { - if (getOption('LIC.debug.getCashFlows', FALSE)) { - browser(); - } - age = params$ContractData$technicalAge; - - if (is.null(values$cashFlowsBasic)) { - values$cashFlowsBasic = self$getBasicCashFlows(params, values); - } - cflen = values$int$l - zeroes = pad0(0, cflen) - ages = pad0(self$getAges(params), cflen); - cf = data.frame( - premiums_advance = zeroes, - premiums_arrears = zeroes, - additional_capital = zeroes, - guaranteed_advance = zeroes, - guaranteed_arrears = zeroes, - survival_advance = zeroes, - survival_arrears = zeroes, - death_SumInsured = zeroes, - disease_SumInsured = zeroes, - death_GrossPremium = zeroes, - death_Refund_past = zeroes, - death_PremiumFree = zeroes, - row.names = ages - age - ); - - cf$additional_capital = pad0(params$ContractData$initialCapital, cflen) - - # Premiums: - if (!params$ContractState$premiumWaiver) { - premiums = self$getPremiumCF(len = cflen, params = params, values = values) - if (params$ContractData$premiumPayments == "in advance") { - cf$premiums_advance = premiums; - } else { - cf$premiums_arrears = premiums; - } - } - - # Survival Benefits - if (params$ContractData$benefitPayments == "in advance") { - cf$guaranteed_advance = pad0(values$cashFlowsBasic$guaranteed, cflen); - cf$survival_advance = pad0(values$cashFlowsBasic$survival, cflen); - } else { - cf$guaranteed_arrears = pad0(values$cashFlowsBasic$guaranteed, cflen); - cf$survival_arrears = pad0(values$cashFlowsBasic$survival, cflen); - } - - # Death Benefits - cf$death_SumInsured = pad0(values$cashFlowsBasic$death, cflen); - if ((!is.null(params$Features$absPremiumRefund)) && (params$Features$absPremiumRefund > 0)) { - cf$death_SumInsured = cf$death_SumInsured + pad0(padLast(params$Features$absPremiumRefund, min(cflen - 1, params$ContractData$premiumRefundPeriod)), cflen); - } - cf$disease_SumInsured = pad0(values$cashFlowsBasic$disease, cflen); - cf$death_PremiumFree = cf$death_SumInsured; - # premium refund - if (params$ContractData$premiumRefund != 0) { - totalpremiumcf = cf$premiums_advance + pad0(c(0, cf$premiums_arrears), cflen); - - # death benefit for premium refund is the sum of all premiums so far, but only during the premium refund period, afterwards it's 0: - cf$death_GrossPremium = pad0(pad0(Reduce("+", totalpremiumcf[0:params$ContractData$policyPeriod], accumulate = TRUE), params$ContractData$premiumRefundPeriod), cflen) - cf$death_Refund_past = cf$death_GrossPremium - cf$death_Refund_past[(cf$death_GrossPremium > 0)] = 1; - } - - applyHook(params$Hooks$adjustCashFlows, cf, params, values) - }, - - #' @description Returns the cost cash flows of the contract given the contract - #' and tariff parameters - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - getCashFlowsCosts = function(params, values) { - if (getOption('LIC.debug.getCashFlowsCosts', FALSE)) { - browser(); - } - dm = dim(params$Costs); - dmnames = dimnames(params$Costs); - - cf = array( - 0, - dim = list(values$int$l, dm[1], dm[2], 3), - dimnames = list(0:(values$int$l - 1), dmnames[[1]], dmnames[[2]], c("survival", "guaranteed", "after.death")) - ); - cf[1,,,"survival"] = cf[1,,,"survival"] + params$Costs[,,"once"] - if (values$int$premiumTerm > 0){ - for (i in 1:values$int$premiumTerm) { - cf[i,,,"survival"] = cf[i,,,"survival"] + params$Costs[,,"PremiumPeriod"]; - } - } - if (values$int$premiumTerm < values$int$policyTerm) { - for (i in (values$int$premiumTerm + 1):values$int$policyTerm) { - cf[i,,,"survival"] = cf[i,,,"survival"] + params$Costs[,,"PremiumFree"]; - } - } - for (i in 1:values$int$policyTerm) { - cf[i,,,"survival"] = cf[i,,,"survival"] + params$Costs[,,"PolicyPeriod"]; - - # Guaranteed cost charged (charged no matter if the person is still alive or death). - # Used mainly for term-fix or premium waivers upton death - cf[i,,,"guaranteed"] = params$Costs[,,"FullContract"] - cf[i,,,"after.death"] = params$Costs[,,"AfterDeath"] - } - - # Costs charged only for a specific time (i.e. acquisition costs / commissions) - # There are several conventions to scale alpha costs over the commision period: - # a) alpha cost once (i.e. not distributed), not scaled - # b) uniformly over the period (i.e. sum of k equal commisions is given as cost) - # c) by present value (i.e. present value of k equal commission is given as cost) - if (params$Features$alphaCostsCommission == "sum") { - params$Costs[,,"CommissionPeriod"] = params$Costs[,,"CommissionPeriod"] / params$Loadings$commissionPeriod - } else if (params$Features$alphaCostsCommission == "presentvalue") { - # Use yearly constant premiums in advance, irrespective of the actual - # contract. This is a simplification, but the actual present values - # are calculated later, so for now we just assume standard parameters! - len = params$Loadings$commissionPeriod; - q = self$getTransitionProbabilities(params, values); - px = pad0(c(1,q$px), len); # by defualt, premiums are in advance, so first payment has 100% probability - v = 1/(1 + params$ActuarialBases$i)^((1:len)-1) - params$Costs[,,"CommissionPeriod"] = params$Costs[,,"CommissionPeriod"] / sum(cumprod(px)*v) - } else if (params$Features$alphaCostsCommission == "actual") { - # NOP, nothing to do - } else { - warning("unrecognized value given for commissionPeriod: ",params$Features$alphaCostsCommission ) - } - for (i in 1:params$Loadings$commissionPeriod) { - cf[i,,,"survival"] = cf[i,,,"survival"] + params$Costs[,,"CommissionPeriod"]; - } - - # After premiums are waived, use the gamma_nopremiums instead of gamma: - if (params$ContractState$premiumWaiver) { - cf[,"gamma",,"survival"] = cf[,"gamma_nopremiums",,"survival"]; - } - - # some values like sumInsured or gross premium might change over time, - # so multiply them with the unit cash flows stored in values$cashFlows - cf[,,"SumInsured",] = cf[,,"SumInsured",] * values$cashFlowsBasic$sumInsured - - applyHook(params$Hooks$adjustCashFlowsCosts, cf, params, values) - }, - - #' @description Returns the present values of the cash flows of the contract - #' (cash flows already calculated and stored in the \code{cashFlows} data.frame) - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param cashFlows data.frame of cash flows calculated by a call to \href{#method-getCashFlows}{\code{InsuranceTarif$getCashFlows()}} - presentValueCashFlows = function(params, values) { - if (getOption('LIC.debug.presentValueCashFlows', FALSE)) { - browser(); - } - - qq = self$getTransitionProbabilities(params, values); - - i = params$ActuarialBases$i; - v = 1/(1 + i); - benefitFreqCorr = correctionPaymentFrequency( - i = i, m = params$ContractData$benefitFrequency, - order = valueOrFunction(params$ActuarialBases$benefitFrequencyOrder, params = params, values = values)); - premiumFreqCorr = correctionPaymentFrequency( - i = i, m = params$ContractData$premiumFrequency, - order = valueOrFunction(params$ActuarialBases$premiumFrequencyOrder, params = params, values = values)); - - pvf = PVfactory$new(qx = qq, m = params$ContractData$benefitFrequency, mCorrection = benefitFreqCorr, v = v); - - pvRefund = pvf$death(values$cashFlows$death_GrossPremium); - pvRefundPast = pvf$death(values$cashFlows$death_Refund_past) * - (values$cashFlows[,"death_GrossPremium"] - values$cashFlows[,"premiums_advance"]); - - pv = cbind( - premiums = pvf$survival(values$cashFlows$premiums_advance, values$cashFlows$premiums_arrears, - m = params$ContractData$premiumFrequency, mCorrection = premiumFreqCorr), - additional_capital = pvf$survival(advance = values$cashFlows$additional_capital), - guaranteed = pvf$guaranteed(values$cashFlows$guaranteed_advance, values$cashFlows$guaranteed_arrears), - survival = pvf$survival(values$cashFlows$survival_advance, values$cashFlows$survival_arrears), - death_SumInsured = pvf$death(values$cashFlows$death_SumInsured), - disease_SumInsured = pvf$disease(values$cashFlows$disease_SumInsured), - death_GrossPremium = pvRefund, - death_Refund_past = pvRefundPast, - death_Refund_future = pvRefund - pvRefundPast, - death_PremiumFree = pvf$death(values$cashFlows$death_PremiumFree) - ); - - rownames(pv) <- pad0(rownames(qq), values$int$l); - applyHook(hook = params$Hooks$adjustPresentValues, val = pv, params = params, values = values) - }, - - #' @description Calculates the present values of the cost cash flows of the - #' contract (cost cash flows alreay calculated by \href{#method-getCashFlowsCosts}{\code{InsuranceTarif$getCashFlowsCosts()}} - #' and stored in the \code{values} list - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param presentValues The present values of the insurance claims (without costs) - presentValueCashFlowsCosts = function(params, values, presentValues) { - if (getOption('LIC.debug.presentValueCashFlowsCosts', FALSE)) { - browser(); - } - len = values$int$l; - q = self$getTransitionProbabilities(params, values); - i = params$ActuarialBases$i - v = 1/(1 + i) - pvf = PVfactory$new(qx = q, v = v) - - costs = values$cashFlowsCosts; - pvc = costs * 0; - - # survival cash flows (until death) - if (any(costs[,,,"survival"] != 0)) { - pvc[,,,"survival"] = pvf$survival(advance = costs[,,,"survival"]); - } - # guaranteed cash flows (even after death) - if (any(costs[,,,"guaranteed"] != 0)) { - pvc[,,,"guaranteed"] = pvf$guaranteed(advance = costs[,,,"guaranteed"]); - } - - # Cash flows only after death - if (any(costs[,,,"after.death"] != 0)) { - pvc[,,,"after.death"] = pvf$afterDeath(advance = costs[,,,"after.death"]); - } - - # Costs based on actual benefits need to be calculated separately - # (need to be recalculated with the benefit CFs multiplied by the cost - # rate for each type and each year). In most cases, the cost rates will be - # constant, but in general we can not assume this => need to re-calculate - if (any(values$cashFlowsCosts[,,"Benefits",] != 0)) { - bFreq = params$ContractData$benefitFrequency - benefitFreqCorr = correctionPaymentFrequency( - i = i, m = bFreq, - order = valueOrFunction(params$ActuarialBases$benefitFrequencyOrder, params = params, values = values)); - pvfben = PVfactory$new(qx = q, m = bFreq, mCorrection = benefitFreqCorr, v = v); - - cfCosts = values$cashFlowsCosts[,,"Benefits",]; - cf = values$cashFlows; - - # Guaranteed + Survival + Death cover + disease - pvc[,,"Benefits",] = - pvfben$guaranteed(cf$guaranteed_advance * cfCosts, cf$guaranteed_arrears * cfCosts) + - pvfben$survival(cf$survival_advance * cfCosts, cf$survival_arrears * cfCosts) + - pvfben$death(cf$death_SumInsured * cfCosts) + - pvfben$disease(cf$disease_SumInsured * cfCosts); - } - - applyHook(hook = params$Hooks$adjustPresentValuesCosts, val = pvc, params = params, values = values, presentValues = presentValues) - }, - - #' @description Calculate the cash flows in monetary terms of the insurance contract - #' @details Once the premiums of the insurance contracts are calculated, all - #' cash flows can also be expressed in absolute terms. This function - #' calculates these time series in monetary terms, once the premiums - #' are calculated by the previous functions of this class. - #' - #' This method is NOT to be called directly, but implicitly by the [InsuranceContract] object. - getAbsCashFlows = function(params, values) { - if (getOption('LIC.debug.getAbsCashFlows', FALSE)) { - browser(); - } - - # TODO: Set up a nice list with coefficients for each type of cashflow, - # rather than multiplying each item manually (this also mitigates the risk - # of forgetting a dimension, because then the dimensions would not match, - # while here it's easy to overlook a multiplication) - # Multiply each CF column by the corresponding basis - # - # All propSI cash flows are already set up with the correct multiple - # of the sumInsured (in cashFlowsBasic) for non-constant sums insured. - # So here, we don't need to multiply with values$cashFlowsBasic$sumInsured! - propGP = c("premiums_advance", "premiums_arrears"); - propSI = c("guaranteed_advance", "guaranteed_arrears", - "survival_advance", "survival_arrears", "death_SumInsured", - "death_PremiumFree", "disease_SumInsured"); - propPS = c("death_GrossPremium", "death_Refund_past"); - values$cashFlows[,propGP] = values$cashFlows[,propGP] * values$premiums[["gross"]]; - values$cashFlows[,propSI] = values$cashFlows[,propSI] * params$ContractData$sumInsured; - values$cashFlows[,propPS] = values$cashFlows[,propPS] * values$premiums[["gross"]] * params$ContractData$premiumRefund; - - # Sum all death-related payments to "death" and remove the death_GrossPremium column - values$cashFlows[,"death_SumInsured"] = values$cashFlows[,"death_SumInsured"] + values$cashFlows[,"death_GrossPremium"] - colnames(values$cashFlows)[colnames(values$cashFlows) == "death_SumInsured"] = "death"; - # cashFlows[,"death_GrossPremium"] = NULL; - - # costs relative to sumInsured are already set up as the correct multiple - # of the original SI, including the dynamic changes over time! - values$cashFlowsCosts = values$cashFlowsCosts[,,"SumInsured",] * params$ContractData$sumInsured + - values$cashFlowsCosts[,,"SumPremiums",] * values$unitPremiumSum * values$premiums[["gross"]] + - values$cashFlowsCosts[,,"GrossPremium",] * values$premiums[["gross"]] + - values$cashFlowsCosts[,,"NetPremium",] * values$premiums[["net"]] + - # values$cashFlowsCosts[,,"Benefits",] * TODO!!! - values$cashFlowsCosts[,,"Constant",]; - - # Handle survival CF differently, because we don't want ".survival" in the column names! - cbind(values$cashFlows, values$cashFlowsCosts[,,"survival"], values$cashFlowsCosts[,,-1]) - }, - - #' @description Calculate the absolute present value time series of the insurance contract - #' @details Once the premiums of the insurance contracts are calculated, all - #' present values can also be expressed in absolute terms. This function - #' calculates these time series in monetary terms, once the premiums and the - #' unit-benefit present values are calculated by the previous functions of - #' this classe. - #' - #' This method is NOT to be called directly, but implicitly by the [InsuranceContract] object. - getAbsPresentValues = function(params, values) { - if (getOption('LIC.debug.getAbsPresentValues', FALSE)) { - browser(); - } - pv = values$presentValues; - - #pv[,"age"] = pv[,"premiums"]; - #colnames(pv)[colnames(pv)=="age"] = "premiums.unit"; - - # Multiply each CF column by the corresponding basis - pv[,"premiums"] = pv[,"premiums"] * values$premiums[["gross"]]; - pv[,c("guaranteed", "survival", "death_SumInsured", "disease_SumInsured", "death_PremiumFree")] = - pv[,c("guaranteed", "survival", "death_SumInsured", "disease_SumInsured", "death_PremiumFree")] * params$ContractData$sumInsured; - pv[,c("death_GrossPremium", "death_Refund_past", "death_Refund_future")] = pv[,c("death_GrossPremium", "death_Refund_past", "death_Refund_future")] * values$premiums[["gross"]] * params$ContractData$premiumRefund; - pv[,c("benefits", "additional_capital", "benefitsAndRefund", "alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums", "unitcosts")] = - pv[,c("benefits", "additional_capital", "benefitsAndRefund", "alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums", "unitcosts")] * params$ContractData$sumInsured; - - # Sum all death-related payments to "death" and remove the death_SumInsured column - pv[,"death_SumInsured"] = pv[,"death_SumInsured"] + pv[,"death_GrossPremium"] - colnames(pv)[colnames(pv) == "death_SumInsured"] = "death"; - - cbind("premiums.unit" = values$presentValues[,"premiums"], pv) - }, - - - #' @description Calculate the absolute present value time series of the - #' benefits of the insurance contract - #' @details Once the premiums of the insurance contracts are calculated, all - #' present values can also be expressed in absolute terms. This function - #' calculates these time series of the benefits present values in monetary - #' terms, once the premiums and the unit-benefit present values are calculated - #' by the previous functions of this classe. - #' - #' This method is NOT to be called directly, but implicitly by the [InsuranceContract] object. - presentValueBenefits = function(params, values) { - if (getOption('LIC.debug.presentValueBenefits', FALSE)) { - browser(); - } - # TODO: Here we don't use the securityLoading parameter => Shall it be used or are these values to be understood without additional security loading? - benefits = values$presentValues[,"survival"] + - values$presentValues[,"guaranteed"] + - values$presentValues[,"death_SumInsured"] + - values$presentValues[,"disease_SumInsured"]; - allBenefits = benefits + - values$presentValues[,"death_GrossPremium"] * values$premiums[["unit.gross"]] * params$ContractData$premiumRefund; - benefitsCosts = rowSums( # Sum over the fourth dimension, leave the first three intact - values$presentValuesCosts[,,"SumInsured",] + - values$presentValuesCosts[,,"SumPremiums",] * values$unitPremiumSum * values$premiums[["unit.gross"]] + - values$presentValuesCosts[,,"GrossPremium",] * values$premiums[["unit.gross"]] + - values$presentValuesCosts[,,"NetPremium",] * values$premiums[["unit.net"]] + - values$presentValuesCosts[,,"Constant",] / params$ContractData$sumInsured, - dims = 2) - - - cbind( - benefits = benefits, - benefitsAndRefund = allBenefits, - benefitsCosts) - }, - - #' @description Calculate the linear coefficients of the premium calculation formula for the insurance contract - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' When \code{getPremiumCoefficients} is called, the \code{values$premiums} - #' array has NOT yet been filled! Instead, all premiums already calculated - #' (and required for the premium coefficients) are passed in the \code{premiums} - #' argument. - #' - #' @param type The premium that is supposed to be calculated ("gross", "Zillmer", "net") - #' @param coeffBenefits (empty) data structure of the benefit coefficients. - #' The actual values have no meaning, this parameter is only used to - #' derive the required dimensions - #' @param coeffCosts (empty) data structure of the cost coefficients. The - #' actual values have no meaning, this parameter is only used to - #' derive the required dimensions - #' @param premiums The premium components that have already been calculated - #' (e.g. for net and Zillmer, the gross premium has already been - #' calculated to allow modelling the premium refund) - getPremiumCoefficients = function(type = "gross", coeffBenefits, coeffCosts, premiums, params, values, premiumCalculationTime = values$int$premiumCalculationTime) { - if (getOption('LIC.debug.getPremiumCoefficients', FALSE)) { - browser(); - } - # Merge a possibly passed loadings override with the defaults of this class: - securityLoading = valueOrFunction(params$Loadings$security, params = params, values = values); - t = as.character(premiumCalculationTime) - - coeff = list( - "SumInsured" = list("benefits" = coeffBenefits*0, "costs" = coeffCosts*0), - "Premium" = list("benefits" = coeffBenefits*0, "costs" = coeffCosts*0) - ); - - coeff[["Premium"]][["benefits"]][["premiums"]] = 1; - if (!is.null(params$ContractData$sumInsured)) { - coeff[["SumInsured"]][["benefits"]][["additional_capital"]] = -1 / params$ContractData$sumInsured; - } else { - coeff[["SumInsured"]][["benefits"]][["additional_capital"]] = 0; - } - - # Costs proportional to NetPremium introduce a non-linearity, as the NP is not available when the gross premium is calculated - # => the corresponding costs PV is included in the coefficient! - coeff.benefits = (1 + securityLoading); - if (type == "gross") { - # TODO: How to include this into the Zillmer premium calculation? - if (values$presentValues[[t,"premiums"]] != 0) { - coeff.benefits = coeff.benefits * (1 + sum(values$presentValuesCosts[t, c("alpha", "beta", "gamma"), "NetPremium",]) / values$presentValues[[t,"premiums"]]) - } - } - coeff[["SumInsured"]][["benefits"]][["guaranteed"]] = coeff.benefits; - coeff[["SumInsured"]][["benefits"]][["survival"]] = coeff.benefits; - coeff[["SumInsured"]][["benefits"]][["death_SumInsured"]] = coeff.benefits; - coeff[["SumInsured"]][["benefits"]][["disease_SumInsured"]] = coeff.benefits; - - # Premium refund is handled differently for gross and net premiums, because it is proportional to the gross premium - if (type == "gross") { - coeff[["Premium"]][["benefits"]][["death_GrossPremium"]] = -params$ContractData$premiumRefund * coeff.benefits; - } else if (type == "net" || type == "Zillmer") { - coeff[["SumInsured"]][["benefits"]][["death_GrossPremium"]] = premiums[["unit.gross"]] * params$ContractData$premiumRefund * (1 + securityLoading); - } - - - # coefficients for the costs - - if (type == "gross") { - affected = c("alpha", "beta", "gamma") - if (params$Features$unitcostsInGross) { - affected = c(affected, "unitcosts") - } - coeff[["SumInsured"]][["costs"]][affected, "SumInsured", ] = 1; - coeff[["SumInsured"]][["costs"]][affected, "Benefits", ] = 1; - # TODO: How to handle beta costs proportional to Sum Insured - coeff[["Premium"]] [["costs"]][affected, "SumPremiums", ] = -values$unitPremiumSum; - coeff[["Premium"]] [["costs"]][affected, "GrossPremium",] = -1; - if (!is.null(params$ContractData$sumInsured)) { - coeff[["SumInsured"]][["costs"]][affected, "Constant", ] = 1 / params$ContractData$sumInsured; - } else { - coeff[["SumInsured"]][["costs"]][affected, "Constant", ] = 0; - } - } else if (type == "Zillmer") { - # TODO: Include costs with basis NetPremium and fixed costs! - affected = c("Zillmer") - if (params$Features$betaGammaInZillmer) { - affected = c(affected, "beta", "gamma") - } - coeff[["SumInsured"]][["costs"]][affected,"SumInsured", ] = 1; - coeff[["SumInsured"]][["costs"]][affected,"SumPremiums", ] = values$unitPremiumSum * premiums[["unit.gross"]]; - coeff[["SumInsured"]][["costs"]][affected,"GrossPremium",] = premiums[["unit.gross"]]; - } - - applyHook(params$Hooks$adjustPremiumCoefficients, coeff, type = type, premiums = premiums, params = params, values = values, premiumCalculationTime = premiumCalculationTime) - }, - - #' @description Calculate the sumInsured of the InsuranceContract given the - #' parameters and premiums given and teh , present values already calculated and - #' stored in the \code{params} and \code{values} lists. - #' @param calculationTime the time when the sumInsured should be recalculated from the given premium - #' - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - sumInsuredCalculation = function(params, values, calculationTime = values$int$premiumCalculationTime) { - if (getOption('sumInsuredCalculation', FALSE)) { - browser(); - } - loadings = params$Loadings; - values$premiums = c( - "unit.net" = 0, "unit.Zillmer" = 0, "unit.gross" = 0, - "net" = 0, "Zillmer" = 0, "gross" = 0, - "unitcost" = 0, "written_yearly" = 0, - "written_beforetax" = 0, "tax" = 0, "written" = 0, "additional_capital" = 0); - coefficients = list("gross" = c(), "Zillmer" = c(), "net" = c()); - - # Get the present values of the premiums, claims and costs at time 'calculationTime' (where the premium is to be calculated) - t = as.character(calculationTime) - pv = values$presentValues[t,] - pvCost = values$presentValuesCosts[t,,,] - - #======================================================================== = - # Calculate sumInsured from Premium, if needed - # ======================================================================= = - sumInsured = 1 - params$ContractData$sumInsured = 1 # Temporarily set to 1! - - # Premium type can be given using a named array, e.g. premium = c(gross = 1000) - premiumtype = names(params$ContractData$premium) - if (is.null(premiumtype)) premiumtype = "written"; - premium = unname(params$ContractData$premium); - # if ((premium == 0) || (params$ContractData$premiumPeriod == 0)) premiumtype = "noPremium"; - calculating = FALSE; - - - # Calculate unit gross premium (sumInsured=1) - values$premiums["additional_capital"] = values$cashFlows[t, "additional_capital"] - coeff = self$getPremiumCoefficients("gross", pv * 0, pvCost * 0, premiums = values$premiums, params = params, values = values, premiumCalculationTime = calculationTime) - #### BEGIN TWEAK_RK 21.1.2023 - # Since we don't know the sumInsured, the initial capital cannot be scaled to sumInsured=1 => handle differently! - # Calculate pv of benefits without initialCapital: - coeff.initialCapital = coeff[["SumInsured"]][["benefits"]][["additional_capital"]] - coeff[["SumInsured"]][["benefits"]][["additional_capital"]] = 0 - #### END TWEAK_RK 21.1.2023 - - enumerator = sum(coeff[["SumInsured"]][["benefits"]] * pv) + sum(coeff[["SumInsured"]][["costs"]] * pvCost); - denominator = sum(coeff[["Premium" ]][["benefits"]] * pv) + sum(coeff[["Premium" ]][["costs"]] * pvCost); - if (is.na(denominator) || (denominator == 0)) { - values$premiums[["unit.gross"]] = 0; - denominator = 1 - } else { - values$premiums[["unit.gross"]] = enumerator/denominator * (1 + loadings$ongoingAlphaGrossPremium); - } - - # Calculate other premium components: - # ATTENTION: This will not work if any of these depend on the absolute values of the premiums, or depend on net or Zillmer premium! - tax = valueOrFunction(loadings$tax, params = params, values = values); - unitCosts = valueOrFunction(loadings$unitcosts, params = params, values = values); - noMedicalExam = valueOrFunction(loadings$noMedicalExam,params = params, values = values); - noMedicalExam.relative = valueOrFunction(loadings$noMedicalExamRelative,params = params, values = values); - extraRebate = valueOrFunction(loadings$extraRebate, params = params, values = values); - sumRebate = valueOrFunction(loadings$sumRebate, params = params, values = values); - premiumRebateRate = valueOrFunction(loadings$premiumRebate,params = params, values = values); - premiumRebate = applyHook(params$Hooks$premiumRebateCalculation, premiumRebateRate, params = params, values = values); - - extraChargeGrossPremium = valueOrFunction(loadings$extraChargeGrossPremium, params = params, values = values); - advanceProfitParticipation = 0; - advanceProfitParticipationUnitCosts = 0; - ppScheme = params$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - advanceProfitParticipation = ppScheme$getAdvanceProfitParticipation(params = params, values = values) - advanceProfitParticipationUnitCosts = ppScheme$getAdvanceProfitParticipationAfterUnitCosts(params = params, values = values) - } - if (is.null(advanceProfitParticipation)) advanceProfitParticipation = 0; - if (is.null(advanceProfitParticipationUnitCosts)) advanceProfitParticipationUnitCosts = 0; - - partnerRebate = valueOrFunction(loadings$partnerRebate, params = params, values = values); - - # Start from the given premium to derive the sumInsured step-by-step: - temp = premium - # - # Written premium after tax - calculating = calculating | (premiumtype == "written"); - if (calculating) { - temp = temp / (1 + tax); - } - # Written premium before tax - calculating = calculating | (premiumtype == "written_beforetax"); - if (calculating) { - temp = temp / (1 - premiumRebate - advanceProfitParticipationUnitCosts - partnerRebate); - - pv.unitcosts = sum( - pvCost["unitcosts","SumInsured",] * sumInsured + - pvCost["unitcosts","SumPremiums",] * values$unitPremiumSum * values$premiums[["gross"]] + - pvCost["unitcosts","GrossPremium",] * values$premiums[["gross"]] + - pvCost["unitcosts","NetPremium",] * values$premiums[["net"]] + - pvCost["unitcosts","Constant",] - ) - if (pv[["premiums"]] == 0) { - premium.unitcosts = 0 - } else { - premium.unitcosts = pv.unitcosts / pv[["premiums"]] + valueOrFunction(loadings$unitcosts, params = params, values = values); - } - if (!params$Features$unitcostsInGross) { - temp = temp - premium.unitcosts; - } - temp = temp / (1 - advanceProfitParticipation) - } - calculating = calculating | (premiumtype == "gross"); - if (calculating) { - # handle initialCapital here (coefficient for initialCapital is typically negative, as it reduces the premium!) - temp = temp - coeff.initialCapital * values$premiums[["additional_capital"]] / denominator; - temp = temp / - (enumerator / denominator * (1 + noMedicalExam.relative + extraChargeGrossPremium) + noMedicalExam - sumRebate - extraRebate); - } - sumInsured = temp - - sumInsured - }, - - #' @description Calculate the premiums of the InsuranceContract given the - #' parameters, present values and premium cofficients already calculated and - #' stored in the \code{params} and \code{values} lists. - #' - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - premiumCalculation = function(params, values, premiumCalculationTime = values$int$premiumCalculationTime) { - if (getOption('LIC.debug.premiumCalculation', FALSE)) { - browser(); - } - loadings = params$Loadings; - sumInsured = params$ContractData$sumInsured - values$premiums = c( - "unit.net" = 0, "unit.Zillmer" = 0, "unit.gross" = 0, - "net" = 0, "Zillmer" = 0, "gross" = 0, - "unitcost" = 0, "written_yearly" = 0, - "written_beforetax" = 0, "tax" = 0, "written" = 0, "additional_capital" = 0); - coefficients = list("gross" = c(), "Zillmer" = c(), "net" = c()); - - # Get the present values of the premiums, claims and costs at time 'premiumCalculationTime' (where the premium is to be calculated) - t = as.character(premiumCalculationTime) - pv = values$presentValues[t,] - pvCost = values$presentValuesCosts[t,,,] - - values$premiums["additional_capital"] = values$cashFlows[t, "additional_capital"] - - # If there are no premium payments, no need to calculate premium components - # if (pv[["premiums"]] == 0) { - # return(list("premiums" = values$premiums, "coefficients" = coefficients, "sumInsured" = params$ContractData$sumInsured)) - # } - - - - #======================================================================== = - # net, gross and Zillmer premiums are calculated from the present values using the coefficients on each present value as described in the formulas document - # ======================================================================= = - # GROSS Premium - # ----------------------------------------------------------------------- - - coeff = self$getPremiumCoefficients("gross", pv * 0, pvCost * 0, premiums = values$premiums, params = params, values = values, premiumCalculationTime = premiumCalculationTime) - enumerator = sum(coeff[["SumInsured"]][["benefits"]] * pv) + sum(coeff[["SumInsured"]][["costs"]] * pvCost); - denominator = sum(coeff[["Premium" ]][["benefits"]] * pv) + sum(coeff[["Premium" ]][["costs"]] * pvCost); - values$premiums[["unit.gross"]] = enumerator/ifelse(denominator == 0, 1, denominator) * (1 + loadings$ongoingAlphaGrossPremium); - values$premiums[["gross"]] = values$premiums[["unit.gross"]] * sumInsured; - coefficients[["gross"]] = coeff; - - # ======================================================================= = - # NET Premium - # ----------------------------------------------------------------------- - - coeff = self$getPremiumCoefficients("net", pv*0, pvCost*0, premiums = values$premiums, params = params, values = values, premiumCalculationTime = premiumCalculationTime) - enumerator = sum(coeff[["SumInsured"]][["benefits"]] * pv) + sum(coeff[["SumInsured"]][["costs"]] * pvCost); - denominator = sum(coeff[["Premium" ]][["benefits"]] * pv) + sum(coeff[["Premium" ]][["costs"]] * pvCost); - values$premiums[["unit.net"]] = enumerator/ifelse(denominator == 0, 1, denominator); - values$premiums[["net"]] = values$premiums[["unit.net"]] * sumInsured; - coefficients[["net"]] = coeff; - - # ======================================================================= = - # ZILLMER Premium - # ----------------------------------------------------------------------- - - coeff = self$getPremiumCoefficients("Zillmer", pv * 0, pvCost * 0, premiums = values$premiums, params = params, values = values, premiumCalculationTime = premiumCalculationTime); - enumerator = sum(coeff[["SumInsured"]][["benefits"]] * pv) + sum(coeff[["SumInsured"]][["costs"]] * pvCost); - denominator = sum(coeff[["Premium" ]][["benefits"]] * pv) + sum(coeff[["Premium" ]][["costs"]] * pvCost); - values$premiums[["unit.Zillmer"]] = enumerator/ifelse(denominator == 0, 1, denominator); - values$premiums[["Zillmer"]] = values$premiums[["unit.Zillmer"]] * sumInsured; - coefficients[["Zillmer"]] = coeff; - - - # ======================================================================= = - # Additional premium components (after gross premium) - # ----------------------------------------------------------------------- - - # The written premium is the gross premium with additional loadings, rebates, unit costs and taxes - tax = valueOrFunction(loadings$tax, params = params, values = values); - unitCosts = valueOrFunction(loadings$unitcosts, params = params, values = values); - noMedicalExam = valueOrFunction(loadings$noMedicalExam,params = params, values = values); - noMedicalExam.relative = valueOrFunction(loadings$noMedicalExamRelative,params = params, values = values); - extraRebate = valueOrFunction(loadings$extraRebate, params = params, values = values); - sumRebate = valueOrFunction(loadings$sumRebate, params = params, values = values); - premiumRebateRate = valueOrFunction(loadings$premiumRebate,params = params, values = values); - premiumRebate = applyHook(params$Hooks$premiumRebateCalculation, premiumRebateRate, params = params, values = values); - - extraChargeGrossPremium = valueOrFunction(loadings$extraChargeGrossPremium, params = params, values = values); - advanceProfitParticipation = 0; - advanceProfitParticipationUnitCosts = 0; - ppScheme = params$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - advanceProfitParticipation = ppScheme$getAdvanceProfitParticipation(params = params, values = values) - advanceProfitParticipationUnitCosts = ppScheme$getAdvanceProfitParticipationAfterUnitCosts(params = params, values = values) - } - if (is.null(advanceProfitParticipation)) advanceProfitParticipation = 0; - if (is.null(advanceProfitParticipationUnitCosts)) advanceProfitParticipationUnitCosts = 0; - - partnerRebate = valueOrFunction(loadings$partnerRebate, params = params, values = values); - - pv.unitcosts = sum( - pvCost["unitcosts","SumInsured",] * sumInsured + - pvCost["unitcosts","SumPremiums",] * values$unitPremiumSum * values$premiums[["gross"]] + - pvCost["unitcosts","GrossPremium",] * values$premiums[["gross"]] + - pvCost["unitcosts","NetPremium",] * values$premiums[["net"]] + - pvCost["unitcosts","Constant",] - ) - premium.unitcosts = ifelse(pv[["premiums"]] == 0, 0, pv.unitcosts / pv[["premiums"]] + valueOrFunction(loadings$unitcosts, params = params, values = values)); - - - frequencyLoading = self$evaluateFrequencyLoading(loadings$premiumFrequencyLoading, params$ContractData$premiumFrequency, params = params, values = values) - premiumBeforeTax = (values$premiums[["unit.gross"]]*(1 + noMedicalExam.relative + extraChargeGrossPremium) + noMedicalExam - sumRebate - extraRebate) * sumInsured * (1 - advanceProfitParticipation); - if (!params$Features$unitcostsInGross) { - premiumBeforeTax = premiumBeforeTax + premium.unitcosts; - } - premiumBeforeTax = premiumBeforeTax * (1 - premiumRebate - advanceProfitParticipationUnitCosts - partnerRebate); - premiumBeforeTax.y = premiumBeforeTax * (1 + frequencyLoading); - premiumBeforeTax = premiumBeforeTax.y / params$ContractData$premiumFrequency; - values$premiums[["written_yearly"]] = premiumBeforeTax.y * (1 + tax) - values$premiums[["written_beforetax"]] = premiumBeforeTax; - values$premiums[["tax"]] = premiumBeforeTax * tax; - values$premiums[["written"]] = premiumBeforeTax * (1 + tax); - - applyHook( - params$Hooks$adjustPremiums, - list("premiums" = values$premiums, "coefficients" = coefficients, "sumInsured" = params$ContractData$sumInsured), - params = params, values = values - ) - }, - - #' @description Calculate the reserves of the InsuranceContract given the - #' parameters, present values and premiums already calculated and stored in - #' the \code{params} and \code{values} lists. - #' - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - reserveCalculation = function(params, values) { - if (getOption('LIC.debug.reserveCalculation', FALSE)) { - browser(); - } - t = "0" - securityFactor = (1 + valueOrFunction(params$Loadings$security, params = params, values = values)); - ppScheme = params$ProfitParticipation$profitParticipationScheme; - - absPV = applyHook(params$Hooks$adjustPVForReserves, values$absPresentValues, params = params, values = values); - - # Net, Zillmer and Gross reserves - resNet = absPV[,"benefitsAndRefund"] * securityFactor - values$premiums[["net"]] * absPV[,"premiums.unit"]; - BWZcorr = ifelse(absPV[t, "premiums"] == 0, 0, - absPV[t, "Zillmer"] / absPV[t, "premiums"]) * absPV[,"premiums"]; - resZ = resNet - BWZcorr; - - resAdeq = absPV[,"benefitsAndRefund"] * securityFactor + - absPV[,"alpha"] + absPV[,"beta"] + absPV[,"gamma"] - - values$premiums[["gross"]] * absPV[,"premiums.unit"]; - if (params$Features$unitcostsInGross) { - resAdeq = resAdeq + absPV[, "unitcosts"] - } - - resGamma = absPV[,"gamma"] - - ifelse(absPV[t, "premiums"] == 0, 0, - absPV[t, "gamma"] / absPV[t, "premiums"]) * absPV[,"premiums"] - - - advanceProfitParticipation = 0; - if (!is.null(ppScheme)) { - advanceProfitParticipation = ppScheme$getAdvanceProfitParticipation(params = params, values = values) - } - - # Alpha refund: Distribute alpha-costs to 5 years (or if shorter, the policy period), always starting at time 0: - # If alphaRefunded==TRUE, don't refund a second time! - if (params$ContractState$alphaRefunded) { - alphaRefund = 0 - } else { - r = min(params$ContractData$policyPeriod, params$Loadings$alphaRefundPeriod); - ZillmerSoFar = Reduce("+", values$absCashFlows$Zillmer, accumulate = TRUE); - ZillmerTotal = sum(values$absCashFlows$Zillmer); - len = length(ZillmerSoFar); - if (params$Features$alphaRefundLinear) { - ZillmerVerteilungCoeff = pad0((0:r)/r, len, 1); - } else { - q = self$getTransitionProbabilities(params, values); - pvf = PVfactory$new(qx = q, v = 1/(1 + params$ActuarialBases$i)) - # vector of all ä_{x+t, r-t} - pvAlphaTmp = pvf$survival(advance = pad0(rep(1,r), len)) - ZillmerVerteilungCoeff = (1 - pvAlphaTmp/pvAlphaTmp[[1]]); - } - alphaRefund = ZillmerSoFar - ZillmerVerteilungCoeff * ZillmerTotal; - } - - # Reduction Reserve: Reserve used for contract modifications: - if (params$Features$zillmering) { - resContractual = resZ + resGamma - resReduction = resZ + alphaRefund; - } else { - resContractual = resAdeq + resGamma - resReduction = resAdeq + alphaRefund; - } - resConversion = resContractual * (1 - advanceProfitParticipation); - if (params$Features$surrenderIncludesCostsReserves) { - resReduction = resReduction + resGamma; - } - resReduction = pmax(0, resReduction) # V_{x,n}^{Rkf} - - # Collect all reserves to one large matrix - res = cbind( - "SumInsured" = head0(rep(params$ContractData$sumInsured, values$int$l)), - "net" = resNet, - "Zillmer" = resZ, - "adequate" = resAdeq, - "gamma" = resGamma, - "contractual" = resContractual, - "conversion" = resConversion, - "alphaRefund" = alphaRefund, - "reduction" = resReduction - #, "Reserve.premiumfree"=res.premiumfree, "Reserve.gamma.premiumfree"=res.gamma.premiumfree); - ); - rownames(res) <- rownames(absPV); - values$reserves = res; - - # The surrender value functions can have arbitrary form, so we store a function - # here in the tarif and call that, passing the reduction reserve as - # starting point, but also all reserves, cash flows, premiums and present values - if (!params$ContractState$surrenderPenalty) { - # No surrender penalty any more (has already been applied to the first contract change!) - surrenderValue = resReduction; - } else if (!is.null(params$ActuarialBases$surrenderValueCalculation)) { - surrenderValue = params$ActuarialBases$surrenderValueCalculation(resReduction, params, values); - } else { - # by default, refund the full reduction reserve, except the advance profit participation, which is also included in the reserve, but not charged on the premium! - advanceProfitParticipationUnitCosts = 0; - ppScheme = params$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - advanceProfitParticipationUnitCosts = ppScheme$getAdvanceProfitParticipationAfterUnitCosts(params = params, values = values) - } - partnerRebate = valueOrFunction(params$Loadings$partnerRebate, params = params, values = values); - surrenderValue = resReduction * (1 - advanceProfitParticipationUnitCosts - partnerRebate); - } - - - # Calculate new sum insured after premium waiver - if (!is.null(params$ActuarialBases$premiumWaiverValueCalculation)) { - premiumfreeValue = params$ActuarialBases$premiumWaiverValueCalculation(resReduction, params, values); - } else { - premiumfreeValue = surrenderValue - } - Storno = 0; # TODO: Implement storno costs - premiumfreePV = (absPV[, "benefits"] * securityFactor + absPV[, "gamma_nopremiums"]); # PV of future premium free claims + costs - newSI = ifelse(premiumfreePV == 0, 0, - (premiumfreeValue - absPV[,"death_Refund_past"] * securityFactor - c(Storno)) / - premiumfreePV * params$ContractData$sumInsured); - - cbind(res, - "PremiumsPaid" = Reduce("+", values$absCashFlows$premiums_advance, accumulate = TRUE), - "Surrender" = surrenderValue, - "PremiumFreeSumInsured" = newSI - ) - }, - - #' @description Calculate the (linear) interpolation factors for the balance - #' sheet reserve (Dec. 31) between the yearly contract closing dates - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param method The method for the balance sheet interpolation (30/360, act/act, act/360, act/365 or a function) - #' @param years how many years to calculate (for some usances, the factor - #' is different in leap years!) - getBalanceSheetReserveFactor = function(method, params, years = 1) { - if (getOption('LIC.debug.getBalanceSheetReserveFactor', FALSE)) { - browser(); - } - balanceDate = params$ActuarialBases$balanceSheetDate - year(balanceDate) = year(params$ContractData$contractClosing); - if (balanceDate < params$ContractData$contractClosing) { - balanceDate = balanceDate + years(1); - } - - # contractDates = params$ContractData$contractClosing + years(1:years); - # balanceDates = balanceDate + years(1:years - 1); - contractDates = seq(params$ContractData$contractClosing, length.out = years, by = "year") - balanceDates = seq(balanceDate, length.out = years, by = "year") - - if (is.function(method)) { - baf = method(params = params, contractDates = contractDates, balanceDates = balanceDates) - } else if (method == "30/360") { - baf = ((month(balanceDates + days(1)) - month(contractDates) - 1) %% 12 + 1) / 12 - } else if (method == "act/act") { - baf = as.numeric((balanceDates + days(1)) - contractDates, units = "days" ) / as.numeric(balanceDates - (balanceDates - years(1)), units = "days") - } else if (method == "act/360") { - baf = pmin(as.numeric((balanceDates + days(1)) - contractDates, units = "days" ) / 360, 1) - } else if (method == "act/365") { - baf = pmin(as.numeric((balanceDates + days(1)) - contractDates, units = "days" ) / 365, 1) - } - data.frame(date = balanceDates, time = baf + (1:years) - 1, baf = baf) - }, - - #' @description Calculate the reserves for the balance sheets at Dec. 31 of each - #' year by interpolation from the contract values calculated for - #' the yearly reference date of the contract - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - reserveCalculationBalanceSheet = function(params, values) { - if (getOption('LIC.debug.reserveCalculationBalanceSheet', FALSE)) { - browser(); - } - reserves = values$reserves; - years = length(reserves[,"Zillmer"]); - # Balance sheet reserves: - factors = self$getBalanceSheetReserveFactor(method = params$ActuarialBases$balanceSheetMethod, params = params, years = years); - baf = factors$baf - factors$baf = NULL - - useUnearnedPremiums = valueOrFunction(params$Features$useUnearnedPremiums, params = params, values = values) - resN_BS = (1 - baf) * (reserves[,"net"] + if (!useUnearnedPremiums) values$premiumComposition[,"net"] else 0) + baf * c(reserves[-1, "net"], 0) - resZ_BS = (1 - baf) * (reserves[,"Zillmer"] + if (!useUnearnedPremiums) values$premiumComposition[,"Zillmer"] else 0) + baf * c(reserves[-1, "Zillmer"], 0) - resGamma_BS = (1 - baf) * (reserves[,"gamma"] + if (!useUnearnedPremiums) values$premiumComposition[,"gamma"] else 0) + baf * c(reserves[-1, "gamma"], 0) - resGross_BS = (1 - baf) * (reserves[,"adequate"] + if (!useUnearnedPremiums) sum(values$premiumComposition[,c("alpha", "beta", "gamma")]) else 0) + baf * c(reserves[-1, "adequate"], 0) - if (params$Features$zillmering) { - res_BS = resZ_BS + resGamma_BS; - } else { - res_BS = resGross_BS; - } - - # Premium transfer / unearned premium: - if (useUnearnedPremiums) { - fact = valueOrFunction(params$ActuarialBases$unearnedPremiumsMethod, params = params, dates = factors$date) - if (is.null(fact) || is.na(fact)) { - freq = params$ContractData$premiumFrequency - bm = month(params$ContractData$contractClosing) - - fact = (bm - month(factors$date) + 12 - 1) %% (12/freq) * (freq/12) - } - # TODO: We have no vector of actual written premiums (implicit assumption - # seems to be that the premium stays constant!). Once we have such a vector, - # rewrite the following code - unearnedPremiums = fact * values$cashFlows$premiums_advance * values$premiums[["written_beforetax"]] # TODO - # If advance profit participation is granted, unearned premiums still apply to the whole gross premium without PP and partner rebate! - ppScheme = params$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - partnerRebate = valueOrFunction(params$Loadings$partnerRebate, params = params, values = values); - advanceProfitParticipation = ppScheme$getAdvanceProfitParticipationAfterUnitCosts(params = params, values = values); - unearnedPremiums = unearnedPremiums / (1 - partnerRebate - advanceProfitParticipation); - } - } else { - # If reserves contain single-premium, no unearned premiums are shown in the balance sheet! - unearnedPremiums = 0 - } - - # Collect all reserves to one large matrix - res = cbind(factors, - "net" = pmax(resN_BS,0), - "Zillmer" = pmax(resZ_BS,0), - "gamma" = pmax(resGamma_BS,0), - "gross" = pmax(resGross_BS,0), - "Balance Sheet Reserve" = pmax(res_BS,0), - "unearned Premiums" = unearnedPremiums - ); - rownames(res) <- rownames(reserves); - res - }, - - #' @description Calculate the profit participation given the contract - #' parameters and the already calculated reserves of the contract. - #' - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param ... Additional parameters for the profit participation calculation, passed - #' through to the profit participation scheme's \href{../../LifeInsuranceContracts/html/ProfitParticipation.html#method-getProfitParticipation}{\code{ProfitParticipation$getProfitParticipation()}} - calculateProfitParticipation = function(params, ...) { - if (getOption('LIC.debug.calculateProfitParticipation', FALSE)) { - browser(); - } - ppScheme = params$ProfitParticipation$profitParticipationScheme; - if (!is.null(ppScheme)) { - ppScheme$getProfitParticipation(params = params, ...) - } - }, - - #' @description Calculate the reserves after profit participation for the given profit scenario - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' @param profitScenario The ID of the profit scenario for which to calculate the reserves - #' @param ... TODO - reservesAfterProfit = function(profitScenario, params, values, ...) { - if (getOption('LIC.debug.reservesAfterProfit', FALSE)) { - browser(); - } - # TODO - }, - - - #' @description Return the time series of the basic contract - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - getBasicDataTimeseries = function(params, values) { - if (getOption('LIC.debug.getBasicDataTimeseries', FALSE)) { - browser(); - } - res = cbind( - "PremiumPayment" = values$premiumComposition[, "charged"] > 0, - "SumInsured" = values$reserves[, "SumInsured"], - "Premiums" = values$absCashFlows$premiums_advance + values$absCashFlows$premiums_arrears, - "InterestRate" = rep(params$ActuarialBases$i, values$int$l), - "PolicyDuration" = rep(values$int$policyTerm, values$int$l), - "PremiumPeriod" = rep(values$int$premiumTerm, values$int$l) - ); - rownames(res) = 0:(values$int$l-1); - res - }, - - #' @description Calculate the time series of the premium decomposition of the contract - #' @details Not to be called directly, but implicitly by the [InsuranceContract] object. - #' All premiums, reserves and present values have already been calculated. - premiumDecomposition = function(params, values) { - if (getOption('LIC.debug.premiumDecomposition', FALSE)) { - browser(); - } - loadings = params$Loadings; - sumInsured = params$ContractData$sumInsured; - premiums = values$premiums; - v = 1/(1 + params$ActuarialBases$i); - l = dim(values$reserves)[[1]]; - ppScheme = params$ProfitParticipation$profitParticipationScheme; - t = as.character(0) # Time for original premium calculation => TODO: Use values stored in ContractData? - - # TODO: This assumes all premiums are paid in advance! - premium.gross = values$absCashFlows[,"premiums_advance"]; - - # First get the charges and rebates that are added to the gross premium to obtain the charged premium: - - # charge for no medical exam: - extraChargeGrossPremium = valueOrFunction(loadings$extraChargeGrossPremium, params = params, values = values); - noMedExam = valueOrFunction(loadings$noMedicalExam,params = params, values = values); - noMedExam.rel = valueOrFunction(loadings$noMedicalExamRelative,params = params, values = values); - withMedExam = premium.gross * (1 + noMedExam.rel + extraChargeGrossPremium) + noMedExam * sumInsured; - charge.noMedicalExam = withMedExam - premium.gross; - - # sum rebate: - sumRebate = valueOrFunction(loadings$sumRebate, params = params, values = values); - extraRebate = valueOrFunction(loadings$extraRebate, params = params, values = values); - afterSumRebate = withMedExam - (sumRebate + extraRebate) * sumInsured; # calculate the charge as the difference, because we want a vector! - rebate.sum = afterSumRebate - withMedExam; - - # advance profit participation has two parts, one before and one after unit costs. Part 1: - advanceProfitParticipation = 0; - if (!is.null(ppScheme)) { - advanceProfitParticipation = ppScheme$getAdvanceProfitParticipation(params = params, values = values) - } - afterProfit = afterSumRebate * (1 - advanceProfitParticipation); - profits.advance = afterProfit - afterSumRebate; - - # unit costs - unitCosts = premiums[["unitcost"]]; - # unit costs are only charged if a premium is paid, so exclude all times with premium==0! - if (!params$Features$unitcostsInGross) { - afterUnitCosts = afterProfit + (afterProfit != 0)*unitCosts; - unitcosts = afterUnitCosts - afterProfit; - } else { - afterUnitCosts = afterProfit; - unitcosts = 0; - } - - # advance profit participation, Part 2: - advanceProfitParticipationUnitCosts = 0; - if (!is.null(ppScheme)) { - advanceProfitParticipationUnitCosts = ppScheme$getAdvanceProfitParticipationAfterUnitCosts(params = params, values = values) - } - afterProfit = afterUnitCosts * (1 - advanceProfitParticipationUnitCosts); - profits.advance = profits.advance + afterProfit - afterUnitCosts; - - # premium rebate - premiumRebateRate = valueOrFunction(loadings$premiumRebate,params = params, values = values); - premiumRebate = applyHook(params$Hooks$premiumRebateCalculation, premiumRebateRate, params = params, values = values); - - afterPremiumRebate = afterUnitCosts * (1 - premiumRebate); - rebate.premium = afterPremiumRebate - afterUnitCosts; - - # partner rebate - partnerRebate = valueOrFunction(loadings$partnerRebate,params = params, values = values); - afterPartnerRebate = afterUnitCosts * (1 - partnerRebate); - rebate.partner = afterPartnerRebate - afterUnitCosts; - - # value after all rebates - afterRebates = afterProfit + rebate.premium + rebate.partner; - - # premium frequency loading - frequencyLoading = self$evaluateFrequencyLoading(loadings$premiumFrequencyLoading, params$ContractData$premiumFrequency, params = params, values = values) - - afterFrequency = afterRebates * (1 + frequencyLoading); - charge.frequency = afterFrequency - afterRebates; - - # insurance tax - taxRate = valueOrFunction(loadings$tax, params = params, values = values); - premium.charged = afterFrequency * (1 + taxRate); - tax = premium.charged - afterFrequency; - - - # Gross premium = net + zillmeredAlpha + unzillmeredAlpha + beta + gamma premium - unit.premiumCF = if (premiums[["gross"]] == 0) { premium.gross * 0 } else { premium.gross / premiums[["gross"]] } - if (values$absPresentValues[t, "premiums.unit"] == 0) { - premium.gamma = 0 - premium.beta = 0 - premium.alpha = 0 - premium.alpha.Zillmer = 0 - } else { - premium.gamma = unit.premiumCF * values$absPresentValues[t, "gamma"] / values$absPresentValues[t, "premiums.unit"]; - premium.beta = unit.premiumCF * values$absPresentValues[t, "beta"] / values$absPresentValues[t, "premiums.unit"]; - premium.alpha = unit.premiumCF * values$absPresentValues[t, "alpha"] / values$absPresentValues[t, "premiums.unit"]; - premium.alpha.Zillmer = unit.premiumCF * values$absPresentValues[t, "Zillmer"] / values$absPresentValues[t, "premiums.unit"]; - } - premium.Zillmer = unit.premiumCF * premiums[["Zillmer"]]; - premium.alpha.noZ = premium.alpha - premium.alpha.Zillmer; # ungezillmerter Teil der Abschlusskosten - - premium.net = unit.premiumCF * premiums[["net"]]; - - securityLoading = valueOrFunction(params$Loadings$security, params = params, values = values); - qq = self$getTransitionProbabilities(params, values); - premium.risk.actual = v * (values$absCashFlows[,"death"] - c(values$reserves[,"net"][-1], 0)) * pad0(qq$qx, l); - premium.risk.security = v * (values$absCashFlows[,"death"] * securityLoading) * pad0(qq$qx, l); - premium.risk = premium.risk.actual + premium.risk.security; - - premium.risk.disease.actual = v * (values$absCashFlows[,"disease_SumInsured"] - c(values$reserves[,"net"][-1], 0)) * pad0(qq$ix, l); - premium.risk.disease.security = v * (values$absCashFlows[,"disease_SumInsured"] * securityLoading) * pad0(qq$ix, l); - premium.risk.disease = premium.risk.disease.actual + premium.risk.disease.security; - premium.savings = getSavingsPremium( - values$reserves[,"net"], v = v, - survival_advance = values$absCashFlows[,"survival_advance"] + values$absCashFlows[,"guaranteed_advance"], - survival_arrears = values$absCashFlows[,"survival_arrears"] + values$absCashFlows[,"guaranteed_arrears"] - ) - - premium.Zillmer.risk.actual = v * (values$absCashFlows[,"death"] - c(values$reserves[,"contractual"][-1], 0)) * pad0(qq$qx, l); - premium.Zillmer.risk.security = v * (values$absCashFlows[,"death"] * securityLoading) * pad0(qq$qx, l); - premium.Zillmer.risk = premium.Zillmer.risk.actual + premium.Zillmer.risk.security; - premium.Zillmer.risk.disease.actual = v * (values$absCashFlows[,"disease_SumInsured"] - c(values$reserves[,"contractual"][-1], 0)) * pad0(qq$ix, l); - premium.Zillmer.risk.disease.security = v * (values$absCashFlows[,"disease_SumInsured"] * securityLoading) * pad0(qq$ix, l); - premium.Zillmer.risk.disease = premium.Zillmer.risk.disease.actual + premium.Zillmer.risk.disease.security; - - - premium.Zillmer.savings = getSavingsPremium( - values$reserves[,"contractual"], v = v, - survival_advance = values$absCashFlows[,"survival_advance"] + values$absCashFlows[,"guaranteed_advance"], - survival_arrears = values$absCashFlows[,"survival_arrears"] + values$absCashFlows[,"guaranteed_arrears"] - ) - premium.Zillmer.amortization = getSavingsPremium( - pmin(0, values$reserves[,"contractual"]), v = v - ) - premium.Zillmer.actsavings = getSavingsPremium( - pmax(0, values$reserves[,"contractual"]), v = v, - survival_advance = values$absCashFlows[,"survival_advance"] + values$absCashFlows[,"guaranteed_advance"], - survival_arrears = values$absCashFlows[,"survival_arrears"] + values$absCashFlows[,"guaranteed_arrears"] - ) - - res = cbind( - "charged" = premium.charged, - "tax" = tax, - "loading.frequency" = charge.frequency, - "rebate.premium" = rebate.premium, - "rebate.partner" = rebate.partner, - "unitcosts" = unitcosts, - "profit.advance" = profits.advance, - "rebate.sum" = rebate.sum, - "charge.noMedicalExam" = charge.noMedicalExam, - "gross" = premium.gross, - - "gamma" = premium.gamma, - "beta" = premium.beta, - "alpha" = premium.alpha, - "alpha.noZillmer" = premium.alpha.noZ, - "alpha.Zillmer" = premium.alpha.Zillmer, - "Zillmer" = premium.Zillmer, - - "net" = premium.net, - - "risk" = premium.risk, - "premium.risk.actual" = premium.risk.actual, - "premium.risk.security" = premium.risk.security, - "risk.disease" = premium.risk.disease, - "premium.risk.disease.actual" = premium.risk.disease.actual, - "premium.risk.disease.security" = premium.risk.disease.security, - "savings" = premium.savings, - - "Zillmer.risk" = premium.Zillmer.risk, - "Zillmer.risk.actual" = premium.Zillmer.risk.actual, - "Zillmer.risk.security" = premium.Zillmer.risk.security, - "Zillmer.risk.disease" = premium.Zillmer.risk.disease, - "Zillmer.risk.disease.actual" = premium.Zillmer.risk.disease.actual, - "Zillmer.risk.disease.security" = premium.Zillmer.risk.disease.security, - - "Zillmer.savings" = premium.Zillmer.savings, - "Zillmer.amortization" = premium.Zillmer.amortization, - "Zillmer.savings.real" = premium.Zillmer.actsavings - ) - rownames(res) <- rownames(premiums); - res - }, - - - #' @description Generic function to calculate future sums of the values - #' @param cf The time series, for which future sums at all times are desired - #' @param ... currently unused - calculateFutureSums = function(cf, ...) { - rcumsum = function(vec) rev(cumsum(rev(vec))) - apply(cf, 2, rcumsum) - }, - #' @description Calculate all present values for a given time series. The - #' mortalities are taken from the contract's parameters. - #' @param cf The time series, for which future present values at all - #' times are desired - #' @param ... currently unused - calculatePresentValues = function(cf, params, values) { - len = dim(cf)[1]; - qq = self$getTransitionProbabilities(params, values); - i = params$ActuarialBases$i; - premFreq = params$ContractData$premiumFrequency; - premFreqCorr = correctionPaymentFrequency( - i = i, m = premFreq, - order = valueOrFunction(params$ActuarialBases$premiumFrequencyOrder, params = params, values = values)); - - pvf = PVfactory$new(qx = qq, m = premFreq, mCorrection = premFreqCorr, v = 1/(1 + i)); - pvf$survival(advance = cf) - }, - - #' @description Calculate the premium frequency loading, i.e. the surcharge - #' on the premium for those cases where the premium is not paid yearly. - #' Return values can be either a numeric value or a named list with all - #' possible premium frequencies as keys. - #' @param loading The premiumFrequencyLoading parameter of the Contract or Tariff to be evaluated - #' @param frequency The premiumFrequency parameter of the contract - evaluateFrequencyLoading = function(loading, frequency, params, values) { - frequencyLoading = valueOrFunction(loading, frequency = frequency, params = params, values = values); - if (is.null(frequencyLoading)) { - 0 - } else if (is.list(frequencyLoading)) { - if (as.character(frequency) %in% names(frequencyLoading)) { - frequencyLoading[[as.character(frequency)]] - } else { - warning("Unable to handle premium frequency ", frequency, " with the given loading ", frequencyLoading); - } - } else if (is.numeric(frequencyLoading)) { - frequencyLoading - } else { - warning("premiumFrequencyLoading must be a number or a named list, given: ", frequencyLoading); - 0 - } - }, - - - - #' @field dummy Dummy field to allow commas after the previous method - dummy = 0 - ) -) - diff --git a/R/ProfitParticipation.R b/R/ProfitParticipation.R deleted file mode 100644 index 1bf0964..0000000 --- a/R/ProfitParticipation.R +++ /dev/null @@ -1,580 +0,0 @@ -#' @include HelperFunctions.R InsuranceParameters.R ProfitParticipation_Functions.R -#' -#' @import R6 -#' @import dplyr -NULL -# Shut up the package checker: -# if (getRversion() >= "2.15.1") utils::globalVariables(c("profitClass")) - -#' Filter the whole data.frame of profit rates for the given profit classes -#' -#' This is a rather trivial helper function, which just calls [dplyr::filter()]. -#' -#' @param rates data.frame containing all profit rates for multiple profit classes -#' @param classes the profit classes, for which rates should be extracted -#' -#' @export -filterProfitRates = function(rates, classes) { - rates %>% - dplyr::filter(.data$profitClass %in% classes) -} - - -#' Base Class for Profit Participation Schemes -#' -#' Base class for Profit Participation schemes (holding contract-independent values and -#' providing methods to calculate the profit participation values from the given -#' reserves). -#' -#' The profit participation object is typically not used directly, but rather -#' defined once and then passed on to an [InsuranceTarif] or [InsuranceContract] -#' object, where it will be used internally when profit participation is -#' calculated. -#' -#' This class provides the technical implementation of a profit plan for traditional -#' life insurance contracts with a guaranteed component (calculated before the -#' profit scheme comes into play) and a discretionary profit on top. -#' -#' @param params Contract-specific, full set of parameters of the contract -#' (merged parameters of the defaults, the tariff, the profit participation -#' scheme and the contract) -#' @param values Contract values calculated so far (guaranteed component of the -#' insurance contract, including cash flows, premiums, reserves etc.). -#' -#' @export -ProfitParticipation = R6Class( - "ProfitParticipation", - public = list( - #' @field name The human-readable name of the profit plan. - name = "Name des Gewinnplans", - #' @field Parameters Parameter template for profit-participation-specific - #' parameters, i.e. the \code{ProfitParticipation} element of the - #' [InsuranceContract.ParameterStructure] data structure. - #' - #' All elements defined in the profit scheme can be overriden per contract - #' in the call to \code{[InsuranceContract]$new} or even in the explicit - #' call to \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-profitScenario}{\code{InsuranceContract$profitScenario()}}}{\code{InsuranceContract$profitScenario()()}} - #' or \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}}}{\code{InsuranceContract$addProfitScenario()()}}. - #' - #' - Parameters = InsuranceContract.ParameterStructure$ProfitParticipation, - - ########################################################################m# - # Function blocks (modular) to determine bases, rates and calculation ##m# - ########################################################################m# - #' @field Functions list of functions defined to calculate the individual - #' components. For each of the profit components - #' \itemize{ - #' \item interest profit - #' \item risk profit - #' \item expense profit - #' \item sum profit - #' \item terminal bonus - #' \item terminal bonus fund - #' } - #' a rate, a profit base and a calculation function can be defined, by assigning one of the pre-defined - #' [ProfitParticipationFunctions] or proving your own function with signature - #' \code{function(rates, params, values, ...)}. Additionally, for each of the - #' benefit types (survival, death, surrender, premium waiver) a function can - #' be provided to calculate the benefit stemming from profit participation. - Functions = list( - - #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - # Calculation bases for the various types of profit - # Can / shall be overridden in child classes that use other bases! - #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - getInterestProfitBase = PP.base.meanContractualReserve, - getRiskProfitBase = PP.base.ZillmerRiskPremium, - getExpenseProfitBase = PP.base.sumInsured, - getSumProfitBase = PP.base.sumInsured, - getTerminalBonusBase = PP.base.sumInsured, - getTerminalBonusFundBase = PP.base.totalProfitAssignment, - - #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - # Profit rates for the various types of profit - # Can / shall be overridden in child classes that use other schemes! - #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - getInterestProfitRate = PP.rate.interestProfit, - getRiskProfitRate = PP.rate.riskProfit, - getExpenseProfitRate = PP.rate.expenseProfit, - getSumProfitRate = PP.rate.sumProfit, - getTerminalBonusRate = PP.rate.terminalBonus, - getTerminalBonusFundRate= PP.rate.terminalBonusFund, - - - getInterestOnProfits = PP.rate.totalInterest, - - - - calculateInterestProfit = PP.calculate.RateOnBase, - calculateRiskProfit = PP.calculate.RateOnBase, - calculateExpenseProfit = PP.calculate.RateOnBase, - calculateSumProfit = PP.calculate.RateOnBase, - - calculateTerminalBonus = PP.calculate.RateOnBase, - getTerminalBonusReserve = function(profits, rates, terminalBonus, terminalBonusAccount, params, values) { - n = length(terminalBonusAccount) - terminalBonusAccount * 1/(1.07) ^ ((n - 1):0) - }, - calculateTerminalBonusFund = PP.calculate.RateOnBase, - - #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - # Calculations of the assigned profit amounts, based on the bases and - # rates defined with the functions above. - # Can / shall be overridden in child classes that use other bases! - #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - - calculateSurvivalBenefit = PP.benefit.ProfitPlusTerminalBonusReserve, - calculateDeathBenefitAccrued = PP.benefit.ProfitPlusGuaranteedInterest, - calculateDeathBenefitTerminal = PP.benefit.TerminalBonus5YearsProRata, - calculateSurrenderBenefitAccrued = PP.benefit.ProfitPlusHalfGuaranteedInterest, - calculateSurrenderBenefitTerminal = PP.benefit.TerminalBonus5YearsProRata, - calculatePremiumWaiverBenefitAccrued = PP.benefit.Profit, - calculatePremiumWaiverBenefitTerminal = PP.benefit.TerminalBonus5YearsProRata, - - - dummy = 0 - ), - - - #' @description Create a new profit participation scheme - #' @details This function is called when a new profit participation scheme - #' is created with a call to \code{ProfitParticipation$new(...)}. Possible - #' parameters to the \code{new}-Call are all parameters from the `ProfitParticipation` sublist of the - #' [InsuranceContract.ParameterStructure] parameter - #' structure (which are understood as template values that can be overridden - #' per contract or even per profit participation scenario) and the components - #' of the `Functions` field defining the functions to calculate the individual - #' components of the profit participation (rates, calculation bases, calculation, benefits) - #' - #' @param name The name of the profit scheme (typicall the name of the profit plan and its version) - #' @param ... profit participation parameters to be stored in the - #' `Parameters field or calculation functions to be stored in the `Functions` - #' field - initialize = function(name = NULL, ...) { - if (!missing(name)) self$name = name; - self$setParameters(...); - self$setFunctions(...); - self$setFallbackParameters(); - }, - - - #' @description Store all passed parameters in the `Parameters` field - #' @param ... any of the named fields defined in the `ProfitParticipation` sublist of the - #' [InsuranceContract.ParameterStructure]. All other arguments will be ignored - setParameters = function(...) { - self$Parameters = fillFields(self$Parameters, list(...)); - }, - - #' @description Store all passed functions in the `Functions` field - #' @param ... any of the functions defined in the `Functions` field. All other - #' arguments will be ignored - setFunctions = function(...) { - self$Functions = fillFields(self$Functions, list(...)); - }, - - #' @description Fill all missing parameters with the default fall-back values - setFallbackParameters = function() { - self$Parameters = fallbackFields(self$Parameters, list(profitParticipationScheme = self)); - self$Parameters = fallbackFields(self$Parameters, InsuranceContract.ParameterDefaults$ProfitParticipation); - }, - - #' @description create a copy of a profit scheme with certain parameters changed - #' @details This method \code{createModification} returns a copy of the profit scheme - #' with all given arguments changed in the schmes's `Parameters` - #' parameter list. - #' - #' As ProfitParticipation is a R6 class with reference logic, simply assigning - #' the object to a new variable does not create a copy, but references the - #' original profit scheme object. To create an actual copy, one needs to call this - #' method, which first clones the whole object and then adjusts all parameters - #' to the values passed to this method. - #' - #' @param name The new name for the cloned [ProfitParticipation] object - #' @param ... Parameters for the [InsuranceContract.ParameterStructure], - #' defining the characteristics of the tariff. - createModification = function(name = NULL, ...) { - cloned = self$clone(); - if (!missing(name)) cloned$name = name; - cloned$Parameters = fillFields(cloned$Parameters, list(...)); - cloned$Functions = fillFields(cloned$Functions, list(...)); - cloned - }, - - - ##########################################################################m# - # Advance Profit Participation #### - ##########################################################################m# - - #' @description Calculate and return the advance profit participation (to be - #' applied on the actuarial gross premium) - #' - #' @details The [InsuranceContract]'s param structure [InsuranceContract.ParameterStructure] - #' contains the field \code{params$ProfitParticipation$advanceProfitParticipation}, - #' which can either be numeric rate for advance profit participation, or - #' a function with signature \code{function(params, values, ...)} that - #' returns the advance profit participation rate when called with the - #' contract's parameters and the values calculated so far (cash flows and premiums) - #' @return Return either one numerical value (constant for the whole premium payment period) - #' of a vector of numerical values for the whole contract period - #' - #' @param ... optional parameters, to be passed to the advanceProfitParticipation - #' field of the parameter structure (if that is a function) - getAdvanceProfitParticipation = function(params, values, ...) { - valueOrFunction(params$ProfitParticipation$advanceProfitParticipation, params, values, ...) - }, - - - #' @description Calculate and return the advance profit participation (to be - #' applied after unit costs are added to the gross premium) - #' - #' @details The [InsuranceContract]'s param structure [InsuranceContract.ParameterStructure] - #' contains the field \code{params$ProfitParticipation$advanceProfitParticipationInclUnitCost}, - #' which can either be numeric rate for advance profit participation, or - #' a function with signature \code{function(params, values, ...)} that - #' returns the advance profit participation rate when called with the - #' contract's parameters and the values calculated so far (cash flows and premiums) - #' @return Return either one numerical value (constant for the whole premium payment period) - #' of a vector of numerical values for the whole contract period - #' - #' @param ... optional parameters, to be passed to the advanceProfitParticipationInclUnitCost - #' field of the parameter structure (if that is a function) - getAdvanceProfitParticipationAfterUnitCosts = function(params, values, ...) { - valueOrFunction(params$ProfitParticipation$advanceProfitParticipationInclUnitCost, params, values, ...) - }, - - - ##########################################################################m# - # Traditional Profit participation: #### - # - Interest profit ##m# - # - Risk profit ##m# - # - Expense profit ##m# - # - Sum profit ##m# - # - Terminal bonus ##m# - ##########################################################################m# - - - #' @description Set up the data.frame containing the profit participation rates - #' @param ... additional parameters passed to the profit calculation functions - #' stored in the `Functions` field. - setupRates = function(params, values, ...) { - # 1) Profit scheme or contract provides general company-wide profit rates for some years: - # profitRates - # 2) Contract can override individual rates (either for calendar years or contract years): - # guaranteedInterest, interestProfitRate, totalInterest, mortalityProfitRate, - # expenseProfitRate, sumProfitRate, terminalBonusRate, terminalBonusFundRate - # 3) Explicit function arguments (either for calendar years or contract years). - # 4) Any missing values will be taken from the last given year - startYear = year(params$ContractData$contractClosing); - policyPeriod = params$ContractData$policyPeriod; - years = startYear:(startYear + policyPeriod); - - columns = c( - "year", - "guaranteedInterest", "interestProfitRate", "totalInterest", "interestProfitRate2", "totalInterest2", - "mortalityProfitRate", "expenseProfitRate", "expenseProfitRate_premiumfree", - "sumProfitRate", - "terminalBonusRate", "terminalBonusFundRate") - rates = data.frame(matrix(ncol = length(columns), nrow = length(years), dimnames = list(years = years, rates = columns))) - rates$year = years; - - # 1) profitRates are general company-wide tables with all default rates - # => use them as default, unless overridden - defrates = params$ProfitParticipation$profitRates - if (!is.null(defrates)) { - profclass = params$ProfitParticipation$profitClass - defrates = dplyr::filter(defrates, profitClass == profclass) - rownames(defrates) = defrates$year - - defcols = intersect(columns, colnames(defrates)) - - rates[rownames(defrates), defcols] = defrates[, defcols] - } - - # 2) Add the explicit overrides per profit rate (from the contract) - for (col in columns) { - if (!is.null(params$ProfitParticipation[[col]])) { - rt = valueOrFunction(params$ProfitParticipation[[col]], params = params, values = values); - if (is.null(names(rt))) { - # numeric value or vector => assume values from the contract start year - # and fill ALL policy years with the given rates (last entry repeated) - rates[as.character(years), col] = padLast(rt, length(years)); - } else { - # values with years assigned => use them only for the given year(s), don't override any other year - rates[names(rt), col] = rt; - rates[names(rt), "year"] = names(rt); - } - } - } - - # 3) Use explicit function param overrides per profit rate (from this function call) - argcols = match.call(expand.dots = FALSE)$`...`; - matching.cols = intersect(columns, names(argcols)) - for (col in matching.cols) { - rt = eval(argcols[[col]]); - if (!is.null(rt)) { - rt = valueOrFunction(rt, params = params, values = values); - if (is.null(names(rt))) { - # numeric value or vector => assume values from the contract start year - # and fill ALL policy years with the given rates (last entry repeated) - rates[as.character(years), col] = padLast(rt, length(years)); - } else { - # values with years assigned => use them only for the given year(s), don't override any other year - rates[names(rt), col] = rt; - rates[names(rt), "year"] = names(rt); - } - } - } - rownames(rates) = rates[, "year"] - - # 4) Fill all NAs with the last known value - # First, make sure that all entries are in the correct order (sorted by year) - rates - newrates = rates %>% dplyr::arrange(year) %>% dplyr::mutate_all(fillNAgaps) - rownames(newrates) = newrates$year - - # 5) Replace all NA values with 0, so we don't run into any problems later on - newrates[is.na(newrates)] <- 0 - - # TODO: Fix guaranteedInterest + interestProfitRate = totalInterest, where one of them might be missing! - - # Return only the policy years... - self$adjustRates(newrates[as.character(years),], params = params, values = values) - }, - - #' @description Adjust the data.frame of profit participation rates after their setup - #' @details This function provides an easy way to modify the whole set of - #' profit rates after their initial setup. Possible applications are waiting - #' periods, which can be implemented once for all rates rather than inside - #' each individual calculation period. - #' @param rates data.frame of profit paticipation rates - adjustRates = function(rates, params, values) { - rates[1,] = 0; - rates - }, - - - - - - #' @description Calculation the full time series of profit participation for - #' the given contract values - #' - #' @param calculateFrom The time from which to start calculating the profit - #' participation. When a contract is changed at some time t (possibly even - #' changing the profit scheme), all future profit participation needs to be - #' re-calculated from that time on, without changing past profit participation. - #' All values before \code{calculateFrom} will not be calculated. - #' @param profitScenario profit participation values from a previous calculation - #' (NULL if profit calculation is to be calculated from the contract inception). - #' Values before \code{calculateFrom} will be used from this data.frame. - #' @param ... additional parameters to be passed to \href{../../LifeInsuranceContracts/html/ProfitParticipation.html#method-setupRates}{\code{ProfitParticipation$setupRates()}} - getProfitParticipation = function(calculateFrom = 0, profitScenario = NULL, params, values, ...) { - waiting = valueOrFunction(params$ProfitParticipation$waitingPeriod, params = params, values = values); - if (is.numeric(waiting) && waiting > 0) { - waitingFactor = c(rep(0, waiting + 1), rep(1, params$ContractData$policyPeriod - waiting)); - } else { - waitingFactor = 1; - } - rates = self$setupRates(params = params, values = values, ...) - - # Initialize all rates, bases and calc functions to NULL and then set - # only those that are actually used in this profit scheme (all values - # with NULL will silently be ignored in the cbind call) - intBase = riskBase = expenseBase = sumBase = NULL; - intRate = riskRate = expenseRate = sumRate = NULL; - intProfit = riskProfit = expenseProfit = sumProfit = NULL - - interestOnProfitRate = self$Functions$getInterestOnProfits(rates = rates, params = params, values = values); - if ("interest" %in% params$ProfitParticipation$profitComponents) { - intBase = self$Functions$getInterestProfitBase(rates = rates, params = params, values = values); - intRate = self$Functions$getInterestProfitRate(rates = rates, params = params, values = values); - intProfit = self$Functions$calculateInterestProfit(base = intBase, rate = intRate, waiting = waitingFactor, rates = rates, params = params, values = values); - } - if ("risk" %in% params$ProfitParticipation$profitComponents) { - riskBase = self$Functions$getRiskProfitBase(rates = rates, params = params, values = values); - riskRate = self$Functions$getRiskProfitRate(rates = rates, params = params, values = values); - riskProfit = self$Functions$calculateRiskProfit(base = riskBase, rate = riskRate, waiting = waitingFactor, rates = rates, params = params, values = values); - } - if ("expense" %in% params$ProfitParticipation$profitComponents) { - expenseBase = self$Functions$getExpenseProfitBase(rates = rates, params = params, values = values); - expenseRate = self$Functions$getExpenseProfitRate(rates = rates, params = params, values = values); - expenseProfit = self$Functions$calculateExpenseProfit(base = expenseBase, rate = expenseRate, waiting = waitingFactor, rates = rates, params = params, values = values); - } - if ("sum" %in% params$ProfitParticipation$profitComponents) { - sumBase = self$Functions$getSumProfitBase(rates = rates, params = params, values = values); - sumRate = self$Functions$getSumProfitRate(rates = rates, params = params, values = values); - sumProfit = self$Functions$calculateSumProfit(base = sumBase, rate = sumRate, waiting = waitingFactor, rates = rates, params = params, values = values); - } - - res = cbind( - # Profit Calculation Bases - interestBase = c(intBase), - riskBase = c(riskBase), - expenseBase = c(expenseBase), - sumBase = c(sumBase), - - # Profit Rates - guaranteedInterest = c(rates$guaranteedInterest), - totalInterest = c(rates$totalInterest), - interestProfitRate = c(intRate), - riskProfitRate = c(riskRate), - expenseProfitRate = c(expenseRate), - sumProfitRate = c(sumRate), - interestOnProfitRate = c(interestOnProfitRate), - - # Profit components - interestProfit = c(intProfit), - riskProfit = c(riskProfit), - expenseProfit = c(expenseProfit), - sumProfit = c(sumProfit), - componentsProfit = plusNULL(intProfit, riskProfit, expenseProfit, sumProfit), - interestOnProfit = c(0), - totalProfitAssignment = c(0), - - totalProfit = c(0) - ); - - # Use only newly calculated values starting at 'calculateFrom', but use - # old values up to that moment (might be a contract change with a - # completely different profit participation system before!) - res = mergeValues(starting = profitScenario[,colnames(res)], ending = res, t = calculateFrom); - - if (calculateFrom > 0 && !is.null(profitScenario)) { - prev = profitScenario[calculateFrom - 1, "totalProfit"] - } else { - prev = 0; - } - # TODO: turn the interest on profit into a calculator function! - # res = self$Functions$calculateInterestOnProfit(base = sumBase, rate = sumRate, waiting = waitingFactor, rates = rates, params = params, values = values); - for (i in (calculateFrom + 1):nrow(res)) { - res[i,"interestOnProfit"] = res[i,"interestOnProfitRate"] * prev; - res[i,"totalProfitAssignment"] = res[i, "componentsProfit"] + res[i,"interestOnProfit"]; - res[i,"totalProfit"] = prev + res[i,"totalProfitAssignment"]; - prev = res[i,"totalProfit"]; - } - regularBonusAssignment = res[,"totalProfitAssignment"] - - ###########################################################################################################%# - #### OLD Terminal bonus (not through terminal bonus fund, i.e. part of ongoing profits, but in addition) #### - #### Terminal Bonus calculations (might depend on the individual profit assignments calculated above! - ###########################################################################################################%# - #### => TODO: Pass the current profit calculation inside the values!) - if ("terminal" %in% params$ProfitParticipation$profitComponents) { - terminalBase = self$Functions$getTerminalBonusBase(res, rates = rates, params = params, values = values); - terminalRate = self$Functions$getTerminalBonusRate(res, rates = rates, params = params, values = values); - terminalBonus = self$Functions$calculateTerminalBonus(res, - base = terminalBase, rate = terminalRate, calculateFrom = calculateFrom, - waiting = waitingFactor, rates = rates, params = params, values = values); # TODO: Add the AF(v) factor! - - if (calculateFrom == 0) { - terminalBonusAccount = cumsum(terminalBonus); # TODO: Generalize! Not every scheme uses a cumulative account! - } else { - past = profitScenario[1:calculateFrom, "terminalBonusAccount"] - # Preserve values up to calculateFrom, start from the last known value at calculateFrom-1 and sum all further contributions: - terminalBonusAccount = c(head(past, -1), cumsum(c(tail(past,1), tail(terminalBonus, -calculateFrom)))) - } - terminalBonusReserve = self$Functions$getTerminalBonusReserve(res, rates = rates, terminalBonus, terminalBonusAccount, params = params, values = values) - - resTerminal = cbind( - terminalBase, - terminalRate, - terminalBonus, - terminalBonusAccount, - terminalBonusReserve - ) - resTerminal = mergeValues(starting = profitScenario[,colnames(resTerminal)], ending = resTerminal, t = calculateFrom) - # Add the terminal bonus values to the array: - res = cbind(res, resTerminal) - } - - ###########################################################################################################%# - #### NEW Terminal bonus fund (part of regular profits, but not paid out on surrender, reserved as part of the free RfB) #### - ###########################################################################################################%# - if ("TBF" %in% params$ProfitParticipation$profitComponents) { - TBFBase = self$Functions$getTerminalBonusFundBase(res, rates = rates, params = params, values = values); - TBFRate = self$Functions$getTerminalBonusFundRate(res, rates = rates, params = params, values = values); - TBFBonusAssignment = self$Functions$calculateTerminalBonusFund(res, - base = TBFBase, rate = TBFRate, calculateFrom = calculateFrom, - waiting = waitingFactor, rates = rates, params = params, values = values); - regularBonusAssignment = res[,"totalProfitAssignment"] - TBFBonusAssignment - - # Calculate TBF and regular bonus as cumulative sum of the assignments starting at t = calculateFrom plus the previous value! - if (calculateFrom == 0) { - TBF = cumsum(TBFBonusAssignment) - } else { - past = profitScenario[1:calculateFrom, "TBF"] - # Preserve values up to calculateFrom, start from the last known value at calculateFrom-1 and sum all further contributions: - TBF = c(head(past, -1), cumsum(c(tail(past,1), tail(TBFBonusAssignment, -calculateFrom)))) - } - - - resTBF = cbind( - TBFBase, - TBFRate, - TBFBonusAssignment, - TBF - ) - resTBF = mergeValues(starting = profitScenario[,colnames(resTBF)], ending = resTBF, t = calculateFrom) - # Add the terminal bonus fund values to the array: - res = cbind(res, resTBF) - } - - ###########################################################################################################%# - #### Regular bonus assignment / accrued regular bonus AFTER TBF #### - ###########################################################################################################%# - # Calculate regular bonus (after potential TBF subtraction) as cumulative sum of the assignments starting at t = calculateFrom plus the previous value! - if (calculateFrom == 0) { - regularBonus = cumsum(regularBonusAssignment) - } else { - past = profitScenario[1:calculateFrom, "regularBonus"] - regularBonus = c(head(past, -1), cumsum(c(tail(past,1), tail(regularBonusAssignment, -calculateFrom)))) - } - resRegular = cbind(regularBonusAssignment, regularBonus) - resRegular = mergeValues(starting = profitScenario[,colnames(resRegular)], ending = resRegular, t = calculateFrom) - res = cbind(res, resRegular) - - - ###########################################################################################################%# - #### BENEFITS #### - ###########################################################################################################%# - - survival = self$Functions$calculateSurvivalBenefit(res, rates = rates, params = params, values = values); - - deathAccrued = self$Functions$calculateDeathBenefitAccrued(res, rates = rates, params = params, values = values); - deathTerminalBonus = self$Functions$calculateDeathBenefitTerminal(res, rates = rates, params = params, values = values); - - surrenderAccrued = self$Functions$calculateSurrenderBenefitAccrued(res, rates = rates, params = params, values = values); - surrenderTerminalBonus = self$Functions$calculateSurrenderBenefitTerminal(res, rates = rates, params = params, values = values); - - premiumWaiverAccrued = self$Functions$calculatePremiumWaiverBenefitAccrued(res, rates = rates, params = params, values = values); - premiumWaiverTerminalBonus = self$Functions$calculatePremiumWaiverBenefitTerminal(res, rates = rates, params = params, values = values); - - resBenefit = cbind( - survival = survival, - - deathAccrued = deathAccrued, - deathTerminalBonus = deathTerminalBonus, - death = deathAccrued + deathTerminalBonus, - - surrenderAccrued = surrenderAccrued, - surrenderTerminalBonus = surrenderTerminalBonus, - surrender = surrenderAccrued + surrenderTerminalBonus, - - premiumWaiverAccrued = premiumWaiverAccrued, - premiumWaiverTerminalBonus = premiumWaiverTerminalBonus, - premiumWaiver = premiumWaiverAccrued + premiumWaiverTerminalBonus - ) - # Preserve values up to time t=calculateFrom of the old scenario values - resBenefit = mergeValues(starting = profitScenario[,colnames(resBenefit)], ending = resBenefit, t = calculateFrom) - - res = cbind(res, resBenefit); - res - }, - - - - #' @field dummy Dummy to allow commas in the previous method - dummy = 0 - ) -) diff --git a/R/ProfitParticipation_Functions.R b/R/ProfitParticipation_Functions.R deleted file mode 100644 index 942b3b5..0000000 --- a/R/ProfitParticipation_Functions.R +++ /dev/null @@ -1,359 +0,0 @@ -#' @include HelperFunctions.R InsuranceParameters.R -#' -#' @import dplyr -NULL - -#' Helper functions for profit participation -#' -#' Various helper functions for the \code{ProfitParticipation} class that -#' provide the building blocks for the individual components of profit participation, -#' the rates and how the assigned profit is calculated. -#' -#' @name ProfitParticipationFunctions -#' @param rates data.frame of profit rates -#' @param params Contract-specific, full set of parameters of the contract -#' (merged parameters of the defaults, the tariff, the profit participation -#' scheme and the contract) -#' @param values Contract values calculated so far (guaranteed component of the -#' insurance contract, including cash flows, premiums, reserves etc.). -#' @param ... Other values that might be used for the calculation (currently unused) -#' -#' @param base The profit calculation base, on which the rate is to be applied -#' @param rate The profit participation rate -#' @param waiting A possible waiting period -NULL - -shiftBy = function(rate, n = 1) { - nm = names(rate) - res = c(rep(0, n), head(rate, -n)) - names(res) = nm - res - -} - -##########################################################################m## -# Calculation bases for the various types of profit #### -##########################################################################m## - -#' @describeIn ProfitParticipationFunctions -#' Basis for profit: NONE (i.e. always returns 0) -#' @export -PP.base.NULL = function(rates, params, values, ...) { - rep(0, values$int$l) -}; - -#' @describeIn ProfitParticipationFunctions -#' Basis for profit: Previous Zillmer reserve (no administration cost reserve) -#' @export -PP.base.PreviousZillmerReserve = function(rates, params, values, ...) { - shiftBy(values$reserves[,"Zillmer"], n = 1) -} - -#' @describeIn ProfitParticipationFunctions -#' Basis for profit: Zillmer reserve (no administration cost reserve) at time t-2 -#' @export -PP.base.ZillmerReserveT2 = function(rates, params, values, ...) { - shiftBy(values$reserves[,"Zillmer"], n = 2) -} - -#' @describeIn ProfitParticipationFunctions -#' Basis for profit: Contractual reserve (including administration costs) at time t -#' @export -PP.base.contractualReserve = function(rates, params, values, ...) { - pmax(0, values$reserves[,"contractual"]) -}; - -#' @describeIn ProfitParticipationFunctions -#' Basis for profit: Contractual reserve (including administration costs) at time t-1 -#' @export -PP.base.previousContractualReserve = function(rates, params, values, ...) { - shiftBy(values$reserves[,"contractual"], n = 1) -} - -#' @describeIn ProfitParticipationFunctions -#' Basis for profit: Contractual reserve (including administration costs) averaged over t and t-1 -#' @export -PP.base.meanContractualReserve = function(rates, params, values, ...) { - # Rolling mean of the value for the current and previous year. - pmax(0, rollingmean(c(0, values$reserves[,"contractual"]))) -}; - -#' @describeIn ProfitParticipationFunctions -#' Basis for risk/mortality profit: Zillmer Risk Premium of the past year -#' @export -PP.base.ZillmerRiskPremium = function(rates, params, values, ...) { - # The risk premium of t=0 is used to determine the risk profit at time - # t=1, so shift the whole vector! - shiftBy(values$premiumComposition[,"Zillmer.risk"], n = 1) -}; - -#' @describeIn ProfitParticipationFunctions -#' Basis for expense/sum profit: sum insured -#' @export -PP.base.sumInsured = function(rates, params, values, ...) { - params$ContractData$sumInsured -}; - -#' @describeIn ProfitParticipationFunctions -#' Basis for Terminal Bonus Fund Assignment: total profit assignment of the year -#' -#' @param res the data.frame of reserves. -#' @export -PP.base.totalProfitAssignment = function(res, ...) { - res[,"totalProfitAssignment"] -} - - -#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Profit rates for the various types of profit -# Can / shall be overridden in child classes that use other schemes! -#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -#' @describeIn ProfitParticipationFunctions -#' Returns the array of interest profit rates (keyed by year) -#' @export -PP.rate.interestProfit = function(rates, ...) { - rates$interestProfitRate -}; - -#' @describeIn ProfitParticipationFunctions -#' Returns the array of risk profit rates (keyed by year) -#' @export -PP.rate.riskProfit = function(rates, ...) { - rates$mortalityProfitRate -}; -#' @describeIn ProfitParticipationFunctions -#' Returns the array of expense profit rates (keyed by year) -#' @export -PP.rate.expenseProfit = function(rates, ...) { - rates$expenseProfitRate -}; - -#' @describeIn ProfitParticipationFunctions -#' Returns the array of sum profit rates (keyed by year) -#' @export -PP.rate.sumProfit = function(rates, ...) { - rates$sumProfitRate -}; - -#' @describeIn ProfitParticipationFunctions -#' Returns the array of terminal bonus rates (keyed by year) -#' @export -PP.rate.terminalBonus = function(rates, ...) { - rates$terminalBonusRate -}; - -#' @describeIn ProfitParticipationFunctions -#' Returns the array of terminal bonus rates (keyed by year) as the terminal bonus fund ratio -#' @export -PP.rate.terminalBonusFund = function(rates, ...) { - rates$terminalBonusFundRate -}; - - -#' @describeIn ProfitParticipationFunctions -#' Rate for interest on past profits: total credited rate, but at least the guarantee -#' @export -PP.rate.interestProfitPlusGuarantee = function(rates, ...) { - rates$interestProfitRate + rates$guaranteedInterest -}; - -#' @describeIn ProfitParticipationFunctions -#' Rate for interest on past profits: total creditedrate2, but at least the guarantee -#' @export -PP.rate.interestProfit2PlusGuarantee = function(rates, ...) { - rates$interestProfitRate2 + rates$guaranteedInterest -}; - -#' @describeIn ProfitParticipationFunctions -#' Rate for interest on past profits: total interest rate -#' @export -PP.rate.totalInterest = function(rates, ...) { - rates$totalInterest -}; - -#' @describeIn ProfitParticipationFunctions -#' Rate for interest on past profits: second total interest rate -#' @export -PP.rate.totalInterest2 = function(rates, ...) { - rates$totalInterest2 -}; - -#' @describeIn ProfitParticipationFunctions -#' Rate for interest on past profits: second interest profit rate (not including guaranteed interest), keyed by year -#' @export -PP.rate.interestProfit2 = function(rates, ...) { - rates$interestProfitRate2 -}; - - -# TODO -#' @describeIn ProfitParticipationFunctions -#' -#' Calculate the terminal bonus reserve. -#' @param profits The data.frame of profits assigned -#' @param terminalBonus The terminal bonus calculated -#' @param terminalBonusAccount The terminal bonus account (like a bank account, -#' where terminal bonuses are accrued, potentiall discounted from the maturity) -getTerminalBonusReserve = function(profits, rates, terminalBonus, terminalBonusAccount, params, values, ...) { - n = length(terminalBonusAccount) - terminalBonusAccount * 1/(1.07) ^ ((n - 1):0) -}; - - -#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Calculations of the assigned profit amounts, based on the bases and -# rates defined with the functions above. -# Can / shall be overridden in child classes that use other bases! -#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -#' @describeIn ProfitParticipationFunctions -#' Calculate profit by a simple rate applied on the basis (with an optional waiting vector of values 0 or 1) -#' @export -PP.calculate.RateOnBase = function(base, rate, waiting, rates, params, values, ...) { - base * rate * waiting -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate profit by a simple rate applied on the basis (with an optional waiting vector of values 0 or 1), bound below by 0 -#' @export -PP.calculate.RateOnBaseMin0 = function(base, rate, waiting, rates, params, values, ...) { - pmax(0, base * rate * waiting) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate profit by a rate + guaranteed interest applied on the basis (with an optional waiting vector of values 0 or 1) -#' @export -PP.calculate.RatePlusGuaranteeOnBase = function(base, rate, waiting, rates, params, values, ...) { - base * (rate + rates$guaranteedInterest) * waiting -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate profit by a simple rate applied on the basis (with only (1-SGFFactor) put into profit participation, and an optional waiting vector of values 0 or 1) -#' @export -PP.calculate.RateOnBaseSGFFactor = function(base, rate, waiting, rates, params, values, ...) { - base * rate * waiting * (1 - rates$terminalBonusFund) -}; - - - -#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# Calculations of the benefits, based on the assigned profit amounts and -# rates defined with the functions above. -#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -#' @describeIn ProfitParticipationFunctions -#' Extract the given columns of the profit participation array of values and sum -#' them up. Columns that do not exist, because the profit scheme does not -#' provide the corresponding profit component will be silently ignored. -#' This allows generic benefit calculation functions to be written that do -#' not need to distinguish e.g. whether an old-style terminal bonus or a terminal -#' bonus fund is provided. -#' -#' This function is not meant to be called directly, but within a profit benefit -#' calculation function. -#' -#' @param profits The array of profit participation component values -#' @param cols The columns of the profit values array to be summed (columns given that do not exist in the profits array are ignired) -#' @export -sumProfits = function(profits, cols) { - # extract the columns -- if they exist -- and sum them up: - rowSums( - profits[, intersect(cols, colnames(profits)), drop = FALSE] - ) -} - -#' @describeIn ProfitParticipationFunctions -#' Calculate survival benefit as total profit amount plus the terminal bonus reserve -#' @export -PP.benefit.ProfitPlusTerminalBonusReserve = function(profits, ...) { - sumProfits(profits, c("regularBonus", "TBF", "terminalBonusReserve")) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate benefit as total profit accrued so far -#' @export -PP.benefit.Profit = function(profits, ...) { - profits[,"regularBonus"] -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate accrued death benefit as total profit with (guaranteed) interest for one year -#' @export -PP.benefit.ProfitPlusGuaranteedInterest = function(profits, rates, ...) { - profits[,"regularBonus"] * (1 + rates$guaranteedInterest) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate accrued death benefit as total profit with total interest (interest on profit rate) for one year -#' @export -PP.benefit.ProfitPlusTotalInterest = function(profits, rates, params, values) { - profits[,"regularBonus"] * (1 + profits[,"interestOnProfitRate"]) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate accrued benefit as total profit with total interest (interest on profit rate) for half a year -#' @export -PP.benefit.ProfitPlusHalfTotalInterest = function(profits, ...) { - profits[,"regularBonus"] * (1 + profits[,"interestOnProfitRate"]/2) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate death benefit as total profit with (guaranteed) interest for one year -#' @export -PP.benefit.ProfitPlusHalfGuaranteedInterest = function(profits, rates, ...) { - profits[,"regularBonus"] * (1 + rates$guaranteedInterest/2) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate accrued benefit as total profit with interest for one year (max of guarantee and total interest) -#' @export -PP.benefit.ProfitPlusInterestMinGuaranteeTotal = function(profits, rates, ...) { - profits[,"regularBonus"] * (1 + pmax(rates$guaranteedInterest, rates$totalInterest)) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate accrued benefit as total profit with interest for half a year (max of guarantee and total interest) -#' @export -PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal = function(profits, rates, ...) { - profits[,"regularBonus"] * (1 + pmax(rates$guaranteedInterest, rates$totalInterest)/2) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate accrued benefit as regular profit, but used to cover initial Zillmerization -#' @export -PP.benefit.ProfitGuaranteeSupporting = function(profits, rates, params, values, ...) { - pmax(0, values$reserves[,"contractual"] + profits[,"regularBonus"] - pmax(0, values$reserves[,"contractual"])) -}; - -#' @describeIn ProfitParticipationFunctions -#' Calculate benefit from terminal bonus as 1/n parts of the terminal bonus reserve during the last 5 years -#' @export -PP.benefit.TerminalBonus5YearsProRata = function(profits, params, ...) { - n = params$ContractData$policyPeriod; - sumProfits(profits, c("TBF", "terminalBonusReserve")) * (0:n)/n * ((0:n) >= max(10, n - 5)) -}; - -#' @describeIn ProfitParticipationFunctions -#' Terminal bonus is only paid out during the last 5 years of the contract (but never during the first 10 years) -#' @export -PP.benefit.TerminalBonus5Years = function(profits, params, ...) { - n = params$ContractData$policyPeriod; - sumProfits(profits, c("TBF", "terminalBonusReserve")) * ((0:n) >= max(10, n - 5)) -} - -#' @describeIn ProfitParticipationFunctions -#' Calculate benefit from terminal bonus (full bonus), either old-style terminal bonus reserve or Terminal Bonus Fund (TBF) -#' @export -PP.benefit.TerminalBonus = function(profits, params, ...) { - sumProfits(profits, c("TBF", "terminalBonusReserve")) -}; - -#' @describeIn ProfitParticipationFunctions -#' No benefit paid out -#' @export -PP.benefit.None = function(profits, ...) { - 0 -}; - - -"dummy" diff --git a/R/addDataTableWorksheet.R b/R/addDataTableWorksheet.R deleted file mode 100644 index a8b0f3e..0000000 --- a/R/addDataTableWorksheet.R +++ /dev/null @@ -1,73 +0,0 @@ -#' Add a new worksheet to the excel workbook and export the given data table x to it nicely formatted. -# @export -# addDataTableWorksheet = function(wb, sheet, title = NULL, x = NULL, loopdim = 3, style = NULL, tableStyle = "TableStyleMedium17", comparisons = NULL, comparisonStyle = NULL, ...) { -# addWorksheet(wb, sheet); -# rw = 1; -# if (!missing(title)) { -# titleStyle = createStyle( -# fontSize = 26, -# fontColour = "#365F91", borderColour = "#4F81BD", -# borderStyle = "medium", border = "Bottom", textDecoration = "bold") -# writeData(wb, sheet, title, startCol = 1, startRow = rw) -# addStyle(wb, sheet, style = titleStyle, rows = rw, cols = 1); -# rw = rw + 2; -# } -# if (!missing(x)) { -# if (loopdim > length(dim(x))) -# loopdim = length(dim(x)); -# if (loopdim < 0) -# loopdim = 1; -# # str(dimnames(x)); -# rnames = dimnames(x)[[1]]; -# cnames = dimnames(x)[[2]]; -# # str("rnames, cnames: ");str(rnames);str(cnames); -# dmname = names(dimnames(x))[[loopdim]]; -# dmnameStyle = createStyle( -# fontSize = 20, -# fontColour = "#4F81BD", #borderColour = "#4F81BD", -# # borderStyle = "medium", border = "Bottom", -# textDecoration = "bold") -# headerStyle = createStyle(halign = "center", valign = "center"); -# lapply( -# seq_along(dimnames(x)[[loopdim]]), -# function(i) { -# dmheader = paste(dmname, dimnames(x)[[loopdim]][i], sep = " = ") -# writeData(wb, sheet, dmheader, startCol = 1, startRow = rw) -# addStyle(wb, sheet, style = dmnameStyle, rows = rw, cols = 1); -# rw <<- rw + 1; -# writeDataTable( -# wb, sheet, -# x = as.data.frame(x[,,i]), # TODO: Generalize this to use loopdim! -# colNames = TRUE, rowNames = TRUE, -# withFilter = FALSE, -# startCol = 1, startRow = rw, -# tableStyle = tableStyle, headerStyle = headerStyle); -# if (!is.null(style)) { -# addStyle(wb, sheet, style = style, rows = rw + seq_along(rnames), cols = 1 + seq_along(cnames), gridExpand = TRUE, stack = TRUE); -# } -# cl = 1 + length(cnames) + 2; -# -# lapply( -# seq_along(comparisons), -# function(j) { -# writeData(wb, sheet, names(comparisons)[j], startRow = rw - 1, startCol = cl) -# addStyle(wb, sheet, style = dmnameStyle, rows = rw - 1, cols = cl); -# -# writeDataTable( -# wb, sheet, -# x = as.data.frame(comparisons[[j]][,,i]), # TODO: Generalize this to use loopdim! -# colNames = TRUE, rowNames = TRUE, -# withFilter = FALSE, -# startCol = cl, startRow = rw, -# tableStyle = tableStyle, headerStyle = headerStyle); -# if (!is.null(comparisonStyle)) { -# addStyle(wb, sheet, style = comparisonStyle, rows = rw + seq_along(rnames), cols = cl + seq_along(cnames), gridExpand = TRUE, stack = TRUE); -# } -# cl <<- cl + 1 + length(cnames) + 1; -# } -# ) -# rw <<- rw + length(rnames) + 1 + 2; # TODO: Generalize this to use loopdim! -# } -# ); -# } -# } diff --git a/R/contractGrid.R b/R/contractGrid.R deleted file mode 100644 index 407e9f7..0000000 --- a/R/contractGrid.R +++ /dev/null @@ -1,161 +0,0 @@ -#' @title Create a grid of InsuranceContract objects or premiums with each axis representing one varying parameter -#' -#' @description The function \code{contractGrid} creates a (two- or multi-dimensional) grid -#' of InsuranceContract objects, where each axis represents one of the insurance -#' parameters varying as given in the \code{axes} argument (as a named list). -#' -#' @description The function \code{contractGridPremium} returns a grid of premiums as requested in -#' the \code{premium} parameter rather than the full InsuranceContract objects. -#' It is a convenience wrapper around \code{contractGrid} and is recommended if -#' one is only interested in a grid of one particular value (typically some -#' kind of premium). -#' The function \code{contractGridPremium} can also be used on an existing -#' \code{contractGrid}-generated grid of contracts to extract grid of numerical -#' values of the specified premiums. If no contract grid is passed to -#' \code{contractGridPremium}, \code{contractGrid} will be called to create it. -#' -#' -#' @details The function \code{contractGrid} will return the full [InsuranceContract] -#' objects, so apply can later be used to extract premiums, reserves and other -#' values to display in a grid. For this feature, one can also use the convenience -#' function \code{contractGridPremium}. -#' -#' The \code{axes} list describing the parameters changing along the axes of the -#' resulting grid is internally expanded with [expand.grid()]. The resulting flat -#' list of parameter (together with the fixed parameters passed as \code{...}) -#' is then passed to the \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}} call to create the corresponding -#' contract object. -#' -#' To create the human-readable row-/columnnames of the resulting array, -#' the function [makeContractGridDimname()] for each value of the axes, allowing -#' human-readable representations e.g. of a tariff or a mortality table as -#' the dimension label. -#' -#' -#' -#' @param axes List of paramters spanning the dimensions of the grid. -#' @param YOB optional year of bith. If missing, the \code{observationYear} and the contract's age -#' @param observationYear The observation year, for which the grid shall be calculated. If given, the YOB is calculated from it, otherwise the contract's YOB is used -#' @param ... In \code{contractGrid}: Additional parameters to be passed to \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}}; In \code{contractGridPremium}: Additional parameters to be passed to \code{contractGrid}. -# -# Params of the contractGridPreimium function: -#' @param contractGrid (optional) existing contract grid from which to derive -#' premiums. If not given, [contractGrid] is called with all parameters, so -#' \code{...} should contain an \code{axes} argument in that case. -#' @param premium The type of premium to derive (key of the \code{contract$Values$premiums} list. -#' @param .fun The function to extract the desired premium from a contract -#' object. By default it accesses the premium vector and extracts the -#' type of premium given in the \code{premium} parameter. One can, -#' however pass any other extractor function to access e.g. reserves, -#' cash flows etc. at any desired time. -#' -#' @rdname contractGrid -#' -#' @examples -#' # TODO -#' -#' @export -contractGrid = function(axes = list(age = seq(20, 60, 10), policyPeriod = seq(5, 35, 5)), YOB = NULL, observationYear = NULL, ...) { - - obsYear = observationYear; - # Create all combinations of the variables given for the axes: - gridByRow = expand.grid(axes, KEEP.OUT.ATTRS = FALSE); - # Apply InsuranceContract$new to each combination (and add the additional arguments) - vals = apply(gridByRow, 1, function(axisVals) { - args = c(as.list(axisVals), list(...)); - if (!is.null(observationYear)) { - args$YOB = obsYear - args$age; - } - do.call(InsuranceContract$new, args) - }) - dimnames = makeContractGridDimnames(axes) - array(vals, dim = sapply(axes, length), dimnames = dimnames) -} - -# describeIn makeContractGridDimname Create a dimensional name for an [InsuranceTarif] object -#' @export -makeContractGridDimname.InsuranceTarif = function(value) { value$name } -# describeIn makeContractGridDimname Create a dimensional name for an R6 object (using its \code{name} field) -#' @export -makeContractGridDimname.R6 = function(value) { value$name } -# describeIn makeContractGridDimname Create a dimensional name for an [mortalityTable] object -#' @export -makeContractGridDimname.mortalityTable = function(value) { value@name } -# describeIn makeContractGridDimname Create a dimensional name for a numeric parameter value -#' @export -makeContractGridDimname.numeric = function(value) { value } -# describeIn makeContractGridDimname Create a dimensional name for a numeric parameter value -#' @export -makeContractGridDimname.double = function(value) { value } -# describeIn makeContractGridDimname Create a dimensional name for an object that can be directly used as a human-readable row-/columnname -#' @export -makeContractGridDimname.default = function(value) { value } -#' Create human-readable labels for the dimensions in a [contractGrid()] -#' -#' The function \code{makeContractGridDimname} generates a short, human-readable -#' dimension label for the entries along the axes of a [contractGrid()]. -#' The default is to use the \code{value} unchanged as the row-/columnname, but -#' for some parameter values (like a [InsuranceTarif] or [mortalityTable]) -#' a custom method of this function is needed to create the (short) human-readable -#' representation for the axes in the grid. -#' -#' @param value the value along the axis, for which a name should be generated -#' @describeIn makeContractGridDimname Create a short, human-readable dimensional name for an object (default S3 method) -#' @examples -#' library(MortalityTables) -#' mortalityTables.load("Austria_Census") -#' -#' makeContractGridDimname(mort.AT.census.2011.unisex) -#' -#' makeContractGridDimnames(axes = list( -#' age = seq(30,60,10), -#' mortalityTable = c(mort.AT.census.2011.unisex, mort.AT.census.2011.male, -#' mort.AT.census.2011.female)) -#' ) -#' @export -makeContractGridDimname = function(value) { UseMethod("makeContractGridDimname", value) } - -#' @description The function \code{makeContractGridDimnames} generate proper -#' dimnames for all entries of the axes of a [contractGrid()] by calling -#' \code{makeContractGridDimname} on each of the axes' values -#' @param axes the axes with all names, for which a name should be generated -#' @describeIn makeContractGridDimname Generate proper dimnames for all entries of the axes of a [contractGrid()] -#' @export -makeContractGridDimnames = function(axes) { - lapply(axes, function(axis) { lapply(axis, makeContractGridDimname); } ) -} - -# Create a grid of insurance premiums with each axes representing one varying parameter -# -# The function \code{contractGridPremium} creates a (two- or multi-dimensional) grid -# of premiums for insurance contracts, where each axes represents one of the -# insurance parameters varying as given in the axes argument (as named list). -# -# This function will return the full InsuranceContract objects, so apply can -# later be used to extract premiums, reserves and other values to display in -# a grid. -# -# If one is only interested in a grid of one particular value (typically some -# kind of premium), the convenience function \code{contractGridPremium} is -# provided, which returns a grid of only the desired value. -# -#' @param contractGrid (optional) existing contract grid from which to derive -#' premiums. If not given, [contractGrid] is called with all parameters, so -#' \code{...} should contain an \code{axes} argument in that case. -#' @param premium The type of premium to derive (key of the \code{contract$Values$premiums} list. -#' @param .fun The function to extract the desired premium from a contract -#' object. By default it accesses the premium vector and extracts the -#' type of premium given in the \code{premium} parameter. One can, -#' however pass any other extractor function to access e.g. reserves, -#' cash flows etc. at any desired time. -#' -#' @rdname contractGrid -#' @export -contractGridPremium = function(contractGrid = NULL, premium="written", .fun = function(cntr) { cntr$Values$premiums[[premium]] }, ...) { - if (missing(contractGrid) || is.null(contractGrid)) { - contractGrid = contractGrid(...) - } - apply(contractGrid, 1:length(dim(contractGrid)), function(c) { .fun(c[[1]])}) -} - - diff --git a/R/create_LIC_project.R b/R/create_LIC_project.R deleted file mode 100644 index b90ccf2..0000000 --- a/R/create_LIC_project.R +++ /dev/null @@ -1,76 +0,0 @@ -# Custom project creation function, copied as a starting point from -# https://rstudio.github.io/rstudio-extensions/rstudio_project_templates.html -# Copying functions and replacements originally taken from -# https://blog.devgenius.io/make-your-own-rstudio-project-template-1f77c4888e79 -# and heavily modified - -create_LIC_project <- function(path, ...) { - dots <- list(...) - CompanyName = dots$Company - - - - ######################################## - ##### 1. ensure destination path exists, sanity checks on the company name - - dir.create(path, recursive = TRUE, showWarnings = FALSE) - - - ######################################## - ##### 2. copy over all files from the template directory - - LIC.src <- function (..., lib.loc = NULL, mustWork = FALSE){ - system.file("rstudio", "templates", "project", ..., - package = "LifeInsuranceContracts", - lib.loc = lib.loc, mustWork = mustWork) - } - from <- LIC.src("LifeInsuranceContracts") - fs::dir_copy(path = from, new_path = path, overwrite = TRUE) - - - ######################################## - ##### 3. Rename all files with XXXCOMPANYXXX -> CompanyName - - patternFiles = list.files(path = path, pattern = "XXXCOMPANYXXX", full.names = TRUE, recursive = TRUE) - replacementFiles = str_replace(patternFiles, "XXXCOMPANYXXX", CompanyName) - file.rename(patternFiles, replacementFiles) - copied_files <- list.files(path = path, recursive = TRUE) - - - ######################################## - ##### 4. Replace all file contents with XXXCOMPANYXXX -> CompanyName - - LIC.replaceFileContents <- function(file, pattern, replace) { - suppressWarnings(tx <- readLines(file)) - tx2 <- gsub(pattern = pattern, replacement = replace, x = tx) - writeLines(tx2, con = file) - } - - LIC.replaceAllFilesContents <- function( - copied_files, pattern, replace, path) { - # Going through copied files to replace package name - for (f in copied_files) { - copied_file <- file.path(path, f) - - try({ - LIC.replaceFileContents( - file = copied_file, - pattern = pattern, - replace = replace - ) - }, silent = TRUE) - } - } - LIC.replaceAllFilesContents( - copied_files, - pattern = "XXXCOMPANYXXX", - replace = CompanyName, - path - ) - - - ######################################## - ##### 5. All other small tasks - - -} diff --git a/R/exportInsuranceContractExample.R b/R/exportInsuranceContractExample.R deleted file mode 100644 index b4b3b00..0000000 --- a/R/exportInsuranceContractExample.R +++ /dev/null @@ -1,76 +0,0 @@ -#' @include showVmGlgExamples.R exportInsuranceContract_xlsx.R InsuranceContract.R InsuranceTarif.R -#' -#' @import stringr -NULL - -#' Export the example calculations of an insurance contract -#' -#' Export the given contract to excel (full history/timeseries of all cash -#' flows, reserves, premiums, etc.) and to a text file (sample calculation -#' required by the Austrian regulation). -#' -#' Three output files are generated: -#' - {DATE}_{TARIFF}_Example.xlsx: Full history/timeseries -#' - {DATE}_{TARIFF}_Example_PremiumWaiver_t10.xlsx: Full history/timeseries -#' after a premium waiver at the given time \code{prf} -#' - {DATE}_{TARIFF}_Examples_VmGlg.txt: Example calculation required for the -#' Austrian regulation (LV-VMGLV) -#' -#' @param contract The \code{\link{InsuranceContract}} object to be exported -#' @param prf The time of the premium waiver -#' @param outdir The output directory (the file names are not configurable) -#' @param basename The base output filename (sans .xlsx). If missing, a name of -#' the form 2020-08-01_TARIFNAME_EXTRANAME_RZ0.01_x35_YoB1977_LZ45_PrZ20_VS100000 -#' is used. If given, the main contract without modification will be -#' exported to basename.xlsx, while the example with premium waiver will be -#' exported to basename_PremiumWaiver_t10.xlsx and the text file containing -#' the examples required by the LV-VMGV is exported to basename_VmGlg.txt. -#' @param extraname If basename is not given, this allows a suffix to distinguish -#' multiple exports. -#' @param ... Further parameters (passed on to \code{\link{showVmGlgExamples}}) -#' -#' @examples -#' library("MortalityTables") -#' mortalityTables.load("Austria_Annuities_AVOe2005R") -#' # A trivial deferred annuity tariff with no costs: -#' tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", tarif = "Annuity 1A", -#' mortalityTable = AVOe2005R.unisex, i=0.01) -#' contract = InsuranceContract$new( -#' tariff, -#' age = 35, YOB = 1981, -#' policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, -#' sumInsured = 1000, -#' contractClosing = as.Date("2016-10-01") -#' ); -#' \dontrun{exportInsuranceContractExample(contract, prf = 10)} -#' -#' @export -exportInsuranceContractExample = function(contract, prf = 10, outdir = ".", basename=NULL, extraname = NULL, ...) { - if (!("InsuranceContract" %in% class(contract))) { - stop("First argument to function showVmGlgExamples need to be an InsuranceContract object! ", - "Given object is of class: ", - paste(class(contract), collapse = ", ")); - } - cleanname = contract$tarif$name; - cleanname = str_replace_all(cleanname, " ", "_"); - cleanname = str_replace_all(cleanname, "[/:]", "-"); - if (missing(basename)) { - basename = paste(outdir, "/", Sys.Date(), "_", cleanname, sep = ""); - if (!missing(extraname) && !is.null(extraname)) { - basename = paste(basename, "_", extraname, sep = "") - } - params = contract$Parameters - basename = paste(basename, "_RZ", sprintf("%.2f", params$ActuarialBases$i), "_x", params$ContractData$age, "_YoB", year(params$ContractData$birthDate), "_LZ", params$ContractData$policyPeriod, "_PrZ", params$ContractData$premiumPeriod, "_VS", params$ContractData$sumInsured, sep = "" ) - } - - filename = paste(basename, ".xlsx", sep = ""); - exportInsuranceContract.xlsx(contract, filename); - - contract.prf = contract$clone() - contract.prf$premiumWaiver(t = prf) - filename = paste(basename, "_PremiumWaiver_t", prf, ".xlsx", sep = ""); - exportInsuranceContract.xlsx(contract.prf, filename); - - filename = paste(basename, "_VmGlg.txt", sep = "") - showVmGlgExamples(contract, prf = prf, ..., file = filename) -} diff --git a/R/exportInsuranceContract_xlsx.R b/R/exportInsuranceContract_xlsx.R deleted file mode 100644 index 19c49f2..0000000 --- a/R/exportInsuranceContract_xlsx.R +++ /dev/null @@ -1,1035 +0,0 @@ -#' @include HelperFunctions.R InsuranceContract.R InsuranceParameters.R InsuranceTarif.R ProfitParticipation.R -#' -#' @import openxlsx -#' @import MortalityTables -#' @import R6 -#' @import tidyr -#' @importFrom rlang .data -NULL - - - -################################################ # -# Helper Functions #### -################################################ # - -addValuesWorksheet = function(wb, sheet, ...) { - addWorksheet(wb, sheet, gridLines = FALSE, ...) - # showGridLines(wb, sheet, showGridLines = FALSE) - setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE) -} - - -writeAgeQTable = function(wb, sheet, probs, crow = 1, ccol = 1, styles = list()) { - writeData(wb, sheet, "Sterblichkeiten", startCol = ccol + 2, startRow = crow); - addStyle(wb, sheet, style = styles$header, rows = crow, cols = ccol + 2, stack = TRUE); - mergeCells(wb, sheet, rows = crow, cols = (ccol + 2):(ccol + 4)) - writeDataTable(wb, sheet, setInsuranceValuesLabels(probs), - startRow = crow + 1, startCol = ccol, colNames = TRUE, rowNames = TRUE, - tableStyle = "tableStyleMedium3", withFilter = FALSE, headerStyle = styles$tableHeader); - # freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - addStyle(wb, sheet, style = styles$center, rows = (crow + 2):(crow + 1 + dim(probs)[[1]]), cols = ccol:(ccol + 1), gridExpand = TRUE, stack = TRUE); - addStyle(wb, sheet, style = styles$qx, rows = (crow + 2):(crow + 1 + dim(probs)[[1]]), cols = (ccol + 2):(ccol + 3), gridExpand = TRUE, stack = TRUE); - dim(probs)[[2]] + 2; -}; - -writeTableCaption = function(wb, sheet, caption, rows, cols, style = NULL) { - r = min(rows); - c = min(cols); - writeData(wb, sheet, caption, startCol = c, startRow = r); - if (!is.null(style)) { - addStyle(wb, sheet, style = style, rows = r, cols = c, stack = TRUE); - } - mergeCells(wb, sheet, rows = rows, cols = cols); -} - -writeValuesTable = function(wb, sheet, values, caption = NULL, crow = 1, ccol = 1, rowNames = FALSE, tableStyle = "tableStyleLight17", tableName = NULL, withFilter=FALSE, styles = list(), valueStyle = NULL) { - nrrow = dim(values)[[1]]; - nrcol = dim(values)[[2]]; - addcol = if (rowNames) 1 else 0; - ecol = ccol + addcol + nrcol - 1; - if (!missing(caption)) { - writeTableCaption(wb, sheet, caption, rows = crow, cols = (ccol + addcol):ecol, style = styles$header) - } - - writeDataTable(wb, sheet, values, startRow = crow + 1, startCol = ccol, colNames = TRUE, - rowNames = rowNames, tableStyle = tableStyle, - tableName = tableName, withFilter = withFilter, headerStyle = styles$tableHeader) - if (!missing(valueStyle)) { - addStyle(wb, sheet, style = valueStyle, rows = (crow + 2):(crow + nrrow + 1), cols = (ccol + addcol):ecol, gridExpand = TRUE, stack = TRUE); - } - # width of table is the return value - nrcol + addcol -}; - -writePremiumCoefficients = function(wb, sheet, values, tarif = NULL, type = "benefits", crow = crow, ccol = ccol) { - writeData(wb, sheet, matrix(c( - "Nettopr\u00e4mie", "", "Zillmerpr\u00e4mie", "", "Bruttopr\u00e4mie", "", - "rel. zu VS", "rel. zu Pr\u00e4mie", "rel. zu VS", "rel. zu Pr\u00e4mie", "rel. zu VS", "rel. zu Pr\u00e4mie"), 6, 2 - ), startCol = ccol, startRow = crow, colNames = FALSE, borders = "rows", borderColour = "gray5", borderStyle = "thin"); - mergeCells(wb, sheet, cols = ccol, rows = crow:(crow + 1)); - mergeCells(wb, sheet, cols = ccol, rows = (crow + 2):(crow + 3)); - mergeCells(wb, sheet, cols = ccol, rows = (crow + 4):(crow + 5)); - addStyle(wb, sheet, style = createStyle(halign = "left", valign = "center", - borderColour = "gray5", border = "LeftBottomTop", - borderStyle = "thin"), - rows = crow:(crow + 5), cols = ccol); - addStyle(wb, sheet, style = createStyle(halign = "right", valign = "center", - borderColour = "gray5", border = "RightBottomTop", - borderStyle = "thin"), - rows = crow:(crow + 5), cols = ccol + 1); - - # The first column of the benefits coefficients is for "age", which we want to remove - mod = function(vals) { if (!is.null(vals)) as.data.frame(t(vals)) else NULL }; - if (type == "costs") { - mod = function(vals) { - if (is.null(vals)) return(NULL) - vals = setInsuranceValuesLabels(vals); - newvals = vals; - dimn = dimnames(newvals); - dim(newvals) = c(1, dim(vals)); - dimnames(newvals) = c(list("Coeff"), dimn); - costValuesAsDF(newvals) - }; - } - coeff = rbind(mod(values[["net"]][["SumInsured"]][[type]]), - mod(values[["net"]][["Premium"]][[type]]), - mod(values[["Zillmer"]][["SumInsured"]][[type]]), - mod(values[["Zillmer"]][["Premium"]][[type]]), - mod(values[["gross"]][["SumInsured"]][[type]]), - mod(values[["gross"]][["Premium"]][[type]])); - - writeData(wb, sheet, coeff, startCol = ccol + 2, startRow = crow, colNames = FALSE, borders = "rows", borderColour = "gray5", borderStyle = "thin"); - dim(coeff)[[2]] -} - -labelsReplace = function(labels) { - # TODO: Use recode here! - - # Prämienarten - labels[labels == "unit.net"] = "Netto"; - labels[labels == "unit.Zillmer"] = "Zillmer"; - labels[labels == "unit.gross"] = "Brutto"; - labels[labels == "written_yearly"] = "Verrechnet"; - labels[labels == "written"] = "netto"; - labels[labels == "unitcost"] = "St\u00fcckkosten"; - labels[labels == "written_beforetax"] = "vor Steuer"; - - # Kosten - labels[labels == "alpha"] = "\u03b1"; - labels[labels == "Zillmer"] = "Zill."; - labels[labels == "beta"] = "\u03b2"; - labels[labels == "gamma"] = "\u03b3"; - labels[labels == "gamma_nopremiums"] = "\u03b3 prf."; - labels[labels == "unitcosts"] = "StkK"; - - # Kosten-Basen - labels[labels == "SumInsured"] = "VS"; - labels[labels == "SumPremiums"] = "PS"; - labels[labels == "GrossPremium"] = "BP"; - labels[labels == "NetPremium"] = "NP"; - labels[labels == "Constant"] = ""; - labels[labels == "Reserve"] = "Res."; - - # Cash Flows - labels[labels == "premiums_advance"] = "Pr\u00e4m. vorsch."; - labels[labels == "premiums_arrears"] = "Pr\u00e4m. nachsch."; - labels[labels == "additional_capital"] = "Einschuss"; - labels[labels == "guaranteed_advance"] = "Gar. vorsch."; - labels[labels == "guaranteed_arrears"] = "Gar. nachsch."; - labels[labels == "survival_advance"] = "Erl. vorsch."; - labels[labels == "survival_arrears"] = "Erl. nachsch."; - - # Barwerte - labels[labels == "premiums"] = "Pr\u00e4m."; - labels[labels == "guaranteed"] = "Gar."; - labels[labels == "survival"] = "Erl."; - labels[labels == "after.death"] = "tot"; - labels[labels == "death_SumInsured"] = "Abl. VS"; - labels[labels == "death_GrossPremium"] = "Abl. BP"; - labels[labels == "death"] = "Abl."; - labels[labels == "disease_SumInsured"] = "Krkh."; - labels[labels == "death_Refund_past"] = "PrRG(verg.)"; - labels[labels == "death_Refund_future"] = "PrRG(zuk.)"; - - labels[labels == "death_PremiumFree"] = "Abl. prf"; - labels[labels == "benefits"] = "Abl.Lst."; - labels[labels == "benefitsAndRefund"] = "Abl. + RG"; - - labels[labels == "once"] = "einm." - labels[labels == "PremiumPeriod"] = "PD" - labels[labels == "PremiumFree"] = "Pr.Fr." - labels[labels == "PolicyPeriod"] = "LZ" - - # R\u00fcckstellungen - labels[labels == "adequate"] = "ausr."; - labels[labels == "contractual"] = "vertragl."; - labels[labels == "conversion"] = "Umrechn."; - labels[labels == "alphaRefund"] = "\u03b1-R\u00fccktrag"; - labels[labels == "reduction"] = "Sparpr.f\u00fcr DK"; - labels[labels == "PremiumsPaid"] = "Pr.Summe"; - labels[labels == "Surrender"] = "R\u00fcckkauf"; - labels[labels == "PremiumFreeSumInsured"] = "Prf.VS"; - labels[labels == "Balance Sheet Reserve"] = "Bilanzreserve" - - # Pr\u00e4mienzerlegung - labels[labels == "charged"] = "verrechnet" - labels[labels == "tax"] = "VSt." - labels[labels == "loading.frequency"] = "UJZ" - labels[labels == "rebate.premium"] = "Pr\u00e4m.Rab." - labels[labels == "rebate.partner"] = "Partn.Rab." - labels[labels == "unitcosts"] = "StkK" - labels[labels == "profit.advance"] = "Vw.GB" - labels[labels == "rebate.sum"] = "Summenrab." - labels[labels == "charge.noMedicalExam"] = "o.\u00e4rztl.U." - labels[labels == "gross"] = "Brutto" - labels[labels == "alpha.noZillmer"] = "\u03b1 (ungez.)"; - labels[labels == "alpha.Zillmer"] = "\u03b1 (gezill.)"; - labels[labels == "net"] = "Netto"; - labels[labels == "risk"] = "Risikopr."; - labels[labels == "savings"] = "Sparpr."; - labels[labels == "Zillmer.risk"] = "gez.Risikopr."; - labels[labels == "Zillmer.savings"] = "gez.Sparpr."; - labels[labels == "Zillmer.amortization"] = "gez.AK-Tilgung"; - labels[labels == "Zillmer.savings.real"] = "Sparpr.f\u00fcr DK"; - - # Vertragseigenschaften - labels[labels == "InterestRate"] = "i"; - labels[labels == "PolicyDuration"] = "LZ"; - labels[labels == "PremiumPayment"] = "Pr\u00e4mienzhlg."; - labels[labels == "Premiums"] = "Pr\u00e4mien"; - labels[labels == "age"] = "Alter"; - labels[labels == "Sum insured"] = "Vers.summe"; - labels[labels == "Mortality table"] = "Sterbetafel"; - labels[labels == "i"] = "Garantiezins"; - labels[labels == "Age"] = "Alter"; - labels[labels == "Policy duration"] = "Laufzeit"; - labels[labels == "Premium period"] = "Pr\u00e4mienzahlung"; - labels[labels == "Deferral period"] = "Aufschub"; - labels[labels == "Guaranteed payments"] = "Garantiezeit"; - - labels[labels == "time"] = "ZP t"; - labels[labels == "Comment"] = "Bemerkung"; - labels[labels == "type"] = "Art"; - - - labels -} - -setInsuranceValuesLabels = function(vals) { - dimnames(vals) = lapply(dimnames(vals), labelsReplace); - vals -} - -tableName = function(...) { - gsub('[^A-Za-z0-9_]', '', paste0(...)) -} - - -exportBlockID = function(wb, sheet, id, cols, rows, styles = c()) { - writeData(wb, sheet, x = id, xy = c(cols[1], rows[1])) - addStyle(wb, sheet, style = styles$blockID, rows = rows, cols = cols, stack = TRUE); -} - -getContractBlockValues = function(contract) { - values = data.frame( - "ID" = contract$Parameters$ContractData$id, - "Tariff" = contract$tarif$tarif, - "Start of Contract" = contract$Parameters$ContractData$contractClosing, - "Sum insured" = contract$Parameters$ContractData$sumInsured, - "Mortality table" = contract$Parameters$ActuarialBases$mortalityTable@name, - i = contract$Parameters$ActuarialBases$i, - "Birth Date" = contract$Parameters$ContractData$birthDate, - "Age" = contract$Parameters$ContractData$age, - "Technical Age" = contract$Parameters$ContractData$technicalAge, - "Policy duration" = contract$Parameters$ContractData$policyPeriod, - "Premium period" = contract$Parameters$ContractData$premiumPeriod, - "Deferral period" = contract$Parameters$ContractData$deferralPeriod, - "Guaranteed payments" = contract$Parameters$ContractData$guaranteed, - stringsAsFactors = FALSE, check.names = FALSE - ) - # Append all values from sub-blocks, one per line in the data.frame - for (b in contract$blocks) { - values = bind_rows(values, getContractBlockValues(b)) - } - values -} - -getContractBlockPremiums = function(contract) { - values = NULL - if (!is.null(contract$Values$premiums)){ - values = bind_cols( - data.frame( - "ID" = contract$Parameters$ContractData$id, - stringsAsFactors = FALSE, check.names = FALSE - ), - data.frame(t(contract$Values$premiums), stringsAsFactors = FALSE, check.names = FALSE) - ) - } - # Append all values from sub-blocks, one per line in the data.frame - for (b in contract$blocks) { - values = bind_rows(values, getContractBlockPremiums(b)) - } - values -} - -#' Convert the multi-dimensional costs array to a data.frame for output to a file -#' -#' @description Convert the cost values array to a tx15 matrix -#' @details Not to be called directly, but implicitly by the [InsuranceContract] object. -#' Convert the array containing cost values like cashflows, present -#' values, etc. (objects of dimension tx5x3) to a matrix with dimensions (tx15) -#' -#' @param costValues Cost definition data structure -costValuesAsDF = function(costValues) { - as.data.frame.table(costValues, responseName = "Value", stringsAsFactors = TRUE) %>% - mutate(Var4 = recode(.data$Var4, "Erl." = "")) %>% - arrange(.data$Var4, .data$Var2, .data$Var3, .data$Var1) %>% - unite("costtype", "Var2", "Var3", "Var4", sep = " ") %>% - pivot_wider(names_from = .data$costtype, values_from = .data$Value) %>% - mutate(Var1 = NULL) -} - - - -exportLoadingsTable = function(wb, sheet, contract, crow, ccol, styles = styles, seprows = 3, tariffs.handled = c()) { - tarifname = contract$tarif$tarif - if (!(tarifname %in% tariffs.handled)) { - costtable = costsDisplayTable(contract$Parameters$Costs) - # costtable = as.data.frame.table(setInsuranceValuesLabels(contract$Parameters$Costs) ) - # colnames(costtable) = c("Kostenart", "Basis", "Periode", "Kostensatz"); - # costtable = costtable[costtable[,"Kostensatz"] != 0.0000,] - cap = sprintf("Kosten (Tarif %s)", tarifname) - writeValuesTable(wb, sheet, costtable, crow = crow, ccol = 1, tableName = tableName("Kosten_", tarifname), styles = styles, caption = cap); - # writeDataTable(wb, sheet, costtable, startCol = 1, startRow = crow + 1, colNames = TRUE, rowNames = FALSE, - # tableStyle = "tableStyleMedium3", headerStyle = styles$tableHeader); - addStyle(wb, sheet, style = styles$cost0, rows = (crow + 2):(crow + dim(costtable)[[1]] + 1), cols = 4, stack = TRUE); - crow = crow + dim(costtable)[[1]] + 3; - tariffs.handled = c(tariffs.handled, tarifname) - } - - for (b in contract$blocks) { - values = exportLoadingsTable(wb = wb, sheet = sheet, contract = b, crow = crow, ccol = ccol, styles = styles, seprows = seprows, tariffs.handled = tariffs.handled) - crow = values$crow - tariffs.handled = values$tariffs.handled - } - list(crow = crow, tariffs.handled = tariffs.handled) -} - - - - -#' @importFrom rlang .data -exportContractDataTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c()) { - contractValues = getContractBlockValues(contract) - contractPremiums = getContractBlockPremiums(contract) - # Some types of tables don't need the birth year -> leave it out rather than throwing an error on opening in Excel! - # if (is.null(values["YOB"])) values["YOB"] = NULL; - - # General Contract data #### - # TODO! - crow = 1; - writeData(wb, sheet, matrix(c( - "Tarif:", contract$tarif$tarif, - "Tarifname:", contract$tarif$name, - "Description:", contract$tarif$desc - ), 3, 2, byrow = TRUE), startCol = 1, startRow = 1, colNames = FALSE, rowNames = FALSE); - mergeCells(wb, sheet, cols = 2:10, rows = 1); - mergeCells(wb, sheet, cols = 2:10, rows = 2); - mergeCells(wb, sheet, cols = 2:10, rows = 3); - addStyle(wb, sheet, style = styles$wrap, rows = 3, cols = 2:11, stack = TRUE); - addStyle(wb, sheet, style = createStyle(valign = "top"), rows = 1:3, cols = 1:11, gridExpand = TRUE, stack = TRUE); - - crow = crow + 4; - # Values (parameters, premiums, etc.) of all blocks #### - additional_capital = contractPremiums$additional_capital - if (is.null(contract$Values$premiums)) { - # Contracts with multiple child blocks do not have their own premium structure => set additional capital to 0 - additional_capital = c(0, additional_capital) - } - tmp = contractValues %>% - mutate(`Initial Capital` = additional_capital) %>% - select( - Vertragsteil = .data$ID, Beginn = .data$`Start of Contract`, Tarif = .data$Tariff, .data$`Sum insured`, - .data$`Initial Capital`, - .data$`Mortality table`, .data$i, .data$Age, .data$`Policy duration`, .data$`Premium period`, - .data$`Deferral period`, .data$`Guaranteed payments`) - writeValuesTable(wb, sheet, values = setInsuranceValuesLabels(tmp), - caption = "Basisdaten der Vertragsteile", crow = crow, ccol = 1, - tableName = "BlocksBasicData", styles = styles) - # Second column is start date of contract, fourth is sum insured, sixth is guaranteed interest rate - addStyle(wb, sheet, style = styles$currency0, rows = crow + 1 + (1:NROW(tmp)), cols = 4:5, gridExpand = TRUE, stack = TRUE); - addStyle(wb, sheet, style = styles$cost0, rows = crow + 1 + (1:NROW(tmp)), cols = 7, gridExpand = TRUE, stack = TRUE); - - crow = crow + NROW(tmp) + 2 + 2 # 2 rows for caption/table header, 2 rows padding - - # Unit Premiums #### - tmp = contractPremiums %>% - select(Vertragsteil = .data$ID, .data$unit.net, .data$unit.Zillmer, .data$unit.gross) - writeValuesTable(wb, sheet, values = setInsuranceValuesLabels(tmp), - caption = "Pr\u00e4miens\u00e4tze (auf VS 1)", crow = crow, ccol = 1, - tableName = "UnitPremiums", styles = styles, valueStyle = styles$unitpremiums) - crow = crow + NROW(tmp) + 2 + 2 # 2 rows for caption/table header, 2 rows padding - - # Yearly Premiums #### - tmp = contractPremiums %>% - select(Vertragsteil = .data$ID, .data$net, .data$Zillmer, .data$gross, .data$written_yearly) - writeValuesTable(wb, sheet, values = setInsuranceValuesLabels(tmp), - caption = "Jahrespr\u00e4mien", crow = crow, ccol = 1, - tableName = "YearlyPremiums", styles = styles, valueStyle = styles$currency0) - crow = crow + NROW(tmp) + 2 + 2 # 2 rows for caption/table header, 2 rows padding - - # Written Premiums #### - tmp = contractPremiums %>% - select(Vertragsteil = .data$ID, .data$written, .data$unitcost, .data$written_beforetax, .data$tax) - writeValuesTable(wb, sheet, values = setInsuranceValuesLabels(tmp), - caption = "Pr\u00e4mien (pro Zahlungsweise)", crow = crow, ccol = 1, - tableName = "WrittenPremiums", styles = styles, valueStyle = styles$currency0) - crow = crow + NROW(tmp) + 2 + 2 # 2 rows for caption/table header, 2 rows padding - - - # Cost structure ####### - crow.history = crow - - vals = exportLoadingsTable(wb = wb, sheet = sheet, contract = contract, crow = crow, ccol = 1, styles = styles, seprows = 3) - crow = vals$crow - - # costtable = as.data.frame.table(setInsuranceValuesLabels(contract$Parameters$Costs) ) - # colnames(costtable) = c("Kostenart", "Basis", "Periode", "Kostensatz"); - # costtable = costtable[costtable[,"Kostensatz"] != 0.0000,] - # writeValuesTable(wb, sheet, costtable, crow = crow, ccol = 1, tableName = "Kosten", styles = styles, caption = "Kosten"); - # # writeDataTable(wb, sheet, costtable, startCol = 1, startRow = crow + 1, colNames = TRUE, rowNames = FALSE, - # # tableStyle = "tableStyleMedium3", headerStyle = styles$tableHeader); - # addStyle(wb, sheet, style = styles$cost0, rows = (crow + 2):(crow + dim(costtable)[[1]] + 1), cols = 4, stack = TRUE); - # crow = crow + dim(costtable)[[1]] + 3; - - # Contract history - # time=t, comment=sprintf("Premium waiver at time %d", t), type = "PremiumWaiver" - histtime = unlist(lapply(contract$history, function(xl) xl$time)); - histcomment = unlist(lapply(contract$history, function(xl) xl$comment)); - histtype = unlist(lapply(contract$history, function(xl) xl$type)); - writeValuesTable(wb, sheet, setInsuranceValuesLabels(data.frame(time = histtime, Comment = histcomment, type = histtype)), - crow = crow.history, ccol = 6, tableName = "Vertragshistorie", styles = styles, - caption = "Vertragshistorie"); - crow.history = crow.history + dim(histtime)[[1]] + 3; - - -} - -exportBasicDataTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - - blockid.row = crow - crow = crow + 2 - endrow = (crow + 1 + nrrow) - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - cl = ccol - - tbl = qp[,"age", drop = FALSE]; - writeDataTable(wb, sheet, setInsuranceValuesLabels(tbl), - startRow = crow + 1, startCol = cl, colNames = TRUE, rowNames = TRUE, - tableStyle = "tableStyleMedium3", withFilter = FALSE, headerStyle = styles$tableHeader); - addStyle(wb, sheet, style = styles$center, rows = (crow + 2):endrow, cols = cl:(cl + 1), gridExpand = TRUE, stack = TRUE); - cl = cl + dim(tbl)[[2]] + 2; - - cl.table = cl - 1; - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$basicData)), - crow = crow, ccol = cl, tableName = tableName("Grunddaten_", id), styles = styles, - caption = "Vertragsgrunddaten im Zeitverlauf") + 1; - - # Change InterestRate column to percent format - # Change premiumPayment column to single-digit column - # Change period columnts to normal numbers - cnames = colnames(contract$Values$basicData); - - r = (crow + 2):endrow; - addStyle(wb, sheet, style = styles$rate, rows = r, cols = grep("^InterestRate$", cnames) + cl.table, gridExpand = TRUE, stack = TRUE); - addStyle(wb, sheet, style = styles$digit, rows = r, - cols = grep("^(PremiumPayment|PolicyDuration|PremiumPeriod)$", cnames) + cl.table, - gridExpand = TRUE, stack = TRUE); - addStyle(wb, sheet, style = styles$currency0, rows = r, cols = grep("^(SumInsured|Premiums)$", cnames) + cl.table, gridExpand = TRUE, stack = TRUE); - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - - for (b in contract$blocks) { - crow = exportBasicDataTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - } - crow -} - -exportReserveTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - - blockid.row = crow - crow = crow + 2 - - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - cl = ccol - - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$reserves)), - crow = crow, ccol = cl, tableName = tableName("Reserves_", id), styles = styles, - caption = "Reserven", valueStyle = styles$currency0) + 1; - - oldccol = cl - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$reservesBalanceSheet)), - crow = crow, ccol = cl, tableName = tableName("Bilanzreserve_", id), styles = styles, - caption = "Bilanzreserve", valueStyle = styles$currency0) + 1; - - endrow = (crow + 1 + nrrow) - # First column of balance sheet reserves is the date, the second the fractional time within the contract - addStyle(wb, sheet, style = createStyle(numFmt = "DATE"), cols = oldccol, - rows = (crow + 2):endrow, gridExpand = TRUE, stack = TRUE); - addStyle(wb, sheet, style = createStyle(numFmt = "0.0##"), cols = oldccol + 1, - rows = (crow + 2):endrow, gridExpand = TRUE, stack = TRUE); - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - - for (b in contract$blocks) { - crow = exportReserveTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - } - crow -} - -exportProfitParticipationTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - blockid.row = crow - crow = crow + 2 - - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - qp = contract$Values$transitionProbabilities[1:contract$Values$int$l,]; # extract the probabilities once, will be needed in - - for (s in names(contract$Values$profitScenarios)) { - cl = ccol - sc = contract$Values$profitScenarios[[s]] - writeData(wb = wb, sheet = sheet, x = s, startRow = crow, startCol = ccol) - addStyle(wb = wb, sheet = sheet, rows = crow, cols = ccol, style = styles$scenarioID, stack = TRUE) - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - ccol.table = cl - 1; - cl = cl + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(sc)), - crow = crow, ccol = cl, # tableName = tableName("ProfitParticipation_", id, "_", s), - styles = styles, - # caption = s, - valueStyle = styles$currency0) + 1; - - cnames = colnames(sc); - # Make sure "terminalBonusRate" is NOT matched! Need to use a negative lookahead.. - baseCols = grep("^(?!terminal|TBF).*Base$", cnames, perl = TRUE); - rateCols = grep("^(?!terminal|TBF).*(Interest|Rate)$", cnames, perl = TRUE); - profitCols = grep(".*Profit$", cnames); - terminalBonusCols = grep("^terminal.*", cnames); - TBFCols = grep("^TBF.*", cnames); - deathCols = grep("^death.*", cnames); - surrenderCols = grep("^surrender.*", cnames); - premiumWaiverCols = grep("^premiumWaiver.*", cnames); - - endrow = (crow + 1 + nrrow) - - # Rates are displayed in %: - addStyle(wb, sheet, style = styles$rate, rows = (crow + 2):endrow, cols = rateCols + ccol.table, gridExpand = TRUE, stack = TRUE); - - # Add table headers for the various sections: - if (length(baseCols) > 0) { - writeTableCaption(wb, sheet, "Basisgr\u00f6\u00dfen", rows = crow, cols = baseCols + ccol.table, style = styles$header); - } - if (length(rateCols) > 0) { - writeTableCaption(wb, sheet, "Gewinnbeteiligungss\u00e4tze", rows = crow, cols = rateCols + ccol.table, style = styles$header); - } - if (length(profitCols) > 0) { - writeTableCaption(wb, sheet, "GB Zuweisungen", rows = crow, cols = profitCols + ccol.table, style = styles$header); - } - if (length(terminalBonusCols) > 0) { - writeTableCaption(wb, sheet, "Schlussgewinn", rows = crow, cols = terminalBonusCols + ccol.table, style = styles$header); - } - if (length(TBFCols) > 0) { - writeTableCaption(wb, sheet, "Schlussgewinnfonds", rows = crow, cols = TBFCols + ccol.table, style = styles$header); - } - if (length(deathCols) > 0) { - writeTableCaption(wb, sheet, "Todesfallleistung", rows = crow, cols = deathCols + ccol.table, style = styles$header); - } - if (length(surrenderCols) > 0) { - - writeTableCaption(wb, sheet, "R\u00fcckkauf", rows = crow, cols = surrenderCols + ccol.table, style = styles$header); - } - if (length(premiumWaiverCols) > 0) { - writeTableCaption(wb, sheet, "Pr\u00e4mienfreistellung", rows = crow, cols = premiumWaiverCols + ccol.table, style = styles$header); - } - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - } - - for (b in contract$blocks) { - crow = exportProfitParticipationTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow + seprows, styles = styles, seprows = seprows, freeze = FALSE) - } - crow -} - -exportPremiumCompositionTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - - blockid.row = crow - crow = crow + 2 - - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - cl = ccol - - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$premiumComposition)), - crow = crow, ccol = cl, tableName = tableName("Premium_Decomposition_", id), styles = styles, - caption = "Pr\u00e4mienzerlegung", valueStyle = styles$currency0) + 1; - - crow = crow + nrrow + 4; - - cl = ccol - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$premiumCompositionSums)), - crow = crow, ccol = cl, tableName = tableName("Premium_DecompositionSums_", id), styles = styles, - caption = "Pr\u00e4mienzerlegung (Summe zuk\u00fcnftiger Pr\u00e4mien)", valueStyle = styles$currency0) + 1; - - crow = crow + nrrow + 4; - - cl = ccol - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$premiumCompositionPV)), - crow = crow, ccol = cl, tableName = tableName("Premium_DecompositionPV_", id), styles = styles, - caption = "Pr\u00e4mienzerlegung(Barwerte zuk\u00fcnftiger Pr\u00e4mien)", valueStyle = styles$currency0) + 1; - - endrow = (crow + 1 + nrrow) - - # Insert a separator line (with minimum height and dark background) - addStyle(wb, sheet, style = styles$separator, rows = (endrow + 2), cols = ccol:cl, gridExpand = TRUE, stack = TRUE) - - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + 2 + seprows - - for (b in contract$blocks) { - crow = exportPremiumCompositionTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - } - crow -} - -exportAbsPVTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - - blockid.row = crow - crow = crow + 2 - endrow = (crow + 1 + nrrow) - - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - cl = ccol - - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$absPresentValues)), - crow = crow, ccol = cl, tableName = tableName("PVabsolute_", id), styles = styles, - caption = "abs. Leistungs- und Kostenbarwerte", valueStyle = styles$currency0) + 1; - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - - for (b in contract$blocks) { - crow = exportAbsPVTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - } - crow -} - -exportAbsCFTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - - blockid.row = crow - crow = crow + 2 - endrow = (crow + 1 + nrrow) - - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - cl = ccol - - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - cl = cl + writeValuesTable( - wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$absCashFlows)), - crow = crow, ccol = cl, tableName = tableName("CFabsolute_", id), styles = styles, - caption = "abs. Leistungs- und Kostencashflows", valueStyle = styles$currency0) + 1; - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - - for (b in contract$blocks) { - crow = exportAbsCFTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - } - crow -} - -# Return list of all column indices witout any non-zero entries => these columns are to be hidden later -empty.col.indices = function(df) { - unname(which(colSums(df != 0) == 0)) -} - -exportPVTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - empty.cols = NULL; - if (!is.null(contract$Values$presentValues)) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - - blockid.row = crow - crow = crow + 2 - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2 + 6, firstActiveCol = ccol + 2) - } - - # Time the premium was last calculated (i.e. access the present values at that time rather than 0 in the formulas for the premium) - tPrem = contract$Values$int$premiumCalculationTime - - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - costPV = costValuesAsDF(setInsuranceValuesLabels(contract$Values$presentValuesCosts)) - cl = ccol - - # We add six lines before the present values to show the coefficients for the premium calculation - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow + 6, ccol = cl, styles = styles); - - # Store the start/end columns of the coefficients, since we need them later in the formula for the premiums! - w1 = writePremiumCoefficients(wb, sheet, contract$Values$premiumCoefficients, type = "benefits", crow = crow, ccol = cl - 2, tarif = contract$tarif); - area.premiumcoeff = paste0(int2col(cl), "%d:", int2col(cl + w1 - 1), "%d"); - area.premiumvals = paste0("$", int2col(cl), "$", crow + 6 + 2 + tPrem, ":$", int2col(cl + w1 - 1), "$", crow + 6 + 2 + tPrem); - empty.cols = c(empty.cols, empty.col.indices(contract$Values$presentValues) - 1 + cl) - cl = cl + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$Values$presentValues)), - crow = crow + 6, ccol = cl, tableName = tableName("PresentValues_Benefits_", id), styles = styles, - caption = "Leistungsbarwerte", valueStyle = styles$pv0) + 1; - - w2 = writePremiumCoefficients(wb, sheet, contract$Values$premiumCoefficients, type = "costs", crow = crow, ccol = cl - 2, tarif = contract$tarif); - area.costcoeff = paste0(int2col(cl), "%d:", int2col(cl + w2 - 1), "%d"); - area.costvals = paste0("$", int2col(cl), "$", crow + 6 + 2 + tPrem, ":$", int2col(cl + w2 - 1), "$", crow + 6 + 2 + tPrem); - empty.cols = c(empty.cols, empty.col.indices(as.data.frame(costPV)) - 1 + cl) - cl = cl + writeValuesTable(wb, sheet, as.data.frame(costPV), - crow = crow + 6, ccol = cl, tableName = tableName("PresentValues_Costs_", id), styles = styles, - caption = "Kostenbarwerte", valueStyle = styles$cost0) + 1; - - # Now print out the formulas for premium calculation into the columns 2 and 3: - writeData(wb, sheet, as.data.frame(c("Nettopr\u00e4mie", contract$Values$premiums[["net"]],"Zillmerpr\u00e4mie", contract$Values$premiums[["Zillmer"]], "Bruttopr\u00e4mie", contract$Values$premiums[["gross"]])), startCol = ccol, startRow = crow, colNames = FALSE, borders = "rows"); - for (i in 0:5) { - writeFormula(wb, sheet, paste0("SUMPRODUCT(", sprintf(area.premiumcoeff, crow + i, crow + i), ", ", area.premiumvals, ") + SUMPRODUCT(", sprintf(area.costcoeff, crow + i, crow + i), ", ", area.costvals, ")"), startCol = ccol + 2, startRow = crow + i); - addStyle(wb, sheet, style = styles$pv0, rows = crow + i, cols = ccol + 2, stack = TRUE); - } - for (i in c(0,2,4)) { - writeFormula(wb, sheet, paste0(int2col(3), crow + i, "/", int2col(ccol + 2), crow + i + 1), startCol = ccol + 1, startRow = crow + i); - addStyle(wb, sheet, style = styles$pv0, rows = crow + i, cols = ccol + 1, stack = TRUE); - } - for (i in c(1,3,5)) { - writeFormula(wb, sheet, paste0(int2col(2), crow + i - 1, "*", contract$Parameters$ContractData$sumInsured), startCol = ccol + 1, startRow = crow + i); - addStyle(wb, sheet, style = styles$currency0, rows = crow + i, cols = ccol:(ccol + 1), stack = TRUE, gridExpand = TRUE); - } - - - endrow = (crow + 6 + 1 + nrrow) - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - } - - for (b in contract$blocks) { - res = exportPVTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - # exportPVTable returns a list of the next excel table row and a list of all empty columns (to be hidden later on) - crow = res$crow - if (is.null(empty.cols)) { - empty.cols = res$empty.cols - } else { - empty.cols = intersect(empty.cols, res$empty.cols) - } - } - list(crow = crow, empty.cols = empty.cols) -} - -exportCFTable = function(wb, sheet, contract, ccol = 1, crow = 1, styles = c(), seprows = 5, freeze = TRUE) { - # Write out only if the contract has unit cash flows (i.e. it is a leaf contract block without children on its own!) - empty.cols = NULL; - if (!is.null(contract$Values$cashFlows)) { - id = contract$Parameters$ContractData$id - nrrow = contract$Values$int$l - empty.cols = c() - - blockid.row = crow - crow = crow + 2 - endrow = (crow + 1 + nrrow) - - if (freeze) { - freezePane(wb, sheet, firstActiveRow = crow + 2, firstActiveCol = ccol + 2) - } - qp = contract$Values$transitionProbabilities[1:nrrow,]; # extract the probabilities once, will be needed in - cl = ccol - - cl = cl + writeAgeQTable(wb, sheet, probs = qp, crow = crow, ccol = cl, styles = styles); - empty.cols = c(empty.cols, empty.col.indices(contract$Values$cashFlows)- 1 + cl) - cl = cl + writeValuesTable( - wb, sheet, setInsuranceValuesLabels(contract$Values$cashFlows), - crow = crow, ccol = cl, tableName = tableName("CF_", id), styles = styles, - caption = "Leistungscashflows", valueStyle = styles$hide0) + 1; - costCF = costValuesAsDF(setInsuranceValuesLabels(contract$Values$cashFlowsCosts)) - empty.cols = c(empty.cols, empty.col.indices(costCF)- 1 + cl) - cl = cl + writeValuesTable( - wb, sheet, costCF, - crow = crow, ccol = cl, tableName = tableName("CFcosts_", id), styles = styles, - caption = "Kostencashflows", valueStyle = styles$cost0) + 1; - - exportBlockID(wb, sheet, id = id, rows = blockid.row, cols = ccol:cl, styles = styles) - crow = endrow + seprows - } - - for (b in contract$blocks) { - res = exportCFTable( - wb = wb, sheet = sheet, contract = b, - ccol = ccol, crow = crow, styles = styles, seprows = seprows, freeze = FALSE) - # exportCFTable returns a list of the next excel table row and a list of all empty columns (to be hidden later on) - crow = res$crow - if (is.null(empty.cols)) { - empty.cols = res$empty.cols - } else { - empty.cols = intersect(empty.cols, res$empty.cols) - } - } - list(crow = crow, empty.cols = empty.cols) -} - - - - - -############################################################################### # -# -# The actual export function -# -# exportInsuranceContract.xlsx(contract, filename) -# -############################################################################### # - -#' Export an insurance act object tocontract (object of class [InsuranceContract]) to an Excel file -#' -#' @details The function \code{exportInsuranceContract.xlsx} exports an object -#' of class [InsuranceContract] to an Excel file. All basic data, as well as -#' the time series of (absolute and unit) cash flows, reserves, premiums, premium -#' composition and all profit participation scenarios are exported to the file -#' in nicely looking tables. -#' -#' No new calculations are done in this function. It only prints out the values -#' stored in \code{contract$Values}. -#' -#' @param contract The insurance contract to export -#' @param filename Target Excel filename for export -#' -#' @examples -#' library("MortalityTables") -#' mortalityTables.load("Austria_Annuities_AVOe2005R") -#' # A trivial deferred annuity tariff with no costs: -#' tariff = InsuranceTarif$new(name = "Test Annuity", type = "annuity", tarif = "Annuity 1A", -#' mortalityTable = AVOe2005R.unisex, i=0.01) -#' contract = InsuranceContract$new( -#' tariff, -#' age = 35, YOB = 1981, -#' policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, -#' sumInsured = 1000, -#' contractClosing = as.Date("2016-10-01") -#' ); -#' \dontrun{exportInsuranceContract.xlsx(contract, "Example_annuity_contract.xlsx")} -#' @export -exportInsuranceContract.xlsx = function(contract, filename) { - # TODO: argument checking for contract and filename - - ### - nrrows = contract$Values$int$l; # Some vectors are longer(e.g. qx), so determine the max nr or rows - qp = contract$Values$transitionProbabilities[1:nrrows,]; # extract the probabilities once, will be needed in every sheet - - ############################################### # - # Style information #### - ############################################### # - styles = list( - blockID = createStyle(border = "Bottom", borderColour = "#ab6310", fgFill = "#d0d0d0", halign = "left", textDecoration = "bold", fontSize = 14), - scenarioID = createStyle(halign = "left", textDecoration = "bold", fontSize = 14), - header = createStyle(border = "TopBottomLeftRight", borderColour = "#DA9694", borderStyle = "medium", - fgFill = "#C0504D", fontColour = "#FFFFFF", - halign = "center", valign = "center", textDecoration = "bold"), - tableHeader = createStyle(#border = "To2pLeftRight", borderColour = "#DA9694", borderstyle = "medium", - #bgFill = "#2C0504D", fontColour = "#FFFFFF", - fgFill = "#E0E0E0", - halign = "center", valign = "center", textDecoration = "bold"), - hide0 = createStyle(numFmt = "General; General; \"\""), - currency0 = createStyle(numFmt = "[$\u20ac-C07] #,##0.00;[red]-[$\u20ac-C07] #,##0.00;\"\""), - cost0 = createStyle(numFmt = "0.0##%; 0.0##%; \"\""), - pv0 = createStyle(numFmt = "0.00000;-0.00000;\"\""), - qx = createStyle(numFmt = "0.000000"), - rate = createStyle(numFmt = "0.00####%"), - digit = createStyle(numFmt = "0;-0;\"\""), - wrap = createStyle(wrapText = TRUE), - center = createStyle(halign = "center", valign = "center"), - separator = createStyle(fgFill = "#000000"), - unitpremiums = createStyle(numFmt = "0.00000%; -0.00000%;"), - date = createStyle(numFmt = "DATE") - ); - - ############################################### # - # General Workbook setup #### - ############################################### # - wb = openxlsx::createWorkbook(); - - - ############################################### # - # Basic parameters #### - ############################################### # - - # Print out general Contract and Tariff information, including results - sheet = "Tarifinformationen" - addValuesWorksheet(wb, sheet); - exportContractDataTable( - wb, sheet = sheet, contract = contract, - ccol = 1, crow = 1, styles = styles) - - - ################################################# # - # Print out Basic contract data as time series #### - ################################################# # - - sheet = "Basisdaten"; - addValuesWorksheet(wb, sheet); - exportBasicDataTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4, styles = styles) - - - ############################################### # - # Print out Reserves #### - ############################################### # - - sheet = "Reserven"; - addValuesWorksheet(wb, sheet); - exportReserveTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4, styles = styles) - - - ################################################ # - # Print out Profit Participation #### - ################################################ # - - if (!is.null(contract$Values$profitParticipation)) { - sheet = "Gewinnbeteiligung"; - addValuesWorksheet(wb, sheet); - exportProfitParticipationTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4, styles = styles) - } - - - ############################################### # - # Print out premium decomposition #### - ############################################### # - - sheet = "Pr\u00e4mienzerlegung"; - addValuesWorksheet(wb, sheet); - exportPremiumCompositionTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4, styles = styles) - - - ################################################ # - # Print out absolute values of present values #### - ################################################ # - - sheet = "abs.Barwerte"; - addValuesWorksheet(wb, sheet); - exportAbsPVTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4,styles = styles) - - - ############################################### # - # Print out absolute values for cash flows #### - ############################################### # - - sheet = "abs.Cash-Flows"; - addValuesWorksheet(wb, sheet); - exportAbsCFTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4, styles = styles) - - - ############################################### # - # Print out present values #### - ############################################### # - - # TODO-blocks - sheet = "Barwerte"; - addValuesWorksheet(wb, sheet); - res = exportPVTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4,styles = styles) - if (length(res$empty.cols) > 0) { - setColWidths(wb, sheet = sheet, cols = res$empty.cols, hidden = TRUE) - } - - - ############################################## # - # Print out cash flows #### - ############################################## # - - sheet = "Cash-Flows"; - addValuesWorksheet(wb, sheet); - res = exportCFTable( - wb = wb, sheet = sheet, contract = contract, - ccol = 1, crow = 4, styles = styles) - if (length(res$empty.cols) > 0) { - setColWidths(wb, sheet = sheet, cols = res$empty.cols, hidden = TRUE) - } - - - - - ############################################## # - # Save file #### - ############################################## # - - openxlsx::saveWorkbook(wb, filename, overwrite = TRUE) - -} diff --git a/R/showVmGlgExamples.R b/R/showVmGlgExamples.R deleted file mode 100644 index 3fff4d5..0000000 --- a/R/showVmGlgExamples.R +++ /dev/null @@ -1,374 +0,0 @@ -#' @include InsuranceContract.R -#' -#' @import MortalityTables -#' @import scales -#' @importFrom methods is -NULL - -# Internal helper function to calculate all values => will be used by -# showVmGlgExamples, testVmGlgExample and vmGlgExample.generateTest -calcVmGlgExample = function(contract, prf = 10, t = 10, t_prf = 12, ...) { - - if (is(contract, "InsuranceTarif")) { - tariff = contract - contract = InsuranceContract$new(tariff, ...) - } - has.prf = prf < contract$Parameters$ContractData$premiumPeriod; - if (!is(contract, "InsuranceContract")) { - stop("First argument to the functions showVmGlgExamples, testVmGlgExample - and vmGlgExample.generateTest need to be an InsuranceContract or InsuranceTarif object! ", - "Given object is of class: ", - paste(class(contract), collapse = ", ")); - } - if (has.prf) { - contract.prf = contract$clone(); - contract.prf$premiumWaiver(t = prf) - } - - vals = list( - t = t, - prf = prf, - t_prf = t_prf, - contractClosing = contract$Parameters$ContractData$contractClosing, - - TarifName = contract$tarif$name, - TarifDesc = contract$tarif$desc, - TarifType = as.character(contract$tarif$tariffType), - VS = contract$Parameters$ContractData$sumInsured, - Age = contract$Parameters$ContractData$age, - policyPeriod = contract$Parameters$ContractData$policyPeriod, - premiumPeriod = contract$Parameters$ContractData$premiumPeriod, - deferralPeriod = contract$Parameters$ContractData$deferralPeriod, - guaranteedPeriod = contract$Parameters$ContractData$guaranteedPeriod, - Interest = contract$Parameters$ActuarialBases$i, - MortalityTable = contract$Parameters$ActuarialBases$mortalityTable@name, - - net = contract$Values$premiums[["net"]], - Zillmer = contract$Values$premiums[["Zillmer"]], - gross = contract$Values$premiums[["gross"]], - written = contract$Values$premiums[["written"]], - savings = contract$Values$premiumComposition[[t + 1, "Zillmer.savings"]], - risk = contract$Values$premiumComposition[[t + 1, "Zillmer.risk"]], - ZillmerRes = contract$Values$reserves[[t + 1, "Zillmer"]], - ZillmerRes.prf = if(has.prf) contract.prf$Values$reserves[[t_prf + 1, "Zillmer"]], - VwKostenRes = contract$Values$reserves[[t + 1, "gamma"]], - VwKostenRes.prf = if(has.prf) contract.prf$Values$reserves[[t_prf + 1, "gamma"]], - Bilanzstichtag = contract$Values$reservesBalanceSheet[[t + 1, "time"]], - Bilanzreserve = contract$Values$reservesBalanceSheet[[t + 1, "Balance Sheet Reserve"]], - Praemienuebertrag = contract$Values$reservesBalanceSheet[[t + 1, "unearned Premiums"]], - Rueckkaufsreserve = contract$Values$reserves[[t + 1, "reduction"]], - Rueckkaufswert = contract$Values$reserves[[t + 1, "Surrender"]], - Abschlusskostenruecktrag = contract$Values$reserves[[t + 1, "alphaRefund"]], - Rueckkaufswert.prf = if(has.prf) contract.prf$Values$reserves[[t_prf + 1, "Surrender"]], - VS.after_prf = if(has.prf) contract.prf$Values$reserves[[t_prf + 1, "PremiumFreeSumInsured"]], - VS.prf = if(has.prf) contract$Values$reserves[[t + 1, "PremiumFreeSumInsured"]] - - ); - # manually remove all NULL elements (premium waiver not possible ) - vals = Filter(Negate(is.null), vals) - vals -} - - -#' Display insurance contract calculation example -#' -#' Display the values of the example calculation of the given insurance contract -#' as required by the Austrian regulation (LV-VMGLV, "LV -#' Versicherungsmathematische Grundlagen Verordnung"). -#' -#' @param contract The insurance contract to calculate and show -#' @param t Time for which to show all values (except premium-free values) -#' @param prf Time of premium waiver (premium-free) -#' @param t_prf Time for which to show all values after the premium waiver -#' @param file If given, outputs all information to the file rather than the console -#' @param ... Further parameters for generating the contract for a tariff object -#' -#' @examples -#' library(MortalityTables) -#' mortalityTables.load("Austria_Annuities_AVOe2005R") -#' # A trivial deferred annuity tariff with no costs: -#' tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", -#' mortalityTable = AVOe2005R.unisex, i=0.01) -#' contract = InsuranceContract$new( -#' tariff, -#' age = 35, YOB = 1981, -#' policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, -#' sumInsured = 1000, -#' contractClosing = as.Date("2016-10-01") -#' ); -#' showVmGlgExamples(contract) -#' -#' # Optionally output to a file rather than the console: -#' \dontrun{ -#' showVmGlgExamples(contract, file = "annuity-example.txt") -#' } -#' @export -showVmGlgExamples = function(contract, prf = 10, t = 10, t_prf = 12, file = "", ...) { - if (getOption('LIC.debug.showVmGlgExamples', FALSE)) { - browser(); - } - vals = calcVmGlgExample(contract, prf = prf, t = t, t_prf = t_prf, ...); - - has.prf = prf < contract$Parameters$ContractData$premiumPeriod; - - output = c( - sprintf("Tarif: %s", vals$TarifName), - vals$tarifDesc, - sprintf("Typ: %s", vals$tariffType), - sprintf("VS: %.2f", vals$VS), - sprintf("Alter: %d, LZ: %d, Pr\u00e4mienzahlung: %d, Aufschubzeit: %d, Garantiezeit: %d", - vals$age, - vals$policyPeriod, - vals$premiumPeriod, - vals$deferralPeriod, - vals$guaranteedPeriod), - - sprintf("Rechenzins: %s, Sterbetafel: %s", - scales::percent(vals$Interest), vals$MortalityTable), - "", - - "Pr\u00e4mien:", - "========", - sprintf("Nettopr\u00e4mie: %8.2f", vals$net), - sprintf("Zillmerpr\u00e4mie: %8.2f", vals$Zillmer), - sprintf("Bruttopr\u00e4mie: %8.2f", vals$gross), - sprintf("Vorgeschr.Pr.: %8.2f", vals$written), - "", - - sprintf("Sparpr\u00e4mie (t=%d): %8.2f", vals$t, vals$savings), - sprintf("Risikopr\u00e4mie (t=%d): %8.2f", vals$t, vals$risk), - "", - - "Reserven:", - "=========", - sprintf("Pr\u00e4mienpflichtig (t=%d): %8.2f", vals$t, vals$ZillmerRes), - sprintf("Pr.Frei (mangels Zahlung) (tprf=%d): %8.2f", vals$t_prf, vals$ZillmerRes.prf), - sprintf("VwKostenreserve (t=%d): %8.2f", vals$t, vals$VwKostenRes), - sprintf("VwKostenreserve (Pr.Frei) (tprf=%d): %8.2f", vals$t_prf, vals$VwKostenRes.prf), - "", - - sprintf("Bilanzreserve (t=%.2f): %8.2f", - vals$Bilanzstichtag, vals$Bilanzreserve), - sprintf("Pr\u00e4mien\u00fcbertrag (BM=%2d): %8.2f", - lubridate::month(vals$contractClosing), vals$Praemienuebertrag), - "", - - "R\u00fcckkauf und Pr\u00e4mienfreistellung:", - "=================================", - sprintf("R\u00fcckkaufsreserve (t=%d): %8.2f", vals$t, vals$Rueckkaufsreserve), - sprintf("R\u00fcckkaufswert (t=%d): %8.2f", vals$t, vals$Rueckkaufswert), - sprintf("Abschlusskostenr\u00fccktrag (t=%d): %8.2f", vals$t, vals$Abschlusskostenruecktrag), - "", - - sprintf("R\u00fcckkaufswert (Prf.) (t=%d): %8.2f (VS: %.2f)", - vals$t_prf, vals$Rueckkaufswert, vals$VS.after_prf), - "", - - sprintf("Pr\u00e4mienfreie VS (t=%d): %8.2f", - vals$t, vals$VS.prf) - ); - output.str = paste(output, collapse = '\r\n') - cat(output.str, file = file) -} - - -#' Perform unit tests of given standard values of the insurance contract example -#' -#' Check the values of the example calculation of the given insurance contract -#' as required by the Austrian regulation (LV-VMGLV, "LV -#' Versicherungsmathematische Grundlagen Verordnung"). -#' Missing params not passed to the function call will be silently ignored and -#' not cause unit test failures. -#' -#' The easiest way to write unit-tests is using the function \code{vmGlgExample.generateTest} -#' -#' @param contract The insurance contract to calculate and check -#' @param t Time for which to check all values (except premium-free values) -#' @param prf Time of premium waiver (premium-free) -#' @param t_prf Time for which to check all values after the premium waiver -#' @param net,Zillmer,gross,written,savings,risk,ZillmerRes,ZillmerRes.prf,VwKostenRes,VwKostenRes.prf,Bilanzreserve,Praemienuebertrag,Rueckkaufsreserve,Rueckkaufswert,Abschlusskostenruecktrag,Rueckkaufswert.prf,VS.prf Values as printed out by showVmGlgExamples -#' @param absTolerance If non-NULL, will ignore small floating point differences. It uses same algorithm as all.equal() -#' @param ... Further parameters for generating the contract for a tariff object -#' -#' @examples -#' library(MortalityTables) -#' mortalityTables.load("Austria_Annuities_AVOe2005R") -#' -#' \dontrun{ -#' test_that("Testtarif", { -#' # A trivial deferred annuity tariff with no costs: -#' tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", -#' mortalityTable = AVOe2005R.unisex, i=0.01) -#' contract = InsuranceContract$new( -#' tariff, -#' age = 35, YOB = 1981, -#' policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, -#' sumInsured = 1000, -#' contractClosing = as.Date("2016-10-01") -#' ); -#' -#' testVmGlgExample( -#' contract, t = 10, -#' net = 850.09, # NOT_CHECKED: Zillmer = 950.09, -#' gross = 850.09, -#' written = 884.09, -#' savings = 857.09, risk = -7.00, -#' ZillmerRes = 9011.40, -#' ZillmerRes.prf = 9205.96, -#' VwKostenRes = 0.00, -#' VwKostenRes.prf = 0.00, -#' Bilanzreserve = 9250.35, -#' Praemienuebertrag = 212.52, -#' Rueckkaufsreserve = 9011.40, -#' Rueckkaufswert = 9011.40, -#' Abschlusskostenruecktrag = 0.00, -#' Rueckkaufswert.prf = 9205.96, -#' VS.prf = 685.12 -#' ) -#' }) -#'} -#' -#' @export -testVmGlgExample = function(contract, prf = 10, t = 10, t_prf = 12, net, Zillmer, gross, written, savings, risk, - ZillmerRes, ZillmerRes.prf, VwKostenRes, VwKostenRes.prf, - Bilanzreserve, Praemienuebertrag, - Rueckkaufsreserve, Rueckkaufswert, Abschlusskostenruecktrag, - Rueckkaufswert.prf, VS.prf, absTolerance = 0.015, - ... -) { - if (getOption('LIC.debug.testVmGlgExample', FALSE)) { - browser(); - } - vals = calcVmGlgExample(contract, prf = prf, t = t, t_prf = t_prf, ...); - has.prf = prf < contract$Parameters$ContractData$premiumPeriod; - - if (!missing(net)) { - eval(bquote(expect_equal(vals$net, .(net), tolerance = abs(absTolerance / .(net))))) - } - if (!missing(Zillmer)) { - eval(bquote(expect_equal(vals$Zillmer, .(Zillmer), tolerance = abs(absTolerance / .(Zillmer))))) - } - if (!missing(gross)) { - eval(bquote(expect_equal(vals$gross, .(gross), tolerance = abs(absTolerance / .(gross))))) - } - if (!missing(written)) { - eval(bquote(expect_equal(vals$written, .(written), tolerance = abs(absTolerance / .(written))))) - } - if (!missing(savings)) { - eval(bquote(expect_equal(vals$savings, .(savings), tolerance = abs(absTolerance / .(savings))))) - } - if (!missing(risk)) { - eval(bquote(expect_equal(vals$risk, .(risk), tolerance = abs(absTolerance / .(risk))))) - } - - if (!missing(ZillmerRes)) { - eval(bquote(expect_equal(vals$ZillmerRes, .(ZillmerRes), tolerance = abs(absTolerance / .(ZillmerRes))))) - } - if (!missing(ZillmerRes.prf)) { - eval(bquote(expect_equal(vals$ZillmerRes.prf, .(ZillmerRes.prf), tolerance = abs(absTolerance / .(ZillmerRes.prf))))) - } - if (!missing(VwKostenRes)) { - eval(bquote(expect_equal(vals$VwKostenRes, .(VwKostenRes), tolerance = abs(absTolerance / .(VwKostenRes))))) - } - if (!missing(VwKostenRes.prf)) { - eval(bquote(expect_equal(vals$VwKostenRes.prf, .(VwKostenRes.prf), tolerance = abs(absTolerance / .(VwKostenRes.prf))))) - } - - - if (!missing(Bilanzreserve)) { - eval(bquote(expect_equal(vals$Bilanzreserve, .(Bilanzreserve), tolerance = abs(absTolerance / .(Bilanzreserve))))) - } - if (!missing(Praemienuebertrag)) { - eval(bquote(expect_equal(vals$Praemienuebertrag, .(Praemienuebertrag), tolerance = abs(absTolerance / .(Praemienuebertrag))))) - } - - if (!missing(Rueckkaufsreserve)) { - eval(bquote(expect_equal(vals$Rueckkaufsreserve, .(Rueckkaufsreserve), tolerance = abs(absTolerance / .(Rueckkaufsreserve))))) - } - if (!missing(Rueckkaufswert)) { - eval(bquote(expect_equal(vals$Rueckkaufswert, .(Rueckkaufswert), tolerance = abs(absTolerance / .(Rueckkaufswert))))) - } - if (!missing(Abschlusskostenruecktrag)) { - eval(bquote(expect_equal(vals$Abschlusskostenruecktrag, .(Abschlusskostenruecktrag), tolerance = abs(absTolerance / .(Abschlusskostenruecktrag))))) - } - if (!missing(Rueckkaufswert.prf)) { - eval(bquote(expect_equal(vals$Rueckkaufswert.prf, .(Rueckkaufswert.prf), tolerance = abs(absTolerance / .(Rueckkaufswert.prf))))) - } - if (!missing(VS.prf)) { - eval(bquote(expect_equal(vals$VS.prf, .(VS.prf), tolerance = abs(absTolerance / .(VS.prf))))) - # OR: contract$Values$reserves[t + 1, "PremiumFreeSumInsured"] - } -} - - - - -#' Generate testthat output for unit-testing a tarif implementation -#' -#' This function calculates the required reference values for the given -#' insurance contract as required by the Austrian regulation (LV-VMGLV, "LV -#' Versicherungsmathematische Grundlagen Verordnung") and generates the -#' code for unit-testing the contract with these values. The code printed -#' can be directly copied into a unit test file. -#' -#' @param contract The insurance contract to calculate and generate unit-testing code. -#' If an InsuranceTarif object is given, a new contract with default -#' values is generated. -#' @param t Time for which to calculate all values (except premium-free values) -#' @param prf Time of premium waiver (premium-free) -#' @param t_prf Time for which to calculated all values after the premium waiver -#' @param ... Further parameters for generating the contract for a tariff object -#' -#' @examples -#' library(MortalityTables) -#' mortalityTables.load("Austria_Annuities_AVOe2005R") -#' # A trivial deferred annuity tariff with no costs: -#' tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", -#' mortalityTable = AVOe2005R.unisex, i=0.01) -#' vmGlgExample.generateTest(tariff, -#' age = 35, YOB = 1981, -#' policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, -#' sumInsured = 1000, -#' contractClosing = as.Date("2016-10-01") -#' ) -#' -#' @export -vmGlgExample.generateTest = function(contract, prf = 10, t = 10, t_prf = 12, ...) { - if (getOption('LIC.debug.vmGlgExample.generateTest', FALSE)) { - browser(); - } - cntr = deparse(substitute(contract)); - - vals = calcVmGlgExample(contract, prf = prf, t = t, t_prf = t_prf, ...); - - - code = paste0("test_that(\"", vals$TarifName, "\", {\n"); - code = paste0(code, "\tcontract = InsuranceContract$new(\n\t\t", cntr, ",\n\t\t"); - arguments = sapply(substitute(list(...))[-1], deparse); - code = paste0(code, - paste(names(arguments), arguments, sep = " = ", collapse = ",\n\t\t") - ); - code = paste0(code, "\n\t);\n") - code = paste0(code, "\t# showVmGlgExamples(contract, t = ", t, ", prf = ", prf, ", t_prf = ", t_prf, ");\n\n") - code = paste0(code, "\ttestVmGlgExample(\n\t\tcontract, \n\t\tt = ", t, ", prf = ", prf, ", t_prf = ", t_prf, ",\n") - - check.keys = c("net", "Zillmer", "gross", "written", "savings", "risk", - "ZillmerRes", "ZillmerRes.prf", "VwKostenRes", "VwKostenRes.prf", - "Bilanzreserve", "Praemienuebertrag", - "Rueckkaufsreserve", "Rueckkaufswert", "Abschlusskostenruecktrag", - "Rueckkaufswert.prf", "VS.prf"); - - # Subsetting a list creates NULL entries for missing keys => filter them out - # E.g. single-premium contracts do not have any premium-free values, so they are NULL. - cmpvals = Filter(Negate(is.null), vals[check.keys]); - check.str = paste( - names(cmpvals), - sprintf("%.2f", cmpvals), - sep = " = ", collapse = ", \n\t\t"); - code = paste0(code, "\t\t", check.str, ",\n\tabsTolerance = 0.01\n\t);\n"); - code = paste0(code, "})\n"); - cat(code); -} - - - diff --git a/README.md b/README.md index b96611f..91f3a67 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,4 @@ # The *LifeInsuranceContracts* Package For Traditional Life Insurance with Guarantee and Profit Participation R package implementing general life insurance contracts -This package R6 classes to model traditional life insurance - contracts like annuities, whole life insurances or endowments. 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. +This package has been renamed to LifeInsureR, please use that new name instead of LifeInsuranceContracts! diff --git a/inst/Beispiele/Example_Endowment.R b/inst/Beispiele/Example_Endowment.R deleted file mode 100644 index 0791875..0000000 --- a/inst/Beispiele/Example_Endowment.R +++ /dev/null @@ -1,117 +0,0 @@ -library(LifeInsuranceContracts) -library(MortalityTables) -library(lubridate) -mortalityTables.load("Austria_Census") - -################################################################### # -# DEFINITION TARIF #### -################################################################### # -# -# Beispieltarif: -# endowment with regular premiums -# death benefit = survival benefit -# Costs: Alpha: 4% of premium sum up-front (2,5% Zillmer) -# Beta: 5% of each premium paid -# Gamma: 0,1% of sum insured per year over the whole contract maturity -# Unitcosts: 10 EUR + 5% Premium Sum (max. 50 EUR), during premium period -################################################################### # - -costs.Bsp = initializeCosts(); -costs.Bsp[["alpha", "SumPremiums", "once"]] = 0.04; -costs.Bsp[["Zillmer", "SumPremiums", "once"]] = 0.025; # deutsche Beschränkung der Zillmerung -costs.Bsp[["beta", "GrossPremium", "PremiumPeriod"]] = 0.05; -costs.Bsp[["gamma", "SumInsured", "PolicyPeriod"]] = 0.001; - - -initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.001) - - -costs.Bsp.Unterjaehrigkeit = list("1" = 0.0, "2" = 0.01, "4" = 0.015, "12" = 0.02); - -# Stückkosten: 10EUR + 5% PS, maximal 50 -costs.Bsp.Stueckkosten = function (params, values) { min(50, 10 + 0.05*values$premiums[["gross"]]) } - - -surrender.Bsp = function(surrenderReserve, params, values) { - n = params$ContractData$policyPeriod - params$ContractData$blockStart; - # Rückkaufsabschlag linear fallend von 10 auf 0%: - sf = c(rep(0, params$ContractData$blockStart), 1 - 0.1 * (1 - (0:n)/n)); - surrenderReserve * sf -} - -Tarif.Bsp = InsuranceTarif$new( - name = "Example Tariff - Standard Endowment", - type = "endowment", - tarif = "BSP", - desc = "Gemischte Versicherung (Standardtarif)", - premiumPeriod = 1, - #alphaRefundLinear = FALSE, - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - costs = costs.Bsp, - Costs = costs.Bsp, - unitcosts = costs.Bsp.Stueckkosten, - - premiumFrequencyOrder = -1, # Unterjährige Prämienzahlung wird nicht im BW berücksichtigt, sondern durch Prämienaufschlag - premiumFrequencyLoading = costs.Bsp.Unterjaehrigkeit, - premiumRefund = 0, - tax = 0.04, - - surrenderValueCalculation = surrender.Bsp -); - -################################################################### # -# Example contract with dynamiocs #### -################################################################### # - - -contract.Bsp = InsuranceContract$ - new( - Tarif.Bsp, - age = 35, policyPeriod = 15, premiumPeriod = 15, - premiumFrequency = 12, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01"), - id = "Hauptvertrag" - )$ - addDynamics(t = 5, NewSumInsured = 200000, id = "Dynamik 1", i = 0.05, age = 70)$ - addDynamics(t = 10, NewSumInsured = 250000, id = "Dynamik 2", i = 0.01); - -options('LIC.debug.premiumCalculation' = TRUE) -contract.Bsp$premiumWaiver(t = 13) - -options('LIC.debug.premiumCalculation' = FALSE) -# exportInsuranceContractExample(contract.Bsp, t = 5); -# showVmGlgExamples(contract.Bsp, t = 10) -# -# exportInsuranceContract.xlsx(contract.Bsp, filename = "BEISPIEL_Contract.xlsx") -# -# -# contract.Bsp$Values$cashFlowsBasic -# contract.Bsp$Values$cashFlows -# contract.Bsp$Values$cashFlowsCosts -# contract.Bsp$Values$presentValues -# # contract.U17_3J$Values$presentValuesCosts -# contract.Bsp$Values$premiumSum -# contract.Bsp$Values$premiums -# contract.Bsp$Values$premiumComposition -# contract.Bsp$Values$reserves - - -################################################################### # -# Testing premium waivers #### -################################################################### # - - -contract.Bsp.waiver = InsuranceContract$ - new( - Tarif.Bsp, - age = 35, policyPeriod = 15, premiumPeriod = 15, - premiumFrequency = 12, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01"), - id = "Hauptvertrag" - )$premiumWaiver(t = 5) -exportInsuranceContract.xlsx(contract.Bsp.waiver, filename = "BEISPIEL_Contract_PrWaiver.xlsx") - diff --git a/inst/Beispiele/Example_WholeLife_L71-U.R b/inst/Beispiele/Example_WholeLife_L71-U.R deleted file mode 100644 index 40101f3..0000000 --- a/inst/Beispiele/Example_WholeLife_L71-U.R +++ /dev/null @@ -1,41 +0,0 @@ -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 (5 years) with constant sum insured and regular premiums", - policyPeriod = 5, premiumPeriod = 5, # 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 - } -); - -contract.L71U = InsuranceContract$new( - Tarif.L71U, - age = 35, - contractClosing = as.Date("2020-08-18"), - sumInsured = 100000); - -contract.L71U$Values$premiums -contract.L71U$Values$reserves - -contract.L71U = contract.L71U$premiumWaiver(t = 3) -contract.L71U$Values$reserves -contract.L71U$Values$premiumCoefficients - - - -exportInsuranceContract.xlsx(contract.L71U, "L71U.xlsx") -openXL("L71U.xlsx") diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts.dcf b/inst/rstudio/templates/project/LifeInsuranceContracts.dcf deleted file mode 100644 index ce4aeb5..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts.dcf +++ /dev/null @@ -1,10 +0,0 @@ -Binding: create_LIC_project -Title: LifeInsuranceContracts Implementation -Subtitle: Company-specific product definitions using the LifeInsuranceContracts package -OpenFiles: RechnungGesamtbestand.R -Caption: Company-specific LifeInsuranceContracts product implementation - -Parameter: Company -Widget: TextInput -Label: Company (letters only, no spaces, special characters etc.) - diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/.Rbuildignore b/inst/rstudio/templates/project/LifeInsuranceContracts/.Rbuildignore deleted file mode 100644 index 0e18abd..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/.Rbuildignore +++ /dev/null @@ -1,8 +0,0 @@ -^.*\.Rproj$ -^\.Rproj\.user$ -^Polizzeninfos/2020- -^Polizzeninfos/2021- -^Polizzeninfos/2022- -^\.RData$ -^\.git$ -^Vergleichsrechner/ diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/.gitignore b/inst/rstudio/templates/project/LifeInsuranceContracts/.gitignore deleted file mode 100644 index 3865c7e..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.Rproj.user -.Rhistory -.RData -.Ruserdata -Ergebnisse_Gesamtbestand_Vergleichsrechnung -20*_Nachrechnung/ diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/DESCRIPTION b/inst/rstudio/templates/project/LifeInsuranceContracts/DESCRIPTION deleted file mode 100644 index 1b35ed4..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/DESCRIPTION +++ /dev/null @@ -1,28 +0,0 @@ -Package: LifeInsuranceContractsXXXCOMPANYXXX -Type: Package -Title: LifeInsuranceContract Implementation for XXXCOMPANYXXX -Version: 0.1 -Date: 2023-12-31 -Description: Implementation of XXXCOMPANYXXX life insurance products. -License: Proprietory (using XXXCOMPANYXXX's tariff plans) -Authors@R: c(person("Firstname", "Lastname", role = c("aut", "cre"), - email = "email@example.com")) -Author: Firstname Lastname [aut, cre] -Maintainer: Firstname Lastname <email@example.com> -Depends: R (>= 3.1.0), - LifeInsuranceContracts, - MortalityTables, - here -Encoding: UTF-8 -LazyData: true -Recommends: - openxlsx -URL: -BugReports: -RoxygenNote: 7.2.3 -Collate: - 'XXXCOMPANYXXX_General.R' - 'XXXCOMPANYXXX_Tarif1.R' -Suggests: - testthat (>= 3.0.0) -Config/testthat/edition: 3 diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/NAMESPACE b/inst/rstudio/templates/project/LifeInsuranceContracts/NAMESPACE deleted file mode 100644 index 6ae9268..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/NAMESPACE +++ /dev/null @@ -1,2 +0,0 @@ -# Generated by roxygen2: do not edit by hand - diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_General.R b/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_General.R deleted file mode 100644 index c571c78..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_General.R +++ /dev/null @@ -1,197 +0,0 @@ -library(tidyverse) - -##########################################################################m# -# Datenstruktur für Tarife #### -##########################################################################m# - -# Idea / approach taken from the `memoise` package (In-memory cache) -# XXXCOMPANYXXX.Tariffs.init = function() { -# tariffs = new.env(TRUE, emptyenv()) -# tariff_set = function(key, value) { -# assign(key, value, envir = tariffs) -# } -# tariff_get = function(key) { -# get(key, envir = tariffs, inherits = FALSE) -# } -# tariff_exists = function(key) { -# exists(key, envir = tariffs) -# } -# list( -# get = tariff_get, -# set = tariff_set, -# exists = -# ) -# } -#' @export -XXXCOMPANYXXX.Tariffs = c() - -#' @export -XXXCOMPANYXXX.register = function(Tarif, Produkt, GV = NULL, AVB = NULL) { - if (is.null(Produkt)) { - warning("Product name missing in call to XXXCOMPANYXXX.register!"); - return(); - } - locked = FALSE - # TODO: Unlocking does not work => Once the package is built/installed, - # new products/tariffs cannot be added via XXXCOMPANYXXX.register. - # => Figure out a way to store all registered tariffs in a list - # that is not locked / that can be unlocked! - if ("package:LifeInsuranceContractsXXXCOMPANYXXX" %in% search()) { - pkgenv = as.environment("package:LifeInsuranceContractsXXXCOMPANYXXX") - locked = bindingIsLocked("XXXCOMPANYXXX.Tariffs", pkgenv) - # if (locked) { - # unlockBinding("XXXCOMPANYXXX.Tariffs", pkgenv) - # locked = bindingIsLocked("XXXCOMPANYXXX.Tariffs", pkgenv) - # } - # nsenv = as.environment("namespace:LifeInsuranceContractsXXXCOMPANYXXX") - # locked = bindingIsLocked("XXXCOMPANYXXX.Tariffs", pkgenv) - # if (locked) { - # unlockBinding("XXXCOMPANYXXX.Tariffs", pkgenv) - # locked = bindingIsLocked("XXXCOMPANYXXX.Tariffs", pkgenv) - # } - } - # assign("XXXCOMPANYXXX.Tariffs", 123, -1, as.environment("package:LifeInsuranceContractsXXXCOMPANYXXX")) - # if (locked) { - # warning("") - # } - # unlockBinding("XXXCOMPANYXXX.Tariffs", as.environment("package:LifeInsuranceContractsXXXCOMPANYXXX")) - # unlockBinding(XXXCOMPANYXXX.Tariffs, pryr::where("XXXCOMPANYXXX.Tariffs")) - if (!locked && !is.null(GV) && !is.null(AVB)) { - XXXCOMPANYXXX.Tariffs[[paste0(Produkt, "/GV", GV, "/AVB", AVB)]] <<- Tarif - } - if (!locked && !is.null(GV)) { - XXXCOMPANYXXX.Tariffs[[paste0(Produkt, "/GV", GV)]] <<- Tarif - } - if (!locked && !is.null(AVB)) { - XXXCOMPANYXXX.Tariffs[[paste0(Produkt, "/AVB", AVB)]] <<- Tarif - } - Tarif -} -#' @export -XXXCOMPANYXXX.Tariff = function(Produkt, GV = NULL, AVB = NULL) { - if (is.null(Produkt)) { - warning("Tariff name missing in call to XXXCOMPANYXXX.Tariff!"); - return(NULL); - } - if (is.null(GV) && is.null(AVG)) { - warning("Both profit class and terms indicator missing in call to XXXCOMPANYXXX.Tariff!"); - return(NULL); - } - id = Produkt; - if (!is.null(GV)) { - id = paste0(id, "/GV", GV); - } - if (!is.null(AVB)) { - id = paste0(id, "/AVB", AVB); - } - XXXCOMPANYXXX.Tariffs[[id]] -} - - -##########################################################################m# -# GEWINNBETEILIGUNGSSÄTZE #### -##########################################################################m# - - -XXXCOMPANYXXX.Gesamtverzinsung = c( - `2000` = 0.07, - `2005` = 0.05, - `2006` = 0.045, - `2005` = 0.04, - `2006` = 0.035, - `2007` = 0.03, - `2012` = 0.025, - `2015` = 0.02, - `2020` = 0.0175, - `2023` = 0.015 -) - - -##########################################################################m# -# STERBETAFELN #### -##########################################################################m# - - -mortalityTables.load("Austria_Census") -mortalityTables.load("Austria_Annuities_EROMF") -mortalityTables.load("Austria_Annuities_AVOe2005R") -mortalityTables.load("Austria_Annuities_AVOe1996R") - - -##########################################################################m# -# Österr. Volkssterbetafel 2000/02 #### - -#' @export -XXXCOMPANYXXX.Sterbetafel2001 = function(params, ...) { - if (params$ContractData$sex == "female") { - mort.AT.census.2001.female - } else { - mort.AT.census.2001.male - } -} - -#' @export -XXXCOMPANYXXX.Sterbetafel2001.unisex = mortalityTable.mixed( - name = "ÖVSt 2000/02 unisex 70:30", - table1 = mort.AT.census.2001.male, weight1 = 70, - table2 = mort.AT.census.2001.female, weight2 = 30 -) - - - - - -##########################################################################m# -# Rententafel AVÖ 1996-R #### - -#' @export -XXXCOMPANYXXX.AVOe1996R.AV = function(params, ...) { - if (params$ContractData$sex == "female") { - AVOe1996R.male.av325 - } else { - AVOe1996R.female.av325 - } -} - - - - - - -########################################################################## -# RÜCKKAUFSFORMELN #### -##########################################################################m# - -#' @export -XXXCOMPANYXXX.surrender.increasing90 = function(surrenderReserve, params, values) { - n = params$ContractData$policyPeriod; - surrenderReserve * (0.9 + 0.08*pmax(((0:n) - 3) / (n - 3), 0)) -} - - -##########################################################################m# -# KOSTENFORMELN #### -##########################################################################m# - - - -##########################################################################m# -# RABATTFORMELN #### -##########################################################################m# - - - -##########################################################################m# -# TECHNISCHES ALTER #### -##########################################################################m# - -#' z.B. Frauen werden um 5 Jahre verjüngt, Mindestalter 20 -#' etc. - - - - -##########################################################################m# -# TARIFSPEZIFIKA (HOOKS) der XXXCOMPANYXXX #### -##########################################################################m# - diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Gewinnplan1.R b/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Gewinnplan1.R deleted file mode 100644 index c583001..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Gewinnplan1.R +++ /dev/null @@ -1,42 +0,0 @@ -#' @include XXXCOMPANYXXX_General.R - -############################################################################~# -# XXXCOMPANYXXX Gewinnplan 1 #### -# Profits: #### -# * Interest profit: (profit rate - guaranteed interest)*reserve #### -# * Terminal profit: once/twice the last interest profit assignment #### -############################################################################~# - - -#' @export -XXXCOMPANYXXX.Gewinnplan1 = ProfitParticipation$new( - name = "XXXCOMPANYXXX Gewinnplan 1, Version 1", - profitComponents = c("interest", "terminal"), - profitClass = "1", - - waitingPeriod = 3, - - guaranteedInterest = 0.03, - interestProfitRate = pmax(XXXCOMPANYXXX.Gesamtverzinsung - 0.03, 0), - totalInterest = XXXCOMPANYXXX.Gesamtverzinsung, - getTerminalBonusRate = function(res, rates, params, values) { - # Schlussgewinn (Vielfaches des letzten Zinsgewinns) - # lfd. Prämie: LZ<20: 1x, LZ>=20: 2x - if (params$ContractData$policyPeriod < 20) { - 1 - } else { - 2 - } - }, - - getInterestOnProfits = PP.rate.interestProfitPlusGuarantee, - - getInterestProfitBase = PP.base.contractualReserve, - getTerminalBonusBase = PP.base.totalProfitAssignment, - - calculateSurvivalBenefit = function(profits, rates, ...) { profits[,"regularBonus"] * (1 + rates$guaranteedInterest + rates$interestProfitRate) + profits[,"terminalBonus"]}, - calculateDeathBenefitAccrued = PP.benefit.Profit, - calculateSurrenderBenefitAccrued = PP.benefit.Profit, - calculatePremiumWaiverBenefitAccrued = PP.benefit.Profit, - calculatePremiumWaiverBenefitTerminal = PP.benefit.None -); diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif1.R b/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif1.R deleted file mode 100644 index 22311d8..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif1.R +++ /dev/null @@ -1,37 +0,0 @@ -#' @include XXXCOMPANYXXX_General.R - - -##############################################################################m## -# Tarif1 -##############################################################################m## - -# XXXCOMPANYXXX Versicherung, Tarif 1 -# Typ: Endowment with level death and survival benefits, level premiums -# Guaranteed interest: i=3%, Mortality rates: XXXCOMPANYXXX.Sterbetafel2001.unisex - -XXXCOMPANYXXX.costs = initializeCosts( - alpha = 0.04, Zillmer = 0.025, - beta = 0.02, - gamma = 0.002, - gamma.paidUp = 0.005 -) - -#' @export -XXXCOMPANYXXX.Tarif1 = InsuranceTarif$new( - name = "Tarif1", - type = "endowment", - tarif = "Endowment Comfort", - desc = "Endowment with level death and survival benefits, level premiums, guaranteed interest 3%", - - mortalityTable = XXXCOMPANYXXX.Sterbetafel2001.unisex, - i = 0.03, - tax = 0.04, - costs = XXXCOMPANYXXX.costs, - premiumFrequencyLoading = freqCharge(3, 2, 1, 0), - - surrenderValueCalculation = XXXCOMPANYXXX.surrender.increasing90, - profitParticipationScheme = XXXCOMPANYXXX.Gewinnplan1 -) %>% - XXXCOMPANYXXX.register("Tarif1", GV = "1"); - - diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif2.R b/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif2.R deleted file mode 100644 index 18ae9aa..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/R/XXXCOMPANYXXX_Tarif2.R +++ /dev/null @@ -1,46 +0,0 @@ -#' @include XXXCOMPANYXXX_General.R - - -##############################################################################m## -# Tarif2 -##############################################################################m## - -# XXXCOMPANYXXX Versicherung, Tarif2 -# Whole life insurance - -XXXCOMPANYXXX.costs2 = initializeCosts( - alpha = 0.035, - gamma = 0.005, - gamma.paidUp = 0.005 -) - -#' @export -XXXCOMPANYXXX.Tarif2 = InsuranceTarif$new( - name = "Tarif2", - type = "wholelife", - tarif = "Death Comfort", - desc = "Whole life insurance with single premium, guaranteed interest 3%", - - mortalityTable = XXXCOMPANYXXX.Sterbetafel2001.unisex, - i = 0.03, - tax = 0.04, - costs = XXXCOMPANYXXX.costs2, - premiumFrequencyLoading = freqCharge(3, 2, 1, 0), - - sumRebate = function(params, values) { - SI = params$ContractData$sumInsured - if(SI >= 1000000) { - 0.002 - } else if (500000 <= SI) { - 0.001 - } else if (200000 <= SI) { - 0.0005 - } else { - 0 - } - }, - surrenderValueCalculation = XXXCOMPANYXXX.surrender.increasing90 -) %>% - XXXCOMPANYXXX.register("Tarif2", GV = "2"); - - diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/XXXCOMPANYXXXRechnungGesamtbestand.R b/inst/rstudio/templates/project/LifeInsuranceContracts/XXXCOMPANYXXXRechnungGesamtbestand.R deleted file mode 100644 index 25b7095..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/XXXCOMPANYXXXRechnungGesamtbestand.R +++ /dev/null @@ -1,561 +0,0 @@ -# This file was created from a template provided by the LifeInsuranceContracts -# package. It's purpose is to read in a set of contract data and calculate the -# corresponding reserves (e.g. to validate the official numbers in the financial -# statements). -# -# Steps: -# 1. Implement the corresponding products in the files in the R/ subdirectory. -# Use the LifeInsuranceContracts documentation available at -# https://cran.r-project.org/web/packages/LifeInsuranceContracts/vignettes/using-the-lifeinsurancecontracts-package.html -# 2. Install the package (using the "Install" button in RStudio's "Build" pane) -# 3. Set up the mapping of the columns of the contract data source to the package's arguments. -# The columns of the input data can be directly mapped to named arguments in LifeInsuranceContract$new(..) calls. -# 4. If some columns need manual modifications (e.g. sex or frequencies -# expressed with other values than the package expects), update the -# VTmodify.* functions below correspondingly. -# 5. Update the column types in the readXXXCOMPANYXXXBestand(..) function. This helps -# preventing errors, as these columns are always cast to the required type. -# 6. The calculate_contract(..) function might need to some adjustments / -# modifications, in particular when modified contracts, premiums waivers, -# additional tariffs / single-payment add-ons etc. are present. -# 7. Depending on which columns / data are available in the company-provided -# contract data, the column modifications / calculations of other reserves, -# etc. at the end of the calculate_portfolio(...) function might need to -# be adjusted. -# 8. Update the `files` and `outfile` variables to point to the input files -# ("Bestandsdaten") and the output file name -# 9. Call the calculate_portfolio function on the contract data set (potentially -# filtered to some subsets to prevent performance issues) -# -# Typically, a call to calculate a portfolio and store the results in a dedicated -# (Excel) output file is: -# results = NULL; results = calculate_portfolio(bestandinfos.all, -# tarif = c("ProdName1", "ProdName2"), GV = c("123"), debug =TRUE) -# results %>% -# openxlsx::write.xlsx(outfile("Prods-1-2"), asTable = TRUE, -# overwrite = TRUE, creator = "Your Name", -# sheetName = "Vergleichsrechnung", tabColour = "#FFE600") -# openXL(outfile("Prods-1-2")) -# -# -# -# General Overview of the calculation procedure -# 1. The contract data are read in from the file names provided in the `files` -# list and stored in the data.frame called `bestandinfos.all`. -# a. Each file is read using the function `readXXXCOMPANYXXXBestand`. -# b. The `readXXXCOMPANYXXXBestand` function uses read_excel to read in the raw data, -# then ensures the defined columns have the proper data type. -# c. The columns are renamed according to the mapping in `colMapping` -# d. All contracts are sorted by `Polizzennummer` -# e. Additional modifications are done by the function `VTmodify.general`. -# f. Further custom modifications can be manually added either in readXXXCOMPANYXXXBestand or in VTmodify.general -# 2. All contracts are calculated by a call to `calculate_portfolio`. The arguments -# tarif and GV can be used to restrict the calculation only to certain -# products and/or profit classes. Additionally, n_max can be used to -# calculate only the first n_max contracts. -# The `calculate_portfolio` function does its work with the following steps: -# a. The portfolio data is filtered with the given tariff, GV, skip, n_max arguments -# b. Only the relevant columns of the portfolio data are taken, some -# sanity checks (sumInsured > 0, premiumFrequency >= 0) are applied. -# c. Grouping happens by column SliceID. This allows multiple portfolio -# data rows to be combined to one contract with several slices / sum -# increases, which are calculated as one contract (see section "10.3 -# Dynamic Increases" of the LifeInsuranceContracts vignette). If each -# slice / dynamic increase is supposed to be calculated individually -# and independent from the main contract / other increases, then the -# column mapped to the SliceID column needs to have a different value -# for each portfolio data row. If SliceID uses contract numbers, all -# dynamics, etc. belonging to the same contract number will be combined -# and calculated using $addDynamics -# d. Each contract (entries with distinct SliceID value) is calculated in -# a loop using the by_slice function, which calls the calculate_contract -# function for each contract. -# 3. The `calculate_contract` function calculates one individual contract, with -# the individual columns of the portfolio data passed as named parameters -# to the function. -# a. A progress message is printed (if applicable) -# b. All slices are arranged by date, with the slice starting first -# assumed to be the main contract part. -# c. For the main contract, an instance of the LifeInsuranceContract -# (with the given tariff / product) is created and all values of the -# contract are automatically calculated by the package by default. -# d. All additional slices (e.g. dynamic increases) with the same SliceID -# are added using the $addDynamics method of the LifeInsuranceContract -# class. The slice start date and duration are adjusted correspondingly. -# e. The reserves are extracted from the contract and stored in the final -# data.frame -# z. If debug=TRUE, a column is added to the resulting data.frame containing the R code to reproduce with full contract. -# 4. The calculate_portfolio combines the data.frames returned for each -# contract's calculate_contract call into one large data frame, adds some -# derived columns and returns the data frame as result of the calculations. -# -# -# -# COLUMN MAPPING -# -------------- -# The following columns / named parameters are typically used by a LifeInsuranceTariff -# implementation or the concrete contract as a LifeInsuranceContract object. Most -# parameters are not mandatory. -# Additional arguments / columns are possible and will be preserved, even if -# they are not used by the contract. -# * `Polizzennummer` -# * `SliceID` -# * `balanceSheetDate` -# * `tarif` -# * `GV` -# * `i` -# * `sex` -# * `age` -# * `contractClosing` -# * `sliceDate` -# * `policyPeriod` -# * `premiumPeriod` - -# * `premiumFrequency` -# * `annuityFrequency` -# * `sumInsured` - -# Columns used for comparison with the calculated values: -# * `Bruttoprämie` -# * `Sparprämie` -# * `Risikoprämie` -# * `Kostenprämie` -# * `Bilanzreserve` -# * `Gewinnreserve` -# * `Prämienübertrag` - -################################################################################ - - -library(here) -library(lubridate) -library(readxl) -library(magrittr) -library(purrr) -library(purrrlyr) -library(openxlsx) -library(tictoc) -library(tidyverse) -library(LifeInsuranceContractsXXXCOMPANYXXX) -mortalityTables.load("Austria_*") - - - -########################################################################m# -# Database structure definitions / mapping #### -########################################################################m# - -colMapping = c( - # Polizzen- und Tarifdefinition - `Polizzennummer` = "PolNr", - `SliceID` = "PolNr", # Grouping will happen by SliceID - `balanceSheetDate` = "Datum", - `tarif` = "Produkt", # Used to search for the LifeInsuranctTarif object - `GV` = "Gewinnverband", - - # Parameter des Vertrags - `i` = "Garantiezins", - `sex` = "Geschlecht", - `age` = "Eintrittsalter", # Alternatively, birth can be given - # `birthDate` = "GebDat", - `contractClosing` = "Abschluss", - `sliceDate` = "Abschluss", - `policyPeriod` = "LZ", - - `premiumFrequency` = "ZW", - `sumInsured` = "vs", - `initialCapital` = "Anfangskapital", - `costWaiver` = "Kostenverzicht", - - # Kontrollgrößen (lt. Geschäftsplan abgeleitet) - - `Bruttoprämie` = "BPr", - `Sparprämie` = "SparPr", - `Risikoprämie` = "RisikoPr", - `Kostenprämie` = "KostenPr", - - # Deckungskapital am jeweiligen Jahrestag der Versicherung - `DKt` = "VK", - `DKt+1` = "VK1", - `DKt+2` = "VK2", - - # Bilanzwerte - `Bilanzreserve` = "BilRes", - `Gewinnreserve` = "GewRes", - `Bilanz-Verwaltungskostenreserve` = "VerwKostRes", - `Netto-Bilanzreserve` = "NettoBilRes"#, - # `Prämienübertrag` = "???" -) -colNamesRelevant = names(colMapping) %>% `[<-`(., . == "", NA_character_) %>% coalesce(colMapping) - -Problempolizzen = c() - - - -########################################################################m# -# Helper functions #### -########################################################################m# - -cleanDate = function(dt) { - if (is.POSIXct(dt) || is.POSIXlt(dt) || is.Date(dt) || is.logical(dt)) - as.Date(dt) - else if (is.numeric(dt)) - as.Date(dt, origin = "1899-12-30") - else if (is.character(dt)) { - warning("date column was read in as string: ", dt) - Reduce(c, map(dt, function(d) { - # browser() - if (is.character(d) && !is.na(d) && str_detect(d, "^[0-9]+$")) - d = as.numeric(d) - if (is.numeric(d)) - return(as.Date(d, origin = "1899-12-30")) - as.Date(d) - })) - } -} - - - -VTmodify.general = function(data) { - #browser() - - data %>% - separate(tarif, into = c("tarif", "Produkt"), sep = "[ ]+", extra = "merge", fill = "left") %>% - mutate( - sex = recode( - as.character(sex), - "M" = "male", "W" = "female", "F" = "female", "U" = "unisex", - "m" = "male", "w" = "female", "f" = "female", "u" = "unisex", - `0` = "male", `1` = "female", .default = "unisex"), - premiumFrequency = recode( - as.character(premiumFrequency), - "J" = 1, "H" = 2, "V" = 4, "M" = 12, "E" = 0, .default = 1), - policyPeriod = round(time_length(difftime(policyPeriod, contractClosing), "years")), - - # TODO: Apply further adjustments to the input data, e.g. - # costWaiver = ifelse(costWaiver == "N", 0, 1), - # sumRebate = -sumRebate, - # sumInsured = if_else(VS == 0, Rentenhoehe, VS), - - # TODO: Rabatte, etc. - - id = paste0(tarif, "/GV", GV) - ) -} - - -######################################## -readXXXCOMPANYXXXBestand = function(file, sheet = 1, ...) { - charColumns = c( - "tarif", "GV" - ) - dateColumns = c( - "balanceSheetDate", - "contractClosing", - "sliceDate", - "birthData" - ); - percentColumns = c( - "i" - ) - permilleColumns = c( - - ) - numericColumns = c( - "policyPeriod", "age", - "sumInsured", "initialCapital" - ); - mapping = colMapping[names(colMapping) != ""] - - # browser() - data = read_excel(file, sheet = sheet, ..., na = c("", "01.01.0100", "01.01.1000", "-328716", -328716)) %>% - # Apply all renamings from colMapping: - select(all_of(mapping), !all_of(mapping)) %>% - mutate( - across(any_of(dateColumns), cleanDate), - across(any_of(numericColumns), as.numeric), - across(any_of(charColumns), as.character), - across(any_of(percentColumns), function(x) { as.numeric(x)/100 }), - across(any_of(permilleColumns), function(x) { as.numeric(x)/1000 }) - ) %>% - arrange(Polizzennummer) %>% # Sortiere Verträge nach Polizzennummer - VTmodify.general() - data - -} - - -###############################################################m# -## Definitionen: Kontrollrechnung der Deckungsrückstellung #### -###############################################################m# - -CountPol = 0 -CountSlice = 0 - -calculate_contract = function(ctr.data, balanceSheetDate = as.Date("2023-12-31"), progress = 100, tariffs = XXXCOMPANYXXX.Tariffs, debug = FALSE, ...) { - # browser() - CountPol <<- CountPol + 1 - CountSlice <<- CountSlice + NROW(ctr.data) - # browser() - if (CountPol %% progress == 0) { - print(paste0(CountPol, "/", CountSlice, ": Vertrag Nr. ", ctr.data[[1, "Polizzennummer"]], ", Tarif:", ctr.data[[1, "tarif"]], " GV", ctr.data[[1, "GV"]], ", ", NROW(ctr.data), " Scheiben")) - } - - # Main part is the slice that - # a) starts first. - # If two slices start at the same time, main part is - # b) the one with an initialCapital, or - # c) the one with the longest premium period (to exclude single payments from being the main part) or - # d) the highest sum insured - ctr.data = ctr.data %>% arrange(sliceDate, desc(initialCapital), desc(premiumPeriod), desc(sumInsured)) - mainPart.orig = head(ctr.data, 1) - mainPart.begin = mainPart.orig$sliceDate - - # Simplification: Adjust main part so the contract end is always a full number of - # years away (otherwise the reserves towards the end will be off considerably) - # if (!is.na(mainPart.orig$Vertragsende)) { - # mainPart.begin = mainPart.orig$sliceDate %>% - # `month<-`(month(mainPart.orig$Vertragsende)) - # } - # Changes in the current year might move the date after the balance sheet - # date => as a workaround let the contract begin last year! - while (mainPart.begin > balanceSheetDate) { - year(mainPart.begin) = year(mainPart.begin) - 1 - } - - # If main part begins after contract, adjust the contract date to the main part's begin - # Also recalculate the policy period from the (potentially changed) start and end dates of the main slice - ctr.data = ctr.data %>% - mutate(contractClosing = mainPart.begin) - - mainPart = head(ctr.data, 1) #%>% - # mutate(policyPeriod = year(Vertragsende) - year(contractClosing)) - dynamics = tail(ctr.data, -1) - # browser() - - # Calculate main part - args = as.list(mainPart) - tarifName = args$tarif; - tarifID = paste0(tarifName, "/", args$GV); - args$tarif = XXXCOMPANYXXX.Tariff(tarifName, args$GV) - - if (is.null(args$tarif)) { - warning("Unable to find Tarif for Product/GV", tarifID) - return( - data.frame(tarif = "?", mainPart.orig, Scheiben = NROW(ctr.data), date = balanceSheetDate, time = 0, Zillmer = 0, gamma = 0, `Balance Sheet Reserve` = 0, `unearned Premiums` = 0) - ) - } - - ################### - # Tariff-specific adjustments to the input data: - #------------------ - # TODO: Implement all required tariff-specific adjustments here - - if (debug) { - dbg.args = args; - dbg.args$tarif = NULL; - - arguments = sapply(substitute(list(...))[-1], deparse); - prepare.dbg.args = function(x) { - if (is.function(x)) {paste(deparse(x), collapse = "\n\t\t")} - else if (is.expression(x)) {as.character(x)} - else if (is.na(x)) {x} - else if (is.numeric(x)) {x} - else if (is.character(x)) {deparse(as.character(x))} - else if (is.Date(x)) {paste0("as.Date(\"", x, "\")")} - else if (is.list(x)) {deparse(x)} - else x - } - - code = paste0( - "InsuranceContract$new(\n\t", - paste( - c( - paste0("XXXCOMPANYXXX.Tariff(\"", tarifName, "\", ", dbg.args$GV, ")"), # ? und 117 - paste(paste0("`", names(dbg.args), "`"), map(dbg.args, prepare.dbg.args), sep = " = ", collapse = ",\n\t"), - paste0("balanceSheetDate = as.Date(\"", balanceSheetDate, "\")"), - paste(names(arguments), arguments, sep = " = ", collapse = ",\n\t") - ), - collapse = ", \n\t" - ), - ")"); - } - contract = do.call( - InsuranceContract$new, - c(args, list(balanceSheetDate = balanceSheetDate, ...)) - ) - - # Loop through all dynamics and call contract$addDynamics - by_row(dynamics, function(dyn, ...) { - # Vereinfachte Annahme: Dynamik ist immer am Jahrestag der Versicherung => Vergleiche nur Vertrags- mit Scheibenbeginnjahr - # TODO: Einmal-Zuzahlungen müssen erkannt und anders gehandhabt werden! - t = year(dyn$sliceDate) - year(dyn$contractClosing) - contract$addDynamics(t = t, SumInsuredDelta = dyn$sumInsured) - if (debug) { - code <<- paste0(code, "$\naddDynamics(t = ", t, ", SumInsuredDelta = ", dyn$sumInsured, ")") - } - }, ...) - - - Bilanzreserve = contract$Values$reservesBalanceSheet %>% `colnames<-`(c("Datum", "t", "Res.Netto.EY", "Res.Zillmer.EY", "Res.VwK.EY", "BilRes.EY", "PÜ.EY")) - BilDRSt = Bilanzreserve %>% filter(Datum == balanceSheetDate) - if (debug) { - BilDRSt$code = code - } - t = which(Bilanzreserve$Datum == balanceSheetDate) - - data.frame( - tarif = contract$tarif$name, - mainPart.orig, - Scheiben = NROW(ctr.data), - - # TODO: Weitere Vergleichswerte zurückliefern - Premium.net.Cmp = contract$Values$premiumComposition[[t, "net"]], - Premium.Zillmer.Cmp = contract$Values$premiumComposition[[t, "Zillmer"]], - Premium.gross.Cmp = contract$Values$premiumComposition[[t, "gross"]], - Premium.written.Cmp = contract$Values$premiumComposition[[t, "charged"]] - contract$Values$premiumComposition[[1, "tax"]], - Premium.savings.Cmp = contract$Values$premiumComposition[[t, "savings"]], - Premium.risk.Cmp = contract$Values$premiumComposition[[t, "risk"]], - Premium.alphaZ.Cmp = contract$Values$premiumComposition[[t, "alpha.Zillmer"]], - Premium.costs.Cmp = "TODO", - Premium.gamma.Cmp = contract$Values$premiumComposition[[t, "gamma"]], - Premium.sumRebate.Cmp = -contract$Values$premiumComposition[[t, "rebate.sum"]], - - DKt.Cmp = contract$Values$reserves[[t, "contractual"]], - `DKt+1.Cmp` = if (t+1 > NROW(contract$Values$reserves)) 0 else contract$Values$reserves[[t+1, "contractual"]], - `DKt+2.Cmp` = if (t+2 > NROW(contract$Values$reserves)) 0 else contract$Values$reserves[[t+2, "contractual"]], - - BilDRSt) -} - - -calculate_portfolio = function(bestand, tarif = NULL, GV = NULL, n_max = Inf, skip = 0, progress = 25, debug = FALSE, ...) { - # browser() - if (!missing(tarif) && !is.null(tarif)) { - bestand = filter(bestand, tarif %in% !!tarif) - } - if (!missing(GV) && !is.null(GV)) { - bestand = filter(bestand, GV %in% !!GV) - } - if (!missing(skip) && !is.null(skip) && skip > 0) { - bestand = tail(bestand, -skip) - } - if (!missing(n_max) && !is.null(n_max) && n_max < Inf && n_max>0) { - bestand = head(bestand, n_max) - } - - input = bestand %>% - select(all_of(colNamesRelevant)) %>% - filter(sumInsured > 0, premiumFrequency >= 0) %>% # <- Sanity Checks! - # group_by(Polizzennummer) - group_by(SliceID) - - CountPol <<- 0 - CountSlice <<- 0 - tic() - # browser() - Werte.berechnet = input %>% - by_slice(calculate_contract, balanceSheetDate = ymd("2021-12-31"), .collate = "rows", progress = progress, debug = debug, ...) - toc() - - Werte.berechnet %>% - mutate( - across(any_of( - c("contractClosing", "sliceDate", "premiumWaiverDate", "date", "birthDate") - ), as.Date, origin = "1970-01-01")) %>% - mutate( - # TODO: Implement comparisons to all values given in the XXXCOMPANYXXX portfolio file! - #date = as.Date(date, origin = "1970-01-01"), - BilRes.VU = bestand$Bilanzreserve, #`Bilanzreserve`, #+ `Bilanz.Verwaltungskostenreserve` ,#+ `Reserve.prämienfrei`, - Fehlbetrag = BilRes.Cmp - BilRes.VU, - `abs.FB` = abs(Fehlbetrag), - `rel.FB` = Fehlbetrag / BilRes.Cmp, - # `abs.FB NP` = abs(`Premium.net` - `Nettoprämie`), - `abs.FB BP` = abs(`Premium.gross.Cmp` - `Bruttoprämie`), - # `Monate verschoben` = (month(Vertragsende) != month(sliceDate)), - exclude = c(""), - Grund = c(""), - Bilanzdaten = NULL - ) -} - - - - - -###############################################################m# -## Bestände einlesen #### -###############################################################m# - -files = c( - # here("Polizzeninfos", "2021-YE", "Einzelposten_2112.xlsx") - here("Polizzeninfos", "2022-YE", "Einzelposten_2212.xlsx") -) -outfile = function(tarif) { here(paste0("XXXCOMPANYXXX_2022-YE_Vergleichsrechnung", paste(tarif, collapse = "_", sep= "_"), ".xlsx"))} - -bestandinfos.all = bind_rows(map(unique(unname(unlist(files))), readXXXCOMPANYXXXBestand, skip = 0, guess_max = 99999, n_max = 99999)) -bestandinfos.all %<>% - filter(SATZTYP != "3A") - -# Filter out all problematic contracts -bestandinfos = bestandinfos.all %>% - filter(!Polizzennummer %in% Problempolizzen) - - - -## PLAUSICHECKS auf Bestandsinfo: #### - -# Gesamtzahl verschiedene Polizzen -bestandinfos.all$Polizzennummer %>% unique %>% length -bestandinfos$Polizzennummer %>% unique %>% length - -# 1) Schnelle übersicht über Anzahl Scheiben pro Vertrag -bestandinfos %>% - group_by(Polizzennummer) %>% - summarize(n = n()) %>% - group_by(n) %>% summarize(Anzahl = n()) -bestandinfos %>% - group_by(Polizzennummer) %>% - summarize(n = n()) %>% - ggplot(aes(x = n)) + geom_histogram(binwidth = 1) + - stat_bin(aes(y=..count.., label=..count..), geom= "text", vjust=-.5) - -# 2) Überblick über Verträge, deren Scheiben alle nach Vertragsbeginn beginnen (Vertragsänderungen) - - -# 3) Prämienfreigestellte Verträge: -# -) Scheiben, die ab Abschluss prämienfrei sind -# -) Haben HV und alle Scheiben denselben Prf-Zeitpunkt? - -# 4) Basic sanity checks: VS<0, keine Prämienzahlung -bestandinfos %>% filter(premiumFrequency < 1) -bestandinfos %>% filter(sumInsured <= 0) -bestandinfos %>% filter(sliceDate < contractClosing) - - -bestandinfos %>% - group_by(Polizzennummer, GV) %>% - summarize(Anzahl = n()) %>% - filter(Anzahl>1) - - -##############################################################################m# -## -## CALCULATION #### -## -##############################################################################m# - - -# Calculate Tarif1 and Tarif2 => Copy and adjust for each run / company-specific implementation - -results = NULL; -results = calculate_portfolio(bestandinfos.all, - tarif = c("Tarif1", "Tarif2"), - #GV = c("108", "109", "111", "113", "115", "117"), - progress = 1, n_max = 9999, debug =TRUE) -results %>% - openxlsx::write.xlsx(outfile("Tarif-1-2"), asTable = TRUE, overwrite = TRUE, sheetName = "Vergleichsrechnung", tabColour = "#80FF8F") -openXL(outfile("Tarif-1-2")) - - - diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat.R b/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat.R deleted file mode 100644 index e0b550c..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat.R +++ /dev/null @@ -1,4 +0,0 @@ -library(testthat) -library(LifeInsuranceContractsXXXCOMPANYXXX) - -test_check("LifeInsuranceContractsXXXCOMPANYXXX") diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/.gitignore b/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/.gitignore deleted file mode 100644 index 66e54ae..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/.gitignore +++ /dev/null @@ -1 +0,0 @@ -testthat-problems.rds diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif1.R b/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif1.R deleted file mode 100644 index dc411b5..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif1.R +++ /dev/null @@ -1,41 +0,0 @@ -# LifeInsuranceContracts::vmGlgExample.generateTest( -# XXXCOMPANYXXX.Tarif1, -# age=35, policyPeriod=30, sumInsured=100000, -# contractClosing = as.Date("2000-07-01")) - - -test_that("Tarif1", { - contract = InsuranceContract$new( - XXXCOMPANYXXX.Tarif1, - age = 35, - policyPeriod = 30, - sumInsured = 100000, - contractClosing = as.Date("2000-07-01") - ); - exportInsuranceContract.xlsx(contract, here("test-Tarif1.xlsx")) - openxlsx::openXL(here("test-Tarif1.xlsx")) - # showVmGlgExamples(contract, t = 10, prf = 10, t_prf = 12); - - testVmGlgExample( - contract, - t = 10, prf = 10, t_prf = 12, - net = 2208.00, - Zillmer = 2308.67, - gross = 2621.51, - written = 2726.37, - savings = 2126.58, - risk = 182.10, - ZillmerRes = 23118.57, - ZillmerRes.prf = 19931.70, - VwKostenRes = -0.00, - VwKostenRes.prf = 2245.90, - Bilanzreserve = 24560.53, - Praemienuebertrag = 1310.76, - Rueckkaufsreserve = 23118.57, - Rueckkaufswert = 21286.21, - Abschlusskostenruecktrag = 0.00, - Rueckkaufswert.prf = 22177.59, - VS.prf = 33014.59, - absTolerance = 0.01 - ); -}) diff --git a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif2.R b/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif2.R deleted file mode 100644 index d3e6585..0000000 --- a/inst/rstudio/templates/project/LifeInsuranceContracts/tests/testthat/test-Tarif2.R +++ /dev/null @@ -1,40 +0,0 @@ -# LifeInsuranceContracts::vmGlgExample.generateTest( -# XXXCOMPANYXXX.Tarif2, -# age=35, policyPeriod = 85, sumInsured=100000, -# contractClosing = as.Date("2000-07-01"), -# t = 40) - - -test_that("Tarif2", { - contract = InsuranceContract$new( - XXXCOMPANYXXX.Tarif2, - age = 35, - policyPeriod = 85, - sumInsured = 1e+05, - contractClosing = as.Date("2000-07-01") - ); - # showVmGlgExamples(contract, t = 40, prf = 10, t_prf = 12); - - testVmGlgExample( - contract, - t = 40, prf = 10, t_prf = 12, - net = 1210.13, - Zillmer = 1210.13, - gross = 1930.16, - written = 2007.37, - savings = -137.47, - risk = 1347.60, - ZillmerRes = 63074.49, - ZillmerRes.prf = 10471.41, - VwKostenRes = -0.00, - VwKostenRes.prf = 2659.34, - Bilanzreserve = 63949.81, - Praemienuebertrag = 965.08, - Rueckkaufsreserve = 63074.49, - Rueckkaufswert = 63074.49, - Abschlusskostenruecktrag = 0.00, - Rueckkaufswert.prf = 13130.75, - VS.prf = 80461.07, - absTolerance = 0.01 - ); -}) diff --git a/man/CalculationSingleEnum-class.Rd b/man/CalculationSingleEnum-class.Rd deleted file mode 100644 index ed8e8db..0000000 --- a/man/CalculationSingleEnum-class.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\docType{class} -\name{CalculationSingleEnum-class} -\alias{CalculationSingleEnum-class} -\alias{CalculationEnum} -\title{Enum to define how much of a contract needs to be calculated automatically.} -\description{ -Enum to define how much of a contract needs to be calculated automatically. -} -\details{ -When an \link{InsuranceContract} object is created, all time series are immediately -calculated. However, sometimes, one only needs part of the values, so it -would be a waste of resources to calculate e.g. all future reserves and -profit participation, if only premiums are of interest. - -Possible values are: -\itemize{ -\item "all" -\item "probabilities" -\item "cashflows" -\item "presentvalues" -\item "premiums" -\item "absvalues" -\item "reserves" -\item "premiumcomposition" -\item "profitparticipation" -\item "history" -} -} diff --git a/man/InsuranceContract.ParameterDefaults.Rd b/man/InsuranceContract.ParameterDefaults.Rd deleted file mode 100644 index c8fe4b3..0000000 --- a/man/InsuranceContract.ParameterDefaults.Rd +++ /dev/null @@ -1,336 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\docType{data} -\name{InsuranceContract.ParameterDefaults} -\alias{InsuranceContract.ParameterDefaults} -\title{Default parameters for the InsuranceContract class.} -\format{ -The parameter list is a list of lists with the following structure: - -Sublists: -\itemize{ -\item \code{$ContractData} ... Contract-specific data (policy period, -closing, age, sum insured, premium payments, etc.) -\item \code{$ContractState} ... Current contract state (paid-up, surrender -penalty already applied, alpha costs already (partially) refunded) -\item \code{$ActuarialBases} ... Actuarial bases for the contract -calculation (mortality/invalidity table, guaranteed interest, -surrender penalty, etc.) -\item \code{$Costs}, \code{$minCosts} ... Expenses charged to the contract (see \code{\link[=initializeCosts]{initializeCosts()}}) -\item \code{$Loadings} ... Loadings, rebates and other charges of the -tariff / contract (tax, unit costs, surcharge for no medial exam, premium/benefit frequency loading) -\item \code{$Features} ... Peculiarities of the tariff (to enable -non-standard formulas for certain company-specific historical -"glitches" in the tariff definitions.) -\item \code{$ProfitParticipation} ... Profit scheme and profit participation -rates (default values, can be overwritten per profit scenario) -\item \code{$Hooks} ... Hook functions to allow modification of various -calculation aspects (e.g. modify the default cash flows after -their setup) -} -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$ContractData}}{ - -These values are typically set per contract and not by the tariff. Notable -exceptions are the contract duration in some instances and the premiumPeriod=1 -for single-premium contracts. - -\describe{ -\item{\code{$id}}{ID of the contract (to distinguish individual parts in -contracts with multiple parts, e.g. dynamic increases), -default = "Hauptvertrag"} -\item{\code{$sumInsured}}{Sum insured, default = 100,000} -\item{\code{$premium}}{Premium, given to determine the sumInsured (default: NULL)} -\item{\code{$initialCapital}}{Reserve/Capital that is already available -at contract inception, e.g. from a previous contract. No tax -or acquisition costs are applied to this capital.} -\item{\code{$YOB (deprecated)}}{Year of birth of the insured, used to determine the -age for the application of the mortality table} -\item{\code{$birthDate}}{Date of birth of the insured, used to determine the -age for the application of the mortality table. Alternatively, -the year alone can be passed as \code{YOB}.} -\item{\code{$age}}{Age of the insured} -\item{\code{$technicalAge}}{Technical age of the insured (when the age -for the application of the mortality table does not coincide -with the real age)} -\item{\code{$ageDifferences}}{Vector of age differences to the first -insured for contracts with multiple insured (i.e. joint-lives)} -\item{\code{$sex}}{Sex of the insured, to allow gender-specific prixing -(e.g. different mortalities or age modification), default="unisex", -Type is \link{SexEnum}} -\item{\code{$policyPeriod}}{Policy Duration (in years)} -\item{\code{$premiumPeriod}}{Premium payment period (in year), for -single-premium contracts, \code{premiumPeriod = 1}. Default is -\code{policyPeriod}, i.e. regular premiums during the whole -contract period} -\item{\code{$deferralPeriod}}{deferral period for annuities, i.e. the -period survival payments start only after this period, typically -the retirement age. This applies mostly to tariffs of type -annuity, although deferral periods are possible (but not common) -for all other types of insurance, too.} -\item{\code{$guaranteedPeriod}}{guaranteed annuity payment period. The -annuity pays out for this period, even if the insured dies. -This applies only to tariffs of type annuity.} -\item{\code{$contractClosing}}{The date (variable of type \link{Date}) when -the coverage of the contract starts (not neccessarily equal to -the date when the contract was signed). Typically generated by -a call to \code{\link[=as.Date]{as.Date()}}. The year is relevant to derive the age -of the insured, while month and day are relevant for the -interpolation of the balance sheet reserves} -\item{\code{$blockStart}}{For contracts with multiple blocks (e.g. -multiple dynamic increases, where each increase is modelled -like a separate contract), this variable holds the offset of -the current contract block relative to the main contract block. -The main block starts a 0, dynamic increases start later! This -value is only used by the parent block (i.e. $t=0$ of the child -is aligned with $t=blockStart$ of the parent block.} -\item{\code{$premiumPayments}}{Whether premiums are paid in advance -(default) or arrears. Value is of type \link{PaymentTimeEnum} -with possible values "in advance" and "in arrears"} -\item{\code{$benefitPayments}}{Whether recurring benefits (e.g. annuities) -are paid in advance (default) or arrears. Value is of type -\link{PaymentTimeEnum} with possible values "in advance" and -"in arrears"} -\item{\code{$premiumFrequency}}{Number of premium payments per year, default is 1.} -\item{\code{$benefitFrequency}}{Number of benefit payments per year, default is 1.} -\item{\code{$premiumRefund}}{Proportion of (gross) premiums refunded on -death (including additional risk, e.g. 1.10 = 110\% of paid premiums)} -\item{\code{$premiumRefundPeriod}}{The period, during which the premium -refund on death applies. By default, deferred contracts will -refund premiums only during the deferral period, all other -contracts during the whole contract. Default is -\code{premiumRefundPeriod.default}} -\item{\code{$premiumIncrease}}{The yearly growth factor of the premium, -i.e. 1.05 means +5\% increase each year; a vector describes the -premiums for all years} -\item{\code{$annuityIncrease}}{The yearly growth factor of the annuity -payments, i.e. 1.05 means +5\% increase each year; a vector -describes the annuity unit payments for all years} -\item{\code{$deathBenefit}}{The yearly relative death benefit (relative -to the initial sum insured); Can be set to a \code{function(len, - params, values)}, e.g. \code{deathBenefit = deathBenefit.linearDecreasing}} -\item{\code{$benefitParameter}}{(optional) Tariff-specific parameter to -indicate special benefit conditions (e.g. for non-constant benefits -the initial starting value, or a minimum benefit, etc.). This -parameter is not used automatically, but needs to be processed -by a custom \code{$deathBenefit} function.} - -\item{\code{$costWaiver}}{The fraction of the costs that are waived (only -those cost components that are defined to be waivable, i.e. by -defining a corresponding \code{$minCosts}). Linearly interpolates -between \code{$Costs} and \code{$minCosts}, if the latter is set. -Otherwise is has no effect.} -\item{\code{$attributes}}{Additional custom attributes (as a named list), -which can be used for particular behaviour of different contracts -or contract slices.} -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$ContractState}}{ - -Contract-specific status variables holding the status of the contract. - -\describe{ -\item{\code{$premiumWaiver}}{Whether the contract is paid-up.} -\item{\code{$surrenderPenalty}}{Whether a surrender penalty still applies -(e.g. because it has already been applied during a contract change, -or because due to legal reasons it can no longer be applied)} -\item{\code{$alphaRefunded}}{Whether alpha costs have (at least partially) -been refunded (e.g. when a contract is changed or paid-up). Default -is not yet refunded.} -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$ActuarialBases}}{ - -Tarif-specific actuarial calculation parameters of the contract. Typically, -these values are set by the tariff, but can be overridden by contract (e.g. -while prototyping a new product or a product change). - -\describe{ -\item{\code{$mortalityTable}}{The \link{mortalityTable} object describing the -mortality of the insured} -\item{\code{$invalidityTable}}{For contracts with invalidity benefits, -the \link{mortalityTable} object describing the probabilities of -invalidity} -\item{\code{$invalidityEndsContract}}{For contracts with invalidity -benefits, whether a payment of an invalidity benefit ends the -contract.} -\item{\code{$i}}{Guaranteed yearly interest rate, default is 0.00, i.e. 0\%} -\item{\code{$balanceSheetDate}}{The day/month when balance sheet reserves -are calculated. Value of type \link{Date}, typically generated with -\code{\link[=as.Date]{as.Date()}}. The year is actually irrelevant, only the day and -month are relevant.} -\item{\code{$balanceSheetMethod}}{How to interpolate the balance sheet -reserves (at the balandeSheetDate) from the yearly contractual -reserves. Either a string "30/360", "act/act", "act/360", "act/365" -or a function with signature \code{balanceSheetMethod(params, contractDates, balanceDates)} -that returns a vector of coefficients for each year to -interpolate the reserves available at the given \code{contractDates} -for the desired \code{balanceDates}} -\item{\code{$unearnedPremiumsMethod}}{How to calculate the unearned -premiums (considering the balance sheet date and the premium -frequency). A function with signature \code{unearnedPremiumsMethod(params, dates)}} -\item{\code{$surrenderValueCalculation}}{A function describing the surrender -value calculation. If NULL, the full reserve will be used as -surrender value. If given, it must be a function with signature -\code{function(SurrenderReserve, params, values)}.} -\item{\code{$premiumWaiverValueCalculation}}{A function describing the -reserve used to derive the premium-free sum insured. If NULL, -the surrender value will be used. If given, it must be a function -with signature \code{function(SurrenderReserve, params, values)}} -\item{\code{$premiumFrequencyOrder}}{Order of the approximation for -payments within the year (unless an extra frequency loading is -used => then leave this at 0)} -\item{\code{$benefitFrequencyOrder}}{Order of the approximation for -payments within the year (unless an extra frequency loading is -used => then leave this at 0)} -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$Costs}}{ - -Definition of contractual costs charged to the contract. See \code{\link[=initializeCosts]{initializeCosts()}}. - -\describe{ -\item{\code{$Costs}}{The full cost defined for the contract / tariff, -usually set with \code{\link[=initializeCosts]{initializeCosts()}} and \code{\link[=setCost]{setCost()}}} -\item{\code{$minCosts}}{The minimum costs defined for the contract / tariff -that cannot be waived. Either an explicit cost definition structure -generated by \code{\link[=initializeCosts]{initializeCosts()}} and \code{\link[=setCost]{setCost()}}, or a -\verb{function(params, values, costs)}, where the full costs are passed -as third parameter, so the function can modify only those cost parts -that can be waived at all. } -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$Loadings}}{ - -\describe{ -\item{\code{$ongoingAlphaGrossPremium}}{Acquisition cost that increase the gross premium} -\item{\code{$tax}}{insurance tax, factor on each premium paid, default is 4\%, i.e. \code{i=0.04}} -\item{\code{$unitcosts}}{Annual unit cost for each policy, absolute value (can be a function)} -\item{\code{$security}}{Additional security loading on all benefit payments, factor on all benefits} -\item{\code{$noMedicalExam}}{Loading when no medicial exam is done, \% of SumInsured} -\item{\code{$noMedicalExamRelative}}{Loading when no medicial exam is done, \% of gross premium} -\item{\code{$sumRebate}}{gross premium reduction for large premiums, \% of SumInsured} -\item{\code{$extraRebate}}{gross premium reduction for any reason, \% of SumInsured} -\item{\code{$premiumRebate}}{gross premium reduction for large premiums, \% of gross premium} -\item{\code{$partnerRebate}}{Rebate on premium with all surcharges and -rebates when more than one contract is written with identical -parameters. Sums with advanceBonusInclUnitCost and premiumRebate.} -\item{\code{$extraChargeGrossPremium}}{extra charges on gross premium -(smoker, leisure activities, BMI too high, etc.)} -\item{\code{$benefitFrequencyLoading}}{Loading on the benefit for premium -payment frequencies of more than once a year. Format is -\code{list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0)}} -\item{\code{$premiumFrequencyLoading}}{Loading on the premium for premium -payment frequencies of more than once a year. Format is -\code{list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0)}} -\item{\code{$alphaRefundPeriod}}{How long the acquisition costs should be -(partially) refunded in case of surrender or premium waiver.} -\item{\code{$commissionPeriod}}{Period, over which the acquisition costs -are charged to the contract (if not fully up-front or over the -whole contract period). This has only an effect for cost definitions -with duration "CommissionPeriod". Default is 5 years.} -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$Features}}{ - -\describe{ -\item{\code{$zillmering}}{Whether the contract uses Zillmering (and bases -reserves on the Zillmer reserve as opposed to the adequate -reserve) (default: TRUE)} -\item{\code{$betaGammaInZillmer}}{Whether beta and gamma-costs should be -included in the Zillmer premium calculation} -\item{\code{$alphaRefundLinear}}{Whether the refund of alpha-costs on -surrender is linear in t or follows the NPV of an annuity} -\item{\code{$useUnearnedPremiums}}{Whether unearned premiums should be -reported in the balance sheet reserves. Otherwise, a premium -paid at the beginning of the period is added to the reserve at -that time for balance-sheet purposes. -For regular premiums, the default is TRUE, i.e. the balance-sheet -reserve at time $t$ does not include the premium paid at time -$t$, but unearned premiums are included in the balance sheet -reserves. For single-premium contracts, there are no "unearned" -premiums, but the initial single premium is added to the reserve -immediately for balance-sheet purposes. In particular, the -balance sheet reserve at time $t=0$ is not 0, but the -premium paid. In turn, no unearned premiums are applied.} -\item{\code{$surrenderIncludesCostsReserves}}{Whether (administration) -cost reserves are paid out on surrender (i.e. included in the -surrender value before surrender penalties are applied)} -\item{\code{$unitcostsInGross}}{Whether unit costs are included in the -gross premium calculation or added after gross premiums. (default: FALSE)} -\item{\code{$absPremiumRefund}}{Constant death benefit (typically premium -refund of a previous contract), relative to the sum insured.} -\item{\code{$alphaCostsCommission}}{Whether alpha costs over the commision -period are given as their actual yearly value ("actual"), or -whether the given value is the sum ("sum") or the present value -("presentvalue") over the whole commission period.} -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$ProfitParticipation}}{ - -Parameters describing the profit participation (instance of \link{ProfitParticipation}) -Most element descrive some kind of profit rate (which can vary in time), -while the bases, on which they are applied is defined in the profit scheme. - -\describe{ -\item{\code{$advanceProfitParticipation}}{Advance profit participation -rate (percentage rebate of the gross premium)} -\item{\code{$advanceProfitParticipationInclUnitCost}}{Advance profit -participation rate (percentage rebate on the gross premium after all surcharges and unit costs.} -\item{\code{$waitingPeriod}}{Waiting period of the profit sharing (e.g. -no profit in the first two years of a contract, or similar)} -\item{\code{$guaranteedInterest}}{Individual contract-specific overrides -of the guaranteed interest rate (i.e. not keyed by year)} -\item{\code{$interestProfitRate}}{Interest profit rate (guaranteed interest -rate + interest profit rate = total credited rate)} -\item{\code{$totalInterest}}{Total credited rate (guarantee + interest profit)} -\item{\code{$mortalityProfitRate}}{Mortality Profit rate} -\item{\code{$expenseProfitRate}}{Expense profit rate} -\item{\code{$sumProfitRate}}{Sum profit rate (for high sumInsured)} -\item{\code{$terminalBonusRate}}{Terminal bonus rate (non-terminal-bonus -fund, but "old" Austrian terminal bonus)} -\item{\code{$terminalBonusFundRate}}{Terminal bonus fund rate} -\item{\code{$profitParticipationScheme}}{Profit participation scheme (object of class \link{ProfitParticipation})} -\item{\code{$profitComponents}}{Profit components of the profit scheme. List containing one or more of \code{c("interest", "risk", "expense", "sum", "terminal")}} -\item{\code{$profitClass}}{String describing the profit class the tariff -is assigned to. Profit classes are used to bundle similar -contracts (e.g. following similar risks) together. Profit -participation rates are defined at the level of profit classes.} -\item{\code{$profitRates}}{General, company-wide profit rates, key columns are year and profitClass} -\item{\code{$scenarios}}{profit participation scenarios (list of overridden parameters for each scenario)} -} -} - -\subsection{Elements of sublist \code{InsuranceContract.ParameterDefault$Hooks}}{ - -\describe{ -\item{\code{$adjustCashFlows}}{Function with signature \code{function(x, params, values, ...)} to adjust the benefit/premium cash flows after their setup.} -\item{\code{$adjustCashFlowsCosts}}{Function with signature \code{function(x, params, values, ...)} to adjust the costs cash flows after their setup.} -\item{\code{$adjustCosts}}{Function with signature \code{function(costs, params, values, ...)} to adjust the tariff costs after their setup (e.g. contract-specific conditions/waivers, etc.).} -\item{\code{$adjustMinCosts}}{Function with signature \code{function(minCosts, costs, params, values, ...)} to adjust the tariff minimum (unwaivable) costs after their setup (e.g. contract-specific conditions/waivers, etc.).} -\item{\code{$adjustPresentValues}}{Adjust the present value vectors that are later used to derive premiums and reserves. \code{function(presentValues, params, values)}} -\item{\code{$adjustPresentValuesCosts}}{Adjust the present value cost vectors used to derive premiums and reserves. \code{function(presentValuesCosts, params, values)}} -\item{\code{$adjustPremiumCoefficients}}{Function with signature \code{function(coeff, type, premiums, params, values, premiumCalculationTime)} to adjust the coefficients for premium calculation after their default setup. Use cases are e.g. term-fix tariffs where the Zillmer premium term contains the administration cost over the whole contract, but not other gamma- or beta-costs.} -\item{\code{$adjustPremiums}}{Adjust the resulting premiums. \code{function(premiums = list(premiums, coefficients, sumInsured), params, values)}} -\item{\code{$adjustPVForReserves}}{Adjust the absolute present value vectors used to derive reserves (e.g. when a sum rebate is subtracted from the gamma-cost reserves without influencing the premium calculation). \code{function(absPV, params, values)}} -\item{\code{$premiumRebateCalculation}}{Calculate the actual premium rebate from the rebate rate (e.g. when the premium rate is given as a yearly cost reduction applied to a single-premium contract). \code{function(premiumRebateRate, params = params, values = values)}} -} -} -} -\usage{ -InsuranceContract.ParameterDefaults -} -\description{ -A new contract will be -pre-filled with these values, and values passed in the constructor (or with -other setter functions) will override these values. -} -\examples{ -InsuranceContract.ParameterDefaults -} -\keyword{datasets} diff --git a/man/InsuranceContract.ParameterStructure.Rd b/man/InsuranceContract.ParameterStructure.Rd deleted file mode 100644 index e025116..0000000 --- a/man/InsuranceContract.ParameterStructure.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\docType{data} -\name{InsuranceContract.ParameterStructure} -\alias{InsuranceContract.ParameterStructure} -\title{Full insurance contract parameter structure.} -\format{ -An object of class \code{list} of length 9. -} -\usage{ -InsuranceContract.ParameterStructure -} -\description{ -All values are filled with NULL, -so the functions \code{\link{InsuranceContract.ParametersFill}} and -\code{\link{InsuranceContract.ParametersFallback}} can be used to override -existing parameters or to provide default values for unset (NULL) entries. -} -\keyword{datasets} diff --git a/man/InsuranceContract.ParametersFallback.Rd b/man/InsuranceContract.ParametersFallback.Rd deleted file mode 100644 index c5b50e6..0000000 --- a/man/InsuranceContract.ParametersFallback.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{InsuranceContract.ParametersFallback} -\alias{InsuranceContract.ParametersFallback} -\title{Use fallback values for missing contract parameters} -\usage{ -InsuranceContract.ParametersFallback(params, fallback, ppParameters = TRUE) -} -\arguments{ -\item{params}{Current, explicitly set contract parameters. All NULL values -will be filled with the corresponding entry from \code{fallback}.} - -\item{fallback}{Fallback values that will be used when the corresponding -entry in \code{params} is NULL.} - -\item{ppParameters}{Whether profit participation parameters should also be -filled (default is TRUE)} -} -\description{ -Provide default values for the insurance contract parameters if any of the -parameters is not explicitly set. -} diff --git a/man/InsuranceContract.ParametersFill.Rd b/man/InsuranceContract.ParametersFill.Rd deleted file mode 100644 index cedd6db..0000000 --- a/man/InsuranceContract.ParametersFill.Rd +++ /dev/null @@ -1,25 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{InsuranceContract.ParametersFill} -\alias{InsuranceContract.ParametersFill} -\title{Initialize the insurance contract parameters from passed arguments} -\usage{ -InsuranceContract.ParametersFill( - params = InsuranceContract.ParameterStructure, - costs = NULL, - minCosts = NULL, - ... -) -} -\arguments{ -\item{params}{Initial values of the insurance contract parameters. (default: empty parameter structure)} - -\item{costs, minCosts, ...}{Values for any of the entries in the insurance contract -parameter structure. These values take precedence over the -initial parameters provided in \code{params}.} -} -\description{ -Initialize the insurance contract parameters from the passed -arguments. Arguments not given are left unchanged. If no existing parameter -structure is given, an empty (i.e. all NULL entries) structure is used. -} diff --git a/man/InsuranceContract.Rd b/man/InsuranceContract.Rd deleted file mode 100644 index 6c44951..0000000 --- a/man/InsuranceContract.Rd +++ /dev/null @@ -1,808 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceContract.R -\name{InsuranceContract} -\alias{InsuranceContract} -\title{Base Class for Insurance Contracts} -\description{ -Base Class for Insurance Contracts - -Base Class for Insurance Contracts -} -\details{ -R6 class that models a complete, general insurance contract. -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. -} -\section{Usage}{ -The typical usage of this class is to simply call -\ifelse{html}{\href{#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}}. - -All parameters from the \link{InsuranceContract.ParameterDefaults} can be passed -to the constructor of the class (i.e. the \ifelse{html}{\href{#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}}-call). -Parameters not explicitly given, will be taken from the tariff or as a fall-back -mechanism from the \link{InsuranceContract.ParameterDefaults} defaults. - -Immediately upon construction, all premiums, reserves and cash flows for the -whole contract period are calculated and can be accessed via the \code{Values} -field of the object. -} - -\section{Calculation approach: Valuation}{ -The calculation of all contract values is controlled by the function -\ifelse{html}{\href{#method-calculateContract}{\code{InsuranceContract$calculateContract()}}}{\code{InsuranceContract$calculateContract()()}} (using methods of the \link{InsuranceTarif} -object) and follows the following logic: -\enumerate{ -\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 \strong{present -values} for all of the \strong{benefit and costs cash flow} vectors. -\item The formulas -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 / 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 \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 \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 \strong{(discretionary or obligatory) profit sharing}B 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 \ifelse{html}{\href{#method-profitScenario}{\code{InsuranceContract$profitScenario()}}}{\code{InsuranceContract$profitScenario()()}}] -or \ifelse{html}{\href{#method-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}}}{\code{InsuranceContract$addProfitScenario()()}}. -} -} - -\section{Calculation approach: Cash Flows}{ -An insurance contract is basically defined by the (unit) cash flows it produces: -\itemize{ -\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 \emph{\strong{term life insurance with regular premiums}} would have the following -cash flows: -\itemize{ -\item premium cash flows: 1, 1, 1, 1, 1, ... -\item survival cash flows: 0, 0, 0, 0, 0, ... -\item guaranteed cash flows: 0, 0, 0, 0, 0, ... -\item death benefit cash flows: 1, 1, 1, 1, 1, ... -} - -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 \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, ... -\item survival cash flows: 0, 0, ..., 0, 1 -\item guaranteed cash flows: 0, 0, 0, 0, 0, ... -\item death benefit cash flows: 0, 0, 0, 0, 0, ... -} - -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 -\item guaranteed cash flows: 0, 0, 0, 0, 0, ... -\item death benefit cash flows: 1, 1, 1, 1, 1, ... -} - -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.: -\itemize{ -\item premium cash flows: 1, 1, ..., 1, 0, 0, 0, ... -\item survival cash flows: 0, 0, ..., 0, 1, 1, 1,... -\item guaranteed cash flows: 0, 0, 0, 0, 0, ... -\item death benefit cash flows: 1, 2, 3, 4, 5, ..., 0, 0, ... -} - -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): -\itemize{ -\item premium cash flows: 1, 1, 1, 1, ..., 1 -\item survival cash flows: 0, 0, 0, 0, ..., 0 -\item guaranteed cash flows: 0, 0, 0, ..., 0, 1 -\item death benefit cash flows: 0, 0, 0, 0, ..., 0 -} - -The \code{InsuranceContract$new()} function creates a new -insurance contract for the given tariff, using the parameters passed -to the function (and the defaults specified in the tariff). - -As soon as this function is called, the contract object calculates -all time series (cash flows, premiums, reserves, profit participation) -for the whole contract duration. - -The most important parameters that are typically passed to the -constructor are: -\itemize{ -\item \code{age} ... Age of the insured person (used to derive mortalities / transition probabilities) -\item \code{policyPeriod} ... Maturity of the policy (in years) -\item \code{premiumPeriod} ... How long premiums are paid (\code{premiumPeriod = 1} -for single-premium contracts, \code{premiumPeriod} equals -\code{policyPeriod} for regular premium payments for the whole -contract period, while other premium payment durations indicate -premium payments only for shorter periods than the whole contract -duration. Contract extensions without any premium payments are -indicated by \code{premiumPeriod}=0). Default is equal to -\code{policyPeriod} -\item \code{sumInsured} ... The sum insured (i.e. survival benefit for -endowments, death benefit for whole/term life insurances, -annuity payments for annuities) -\item \code{contractClosing} ... Date of the contract beginning (typically -created using something like \code{as.Date("2020-08-01")}) -\item \code{YOB} ... Year of birth of the insured (for cohort mortality -tables). If not given, YOB is derived from \code{age} and -\code{contractClosing}. -\item \code{deferralPeriod} ... Deferral period for deferred annuities -(i.e. when annuity payments start at a future point in time). -Default is 0. -\item \code{premiumFrequency} ... How many premium payments per year are -made (e.g. 1 for yearly premiums, 4 for quarterly premiumd, -12 for monthly premium payments). Default is 1 (yearly premiums). -} - -While these are the most common and most important parameters, all -parameters can be overwritten on a per-contract basis, even those -that are defined by the tariff. For a full list and explanation of all -parameters, see \link{InsuranceContract.ParameterDefaults}. - -The \code{InsuranceContract$addHistorySnapshot()} function -adds the current (or the explicitly given) state of the contract -(parameters, calculated values, tarif, list of all contract blocks) -to the history list (available in the \code{history} field of the -contract, i.e. \code{InsuranceContract$history}). - -Contracts with multiple contract blocks (typically either -contracts with dynamic increases, sum increases or protection riders) -are constructed by instantiating the child block (e.g. a single -dynamic increase or the rider) independently with its own (shorter) -duration and then inserting it into the parent contract with this -function at the given time. - -If no \link{InsuranceContract} object is passed as \code{block}, a copy -of the parent is created with overriding parameters given in \code{...}. - -This method adds a new contract block describing a dynamic -or sum increase (increasing the sum insured at a later time -$t$ than contract inception). This increase is modelled by a -separate \link{InsuranceContract} object with the sum difference -as its own \code{sumInsured}. - -\if{html}{\out{<div class="sourceCode">}}\preformatted{ By default, all parameters are taken from the main contract, - with the maturity adjusted to match the original contract's - maturity. - - The main contract holds all child blocks, controls their - valueation and aggregates all children's values to the - total values of the overall contract. -}\if{html}{\out{</div>}} - -When a contract expires, this function adds a follow-up contract -(with either the same or a different tariff), using the existing -reserve as \code{additionalCapital} at inception. -Technically, a child block using the new contract data of the extension -is added to the original contract. The over-all contract values are then -the sum of the original contract (providing values until expiration) -and the extension (providing values after the extension). - -This method calculates all contract values (potentially -starting from and preserving all values before a later time -\code{valuesFrom}). This function is not meant to be called -directly, but internally, whenever a contract is created or -modified. - -\if{html}{\out{<div class="sourceCode">}}\preformatted{ There is, however, a legitimate case to call this function - when a contract was initially created with a value of - \code{calculate} other than "all", so not all values of the - contract were calculated. When one later needs more values - than were initially calculated, this function can be called. - However, any contract changes might need to be rolled back - and reapplied again afterwards. So even in this case it is - probably easier to create the contract object from scratch - again. -}\if{html}{\out{</div>}} - -This function is an internal function for contracts with -multiple child blocks (dynamic increases, sum increases, riders). -It takes the values from all child blocks and calculates the -overall values from all child blocks aggregated. - -\if{html}{\out{<div class="sourceCode">}}\preformatted{ This function should not be called manually. -}\if{html}{\out{</div>}} - -This function modifies the contract at time $t$ so that -no further premiums are paid (i.e. a paid-up contract) and the -\code{sumInsured} is adjusted according to the existing reserves. - -This function calculates one profit scenario with the -provided profit participation parameters (all parameters -not given in the call are taken from their values of the -contract, profit participation scheme or tariff). - -This function calculates one profit scenario with the -provided profit participation parameters (all parameters -not given in the call are taken from their values of the -contract, profit participation scheme or tariff). The results -are stored in a list of profit scenarios inside the contract. - -\if{html}{\out{<div class="sourceCode">}}\preformatted{ This function can be chained to calculate and add multiple - profit scenarios. -}\if{html}{\out{</div>}} -} - -\examples{ -# TODO - - -## ------------------------------------------------ -## Method `InsuranceContract$addHistorySnapshot` -## ------------------------------------------------ - -# TODO - -## ------------------------------------------------ -## Method `InsuranceContract$addBlock` -## ------------------------------------------------ - -# TODO - -## ------------------------------------------------ -## Method `InsuranceContract$addDynamics` -## ------------------------------------------------ - -# TODO - -## ------------------------------------------------ -## Method `InsuranceContract$addExtension` -## ------------------------------------------------ - -# TODO - -## ------------------------------------------------ -## Method `InsuranceContract$premiumWaiver` -## ------------------------------------------------ - -# TODO - -## ------------------------------------------------ -## Method `InsuranceContract$profitScenario` -## ------------------------------------------------ - -# TODO - -## ------------------------------------------------ -## Method `InsuranceContract$addProfitScenario` -## ------------------------------------------------ - -# TODO -} -\section{Public fields}{ -\if{html}{\out{<div class="r6-fields">}} -\describe{ -\item{\code{tarif}}{The \link{InsuranceTarif} underlying this contract. The tarif is the abstract -product description (i.e. defining the type of insurance, fixing tpyes -of benefits, specifying costs, guaranteed interest rate, mortality tables, -potential profit sharing mechanisms, etc.), while the contract holds -the individual parts like age, sum insured, contract duration, premium -payment frequency, etc.} - -\item{\code{parent}}{A pointer to the parent contract. Some contracts consist of multiple -parts (e.g. a main savings contract with a dread-disease rider, or -a contract with multiple dynamic increases). These are internally -represented by one \link{InsuranceContract} object per contract part, plus -one contract object combining them and deriving combined premiums, -reserves and profit participation. The child contracts (i.e. the -objects representing the individual parts) have a pointer to their -parent, while the overall contract holds a list of all its child contract parts.} - -\item{\code{ContractParameters}}{Insurance contract parameters explicitly specified in the contract -(i.e. parameters that are NOT taken from the tariff of the defaults).} - -\item{\code{Parameters}}{Full set of insurance contract parameters applying to this contract. -The set of parameters is a combination of explicitly given (contract-specific) -values, parameters determined by the tariff and default values.} - -\item{\code{Values}}{List of all contract values (cash flows, present values, premiums, -reserves, premium decomposition, profit participation, etc.). These -values will be calculated and filled when the contract is created -and updated whenever the contract is changed.} - -\item{\code{blocks}}{For contracts with multiple contract parts: List of all tariff blocks -(independently calculated \link{InsuranceContract} objects, that are combined -to one contract, e.g. dynamic/sum increases). If this field is empty, -this object describes a contract block (calculated as a stand-alone -tariff), otherwise it will simply be the sum of its blocks (adjusted -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>}} -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-InsuranceContract-new}{\code{InsuranceContract$new()}} -\item \href{#method-InsuranceContract-addHistorySnapshot}{\code{InsuranceContract$addHistorySnapshot()}} -\item \href{#method-InsuranceContract-addBlock}{\code{InsuranceContract$addBlock()}} -\item \href{#method-InsuranceContract-addDynamics}{\code{InsuranceContract$addDynamics()}} -\item \href{#method-InsuranceContract-addExtension}{\code{InsuranceContract$addExtension()}} -\item \href{#method-InsuranceContract-calculateContract}{\code{InsuranceContract$calculateContract()}} -\item \href{#method-InsuranceContract-consolidateBlocks}{\code{InsuranceContract$consolidateBlocks()}} -\item \href{#method-InsuranceContract-premiumWaiver}{\code{InsuranceContract$premiumWaiver()}} -\item \href{#method-InsuranceContract-profitScenario}{\code{InsuranceContract$profitScenario()}} -\item \href{#method-InsuranceContract-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}} -\item \href{#method-InsuranceContract-clone}{\code{InsuranceContract$clone()}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-new"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-new}{}}} -\subsection{Method \code{new()}}{ -Create a new insurance contract (for the given tariff/product) and calculate all time series -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$new( - tarif, - parent = NULL, - calculate = "all", - profitid = "default", - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{tarif}}{The \link{InsuranceTarif} object describing the Tariff/Product -and providing defaults for the parameters.} - -\item{\code{parent}}{For contracts with multiple contract blocks (dynamic -increases, sum increases, riders), each child is created with -a pointer to its parent. NULL for single-block contracts or -for the overall-contract of a multi-block contract. This -parameter is used internally, but should not be used in -user-written code.} - -\item{\code{calculate}}{how much of the contract's time series need to be -calculated. See \link{CalculationEnum} for all possible values. This -is usefull to prevent calculation of e.g. reserves and profit -participation, when one only wants to create a grid of premiums.} - -\item{\code{profitid}}{The ID of the default profit participation scenario. -The default profit participation scenario uses the default -values passed, while further scenarios can be added by -\ifelse{html}{\href{#method-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}}}{\code{InsuranceContract$addProfitScenario()()}}.} - -\item{\code{...}}{Further parameters (age, sum insured, contract closing / -begin, premium payment details, etc.) of the contract, which -can also override parameters defined at the tariff-level. -Possible values are all sub-fields of the -\link{InsuranceContract.ParameterDefaults} data structure.} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-addHistorySnapshot"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-addHistorySnapshot}{}}} -\subsection{Method \code{addHistorySnapshot()}}{ -Add the current state of the contract to the history list -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$addHistorySnapshot( - time = 0, - comment = "Initial contract values", - type = "Contract", - params = self$Parameters, - values = self$Values, - tarif = self$tarif, - blocks = self$blocks -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{time}}{the time described by the snapshot} - -\item{\code{comment}}{a comment to store together with the contract state} - -\item{\code{type}}{The type of action that caused a history snapshot to -be stored. Typical values are "Contract" to describe the initial -contract, "Premium Waiver" or "Dynamic Increase".} - -\item{\code{params}}{The set of params to be stored in the history snapshot -(default is \code{self$Parameters}, if not explicitly given)} - -\item{\code{values}}{The calculated time series of all contract values -calculated so far. Default is \code{self$Values}, if not -explicitly given} - -\item{\code{tarif}}{The underlying \link{InsuranceTarif} object describing the -Product/Tariff. Default is \code{self$tarif}, if not explicitly given.} - -\item{\code{blocks}}{The list of all contract children for contracts with -multiple insurance blocks (e.g. dynamic increases, riders, etc.)} -} -\if{html}{\out{</div>}} -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-addBlock"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-addBlock}{}}} -\subsection{Method \code{addBlock()}}{ -Add a child contract block (e.g. a dynamic increase or a rider) to an insurance contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$addBlock( - id = NULL, - block = NULL, - t = block$Values$int$blockStart, - comment = paste0("Additional block at time t=", t), - blockType = "Dynamics", - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{id}}{The identifier of the child block to be inserted} - -\item{\code{block}}{The \link{InsuranceContract} object describing the child block. -If NULL (or not given at all), a copy of the parent will be -created.} - -\item{\code{t}}{Then the child block starts, relative to the parent block. -The child block is calculated independently (with time 0 -describing its own start), so when aggregating all values from -the individual blocks to overall values for the whole contract, -the child's values need to be translated to the parent contracts's -time frame using this parameter} - -\item{\code{comment}}{The comment to use in the history snapshot.} - -\item{\code{blockType}}{The type of block to be added (e.g. Dynamics, Extension, -etc.). Can be any (short) string.} - -\item{\code{...}}{parameters to be passed to \ifelse{html}{\href{#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}} when -\code{block} is not given and a copy of the parent should be -created with overrides.} -} -\if{html}{\out{</div>}} -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-addDynamics"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-addDynamics}{}}} -\subsection{Method \code{addDynamics()}}{ -Add a dynamic increase with the same parameters as the main contract part -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$addDynamics(t, NewSumInsured, SumInsuredDelta, id, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{t}}{The time within the main contract when the sum increase happens. -The \link{InsuranceContract} object describing the dynamic increase -will still internally start at its own time 0, but the -aggregation by the main contract will correctly offset to -the time $t$ within the main contract.} - -\item{\code{NewSumInsured}}{The over-all new sum insured (sum of original -contract and all dynamica increaeses). The \code{sumInsured} -of the new dynamic increase block will be determined as the -difference of the old and new overall sum insured. Alternatively, -it can directly be given as the \code{SumInsuredDelta} -argument instead.} - -\item{\code{SumInsuredDelta}}{The sum insured of only the dynamic increase, -i.e. the sumInsured of the dynamic contract block only. The -overall sum insured will increase by this amount. Only one of -\code{NewSumInsured} and \code{SumInsuredDelta} is needed, -the other one will be calculated accordingly. If both are -given, the \code{SumInsuredDelta} will take precedence.} - -\item{\code{id}}{The identifier of the contract block describing the dynamic -increase. This is a free-form string that should be unique -within the list of child blocks. It will be displayed in the -Excel export feature and in the history snapshot list.} - -\item{\code{...}}{Paramters to override in the dynamic block. By default, -all parameters of the main contract block will be used, but -they can be overridden per dynamic increase block.} -} -\if{html}{\out{</div>}} -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-addExtension"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-addExtension}{}}} -\subsection{Method \code{addExtension()}}{ -Add a contract extension after the contract has ended -(existing reserve is used as initial capital of the follow-up contract). -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$addExtension( - id = NULL, - t = NULL, - comment = paste0("Contract extension at time t=", t), - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{id}}{The identifier of the child block to be inserted} - -\item{\code{t}}{The time of the extension (relative to the parent block), -by default contract expiration of the parent block. -The extension is calculated independently (with time 0 -describing its own start), but using the existing reserve as -initialCapital and the parent's parameters as fall-back values.} - -\item{\code{comment}}{The comment to use in the history snapshot.} - -\item{\code{...}}{Additional parameters to be passed to -\ifelse{html}{\href{#method-new}{\code{InsuranceContract$new}}}{\code{InsuranceContract$new}} to create the contract -extension object.} -} -\if{html}{\out{</div>}} -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-calculateContract"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-calculateContract}{}}} -\subsection{Method \code{calculateContract()}}{ -Calculate all time series of the contract from the parameters -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$calculateContract( - calculate = "all", - valuesFrom = 0, - premiumCalculationTime = 0, - preservePastPV = TRUE, - additionalCapital = 0, - recalculatePremiums = TRUE, - recalculatePremiumSum = TRUE, - history_comment = NULL, - history_type = "Contract" -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{calculate}}{Which values to calculate. See \link{CalculationEnum}} - -\item{\code{valuesFrom}}{Calculate only values starting from this time step -on (all values before that time will be preserved). This is -required when a contract is changed significantly (potentially -even switching to a new tariff), so that the calculation bases -for previous periods are no longer available.} - -\item{\code{premiumCalculationTime}}{The time point when the premium should -be re-calculated (including existing reserves) based on the -actuarial equivalence principle. All reserves will be based on -these new premiums.} - -\item{\code{preservePastPV}}{Whether present value before the recalculation -time \code{valuesFrom} should be preserved or recalculated. -When they are recalculated, the present values are consistent -to the new cash flows over the whole contract period, but -they no longer represent the actual contract state at these -times. If values are not recalculated, the reserves at each -time step represent the proper state at that point in time.} - -\item{\code{additionalCapital}}{The capital that is added to the contract -(e.g. capital carried over from a previous contract) at the -premium calculation time.} - -\item{\code{recalculatePremiums}}{Whether the premiums should be recalculated -at time \code{premiumCalculationTime} at all.} - -\item{\code{recalculatePremiumSum}}{Whether to recalculate the overall premium -sum when the premium is recalculated.} - -\item{\code{history_comment}}{The comment for the history snapshot entry} - -\item{\code{history_type}}{The type (free-form string) to record in the history snapshot} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-consolidateBlocks"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-consolidateBlocks}{}}} -\subsection{Method \code{consolidateBlocks()}}{ -Aggregate values from all child contract blocks (if any) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$consolidateBlocks(valuesFrom = 0)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{valuesFrom}}{The time from when to aggragate values. Values before -that time will be left unchanged.} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-premiumWaiver"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-premiumWaiver}{}}} -\subsection{Method \code{premiumWaiver()}}{ -Stop premium payments and re-calculate sumInsured of the paid-up contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$premiumWaiver(t, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{t}}{Time of the premium waiver.} - -\item{\code{...}}{Further parameters (currently unused)} -} -\if{html}{\out{</div>}} -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-profitScenario"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-profitScenario}{}}} -\subsection{Method \code{profitScenario()}}{ -Calculate one profit scenario and return all values -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$profitScenario(...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{...}}{Scenario-specific profit sharing parameters, overriding -the default values. Typically, adjusted profit rates are required -in a profitScenario.} -} -\if{html}{\out{</div>}} -} -\subsection{Returns}{ -a data.frame holding all profit participation values (rates, -bases for the different profit types, profit allocations, -terminal bonus funds, profit in case of death/surrender/premium waiver) -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-addProfitScenario"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-addProfitScenario}{}}} -\subsection{Method \code{addProfitScenario()}}{ -Calculate one profit scenario and store it in the contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$addProfitScenario(id, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{id}}{The unique ID of the profit scenario. Will be used as key -in the list of profit scenarios and printed out in the Excel -export.} - -\item{\code{...}}{Scenario-specific profit sharing parameters, overriding -the default values. Typically, adjusted profit rates are required -in a profitScenario.} -} -\if{html}{\out{</div>}} -} -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{# TODO -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceContract-clone"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceContract-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceContract$clone(deep = FALSE)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{</div>}} -} -} -} diff --git a/man/InsuranceContract.Values.Rd b/man/InsuranceContract.Values.Rd deleted file mode 100644 index 41dfe5b..0000000 --- a/man/InsuranceContract.Values.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\docType{data} -\name{InsuranceContract.Values} -\alias{InsuranceContract.Values} -\title{Data structure (filled only with NULL) for insurance contract class member values.} -\format{ -An object of class \code{list} of length 16. -} -\usage{ -InsuranceContract.Values -} -\description{ -Data structure (filled only with NULL) for insurance contract class member values. -} -\keyword{datasets} diff --git a/man/InsuranceTarif.Rd b/man/InsuranceTarif.Rd deleted file mode 100644 index e6dd304..0000000 --- a/man/InsuranceTarif.Rd +++ /dev/null @@ -1,1186 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceTarif.R -\name{InsuranceTarif} -\alias{InsuranceTarif} -\title{Base class for traditional Insurance Tarifs (with fixed guarantee, profit -sharing and no unit-linked component)} -\description{ -The class \code{InsuranceTarif} provides the code and general -framework to implement contract-independent functionality of a life insurance -product. -} -\details{ -This is a base class for holding contract-independent values and -providing methods to calculate cash flows, premiums, etc. Objects of this -class do NOT contain contract-specific values like age, death probabilities, -premiums, reserves, etc. Rather, they are the calculation kernels that will -be called by the \code{\link{InsuranceContract}} objects to make the actual, -tariff-specific calculations. - -Most methods of this class are not meant to be called manually, but are supposed -to be called by the InsuranceContract object with contract-specific information. -The only methods that are typically used for defining an insurance tariff are -the constructor \href{#method-new}{\code{InsuranceTarif$new()}} and the cloning method -\href{#method-createModification}{\code{InsuranceTarif$createModification()}}. -All other methods should never be called manually. - -However, as overriding private methods is not possible in an R6 class, all the -methods need to be public to allow overriding them in derived classes. -} -\examples{ -# Define an insurance tariff for 10-year endowments, using a guaranteed interest -# rate of 1\% and the Austrian population mortality table of the census 2011. -# Premiums are paid monthly in advance during the whole contract period. -MortalityTables::mortalityTables.load("Austria_Census") -# Cost structure: -# - 4\% up-front acquisition costs (of premium sum) -# - 1\% collection cost of each premium paid -# - 1\%o yearly administration cost (of the sum insured) as long as premiums are paid -# - 2\%o yearly administration cost for paid-up contracts -# - 10 Euro yearly unit costs (as long as premiums are paid) -costs.endw = initializeCosts(alpha = 0.04, beta = 0.01, gamma = 0.001, - gamma.paidUp = 0.002, gamma.premiumfree = 0.002, unitcosts = 10) - -endowment.AT1 = InsuranceTarif$new( - name = "Endow AT 1\%", type = "endowment", tarif = "Austrian Endowment", - desc = "An endowment for Austrian insured with 1\% interest and no profit participation", - ContractPeriod = 10, - i = 0.01, mortalityTable = mort.AT.census.2011.unisex, - costs = costs.endw, premiumFrequency = 12) - -# The instantiation of the actual contract will provide the contract specific -# information and immediately calculate all further values: -ctr.end.AT1 = InsuranceContract$new(tarif = endowment.AT1, - contractClosing = as.Date("2020-07-01"), age = 42) - -# All values for the contract are already calculated during construction and -# stored in the ctr.end.AT1$Values list: -ctr.end.AT1$Values$basicData -ctr.end.AT1$Values$transitionProbabilities -ctr.end.AT1$Values$cashFlowsCosts -ctr.end.AT1$Values$presentValues -ctr.end.AT1$Values$premiums -ctr.end.AT1$Values$reserves -ctr.end.AT1$Values$premiumComposition -# etc. - -## ------------------------------------------------ -## Method `InsuranceTarif$new` -## ------------------------------------------------ - -MortalityTables::mortalityTables.load("Austria_Annuities_AVOe2005R") -tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - i = 0.01, mortalityTable = AVOe2005R.male) - -## ------------------------------------------------ -## Method `InsuranceTarif$createModification` -## ------------------------------------------------ - -MortalityTables::mortalityTables.load("Austria_Annuities_AVOe2005R") -tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - i = 0.01, mortalityTable = AVOe2005R.male) -tarif.unisex = tarif.male$createModification(name = "Annuity unisex", - mortalityTable = AVOe2005R.unisex) - -## ------------------------------------------------ -## Method `InsuranceTarif$getParameters` -## ------------------------------------------------ - -tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - i = 0.01, mortalityTable = AVOe2005R.male) -tarif.male$getParameters() -} -\section{Public fields}{ -\if{html}{\out{<div class="r6-fields">}} -\describe{ -\item{\code{name}}{The tariff's unique name. Will also be used as the key for exported data.} - -\item{\code{tarif}}{The tariff's public name (typically a product name), not necessarily unique.} - -\item{\code{desc}}{A short human-readable description of the tariff and its main features.} - -\item{\code{tariffType}}{An enum specifying the main characteristics of the tarif. -Possible values are: -\describe{ -\item{annuity}{Whole life or term annuity (periodic survival benefits) -with flexible payouts (constand, increasing, decreasing, arbitrary, -etc.)} -\item{wholelife}{A whole or term life insurance with only death benefits. -The benefit can be constant, increasing, decreasing, described by -a function, etc.} -\item{endowment}{An endowment with death and survival benefits, -potentially with different benefits.} -\item{pureendowment}{A pure endowment with only a survival benefit at -the end of the contract. Optionally, in case of death, all or part -of the premiums paid may be refunded.} -\item{terme-fix}{A terme-fix insurance with a fixed payout at the end -of the contract, even if the insured dies before that time. -Premiums are paid until death of the insured.} -\item{dread-disease}{A dread-disease insurance, which pays in case of -a severe illness (typically heart attacks, cancer, strokes, etc.), -but not in case of death.} -\item{endowment + dread-disease}{A combination of an endowment and a -temporary dread-disease insurance. Benefits occur either on death, -severe illness or survival, whichever comes first.} -}} - -\item{\code{Parameters}}{A data structure (nested list) containing all relevant -parameters describing a contract, its underlying tariff, the profit -participation scheme etc. See \link{InsuranceContract.ParameterStructure} for -all fields.} - -\item{\code{dummy}}{Dummy field to allow commas after the previous method} -} -\if{html}{\out{</div>}} -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-InsuranceTarif-new}{\code{InsuranceTarif$new()}} -\item \href{#method-InsuranceTarif-createModification}{\code{InsuranceTarif$createModification()}} -\item \href{#method-InsuranceTarif-getParameters}{\code{InsuranceTarif$getParameters()}} -\item \href{#method-InsuranceTarif-getInternalValues}{\code{InsuranceTarif$getInternalValues()}} -\item \href{#method-InsuranceTarif-getAges}{\code{InsuranceTarif$getAges()}} -\item \href{#method-InsuranceTarif-getTransitionProbabilities}{\code{InsuranceTarif$getTransitionProbabilities()}} -\item \href{#method-InsuranceTarif-getCostValues}{\code{InsuranceTarif$getCostValues()}} -\item \href{#method-InsuranceTarif-getPremiumCF}{\code{InsuranceTarif$getPremiumCF()}} -\item \href{#method-InsuranceTarif-getAnnuityCF}{\code{InsuranceTarif$getAnnuityCF()}} -\item \href{#method-InsuranceTarif-getDeathCF}{\code{InsuranceTarif$getDeathCF()}} -\item \href{#method-InsuranceTarif-getBasicCashFlows}{\code{InsuranceTarif$getBasicCashFlows()}} -\item \href{#method-InsuranceTarif-getCashFlows}{\code{InsuranceTarif$getCashFlows()}} -\item \href{#method-InsuranceTarif-getCashFlowsCosts}{\code{InsuranceTarif$getCashFlowsCosts()}} -\item \href{#method-InsuranceTarif-presentValueCashFlows}{\code{InsuranceTarif$presentValueCashFlows()}} -\item \href{#method-InsuranceTarif-presentValueCashFlowsCosts}{\code{InsuranceTarif$presentValueCashFlowsCosts()}} -\item \href{#method-InsuranceTarif-getAbsCashFlows}{\code{InsuranceTarif$getAbsCashFlows()}} -\item \href{#method-InsuranceTarif-getAbsPresentValues}{\code{InsuranceTarif$getAbsPresentValues()}} -\item \href{#method-InsuranceTarif-presentValueBenefits}{\code{InsuranceTarif$presentValueBenefits()}} -\item \href{#method-InsuranceTarif-getPremiumCoefficients}{\code{InsuranceTarif$getPremiumCoefficients()}} -\item \href{#method-InsuranceTarif-sumInsuredCalculation}{\code{InsuranceTarif$sumInsuredCalculation()}} -\item \href{#method-InsuranceTarif-premiumCalculation}{\code{InsuranceTarif$premiumCalculation()}} -\item \href{#method-InsuranceTarif-reserveCalculation}{\code{InsuranceTarif$reserveCalculation()}} -\item \href{#method-InsuranceTarif-getBalanceSheetReserveFactor}{\code{InsuranceTarif$getBalanceSheetReserveFactor()}} -\item \href{#method-InsuranceTarif-reserveCalculationBalanceSheet}{\code{InsuranceTarif$reserveCalculationBalanceSheet()}} -\item \href{#method-InsuranceTarif-calculateProfitParticipation}{\code{InsuranceTarif$calculateProfitParticipation()}} -\item \href{#method-InsuranceTarif-reservesAfterProfit}{\code{InsuranceTarif$reservesAfterProfit()}} -\item \href{#method-InsuranceTarif-getBasicDataTimeseries}{\code{InsuranceTarif$getBasicDataTimeseries()}} -\item \href{#method-InsuranceTarif-premiumDecomposition}{\code{InsuranceTarif$premiumDecomposition()}} -\item \href{#method-InsuranceTarif-calculateFutureSums}{\code{InsuranceTarif$calculateFutureSums()}} -\item \href{#method-InsuranceTarif-calculatePresentValues}{\code{InsuranceTarif$calculatePresentValues()}} -\item \href{#method-InsuranceTarif-evaluateFrequencyLoading}{\code{InsuranceTarif$evaluateFrequencyLoading()}} -\item \href{#method-InsuranceTarif-clone}{\code{InsuranceTarif$clone()}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-new"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-new}{}}} -\subsection{Method \code{new()}}{ -Initialize a new tariff object -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$new( - name = NULL, - type = "wholelife", - tarif = "Generic Tarif", - desc = "Description of tarif", - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{name}}{The unique name / ID of the tariff} - -\item{\code{type}}{An enum specifying the main characteristics of the tarif. See \link{TariffTypeEnum}} - -\item{\code{tarif}}{The tariff's public name to be stored in the \code{tarif} field.} - -\item{\code{desc}}{A short human-readable description to be stored in the \code{desc} field.} - -\item{\code{...}}{Parameters for the \link{InsuranceContract.ParameterStructure}, -defining the characteristics of the tariff.} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -The constructor function defines a tariff and generates the -corresponding data structure, which can then be used with the \link{InsuranceContract} -class to define an actual contract using the tariff. - -The arguments passed to this function will be stored inside the -\code{Parameters} field of the class, inside one of the lists sublists. -The parameters are stacked from different layers (higher levels override -default values from lower layers): -\itemize{ -\item InsuranceContract object (parameters passed directly to the individual -contract) -\item ProfitParticipation object (parameters for profit participation, passed -to the definition of the profit plan, which is used for the tarif -definition or the contract) -\item InsuranceTarif object (parameters passed to the definition of the tariff -that was used for the contract) -\item Defaults taken from \link{InsuranceContract.ParameterStructure} -} - -The general implementation of this parameter layering means that (a) a tariff -can already provide default values for contracts (e.g. a default maturity, -default sum insured, etc) and (b) individual contracts can override all -parameters defined with the underlying tariff. In particular the latter -feature has many use-cases in prototyping: E.g. when you have a tariff -with a guaranteed interest rate of 1\\% and a certain mortality table, -one can immediately instantiate a contract with an updated interest rate -or mortality table for comparison. There is no need to re-implement a -tariff for such comparisons, as long as only parameters are changed. -} - -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{MortalityTables::mortalityTables.load("Austria_Annuities_AVOe2005R") -tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - i = 0.01, mortalityTable = AVOe2005R.male) -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-createModification"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-createModification}{}}} -\subsection{Method \code{createModification()}}{ -create a copy of a tariff with certain parameters changed -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$createModification( - name = NULL, - tarif = NULL, - desc = NULL, - tariffType = NULL, - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{name}}{The unique name / ID of the tariff} - -\item{\code{tarif}}{The tariff's public name to be stored in the \code{tarif} field.} - -\item{\code{desc}}{A short human-readable description to be stored in the \code{desc} field.} - -\item{\code{tariffType}}{An enum specifying the main characteristics of the tarif. -See \link{TariffTypeEnum}} - -\item{\code{...}}{Parameters for the \link{InsuranceContract.ParameterStructure}, -defining the characteristics of the tariff.} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -This method \code{createModification} returns a copy of the tariff -with all given arguments changed in the tariff's \code{InsuranceTarif$Parameters} -parameter list. - -As InsuranceTarif is a R6 class with reference logic, simply assigning -the object to a new variable does not create a copy, but references the -original tariff object. To create an actual copy, one needs to call this -method, which first clones the whole object and then adjusts all parameters -to the values passed to this method. -} - -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{MortalityTables::mortalityTables.load("Austria_Annuities_AVOe2005R") -tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - i = 0.01, mortalityTable = AVOe2005R.male) -tarif.unisex = tarif.male$createModification(name = "Annuity unisex", - mortalityTable = AVOe2005R.unisex) -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getParameters"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getParameters}{}}} -\subsection{Method \code{getParameters()}}{ -Retrieve the parameters for this tariff (can be overridden -for each contract) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getParameters()}\if{html}{\out{</div>}} -} - -\subsection{Examples}{ -\if{html}{\out{<div class="r example copy">}} -\preformatted{tarif.male = InsuranceTarif$new(name = "Annuity Males", type = "annuity", - i = 0.01, mortalityTable = AVOe2005R.male) -tarif.male$getParameters() -} -\if{html}{\out{</div>}} - -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getInternalValues"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getInternalValues}{}}} -\subsection{Method \code{getInternalValues()}}{ -Get some internal parameters cached (length of data.frames, -policy periods cut at max.age, etc.) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getInternalValues(params, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{...}}{currently unused} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -This methos is not meant to be called explicitly, but rather used -by the InsuranceContract class. It returns a list of maturities and ages -relevant for the contract-specific calculations -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getAges"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getAges}{}}} -\subsection{Method \code{getAges()}}{ -Calculate the contract-relevant age(s) given a certain -parameter data structure (contract-specific values) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getAges(params)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -This method is not meant to be called explicitly, but rather used -by the InsuranceContract class. It returns the relevant ages during the -whole contract period -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getTransitionProbabilities"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getTransitionProbabilities}{}}} -\subsection{Method \code{getTransitionProbabilities()}}{ -Calculate the transition probabilities from the contract-specific -parameters passed as \code{params} and the already-calculated contract -values \code{values} -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getTransitionProbabilities(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getCostValues"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getCostValues}{}}} -\subsection{Method \code{getCostValues()}}{ -Obtain the cost structure from the cost parameter and the -given paremeter set -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getCostValues(params)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{The parameters of the contract / tariff} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -The cost parameter can be either an array of costs (generated by \code{\link[=initializeCosts]{initializeCosts()}}) -or a function with parameters \code{param} and \code{values}(=NULL) returning -an array of the required dimensions. This function makes sures that the -latter function is actually evaluated. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getPremiumCF"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getPremiumCF}{}}} -\subsection{Method \code{getPremiumCF()}}{ -Returns the unit premium cash flow for the whole contract period. -\itemize{ -\item For constant premiums it will be rep(1, premiumPeriod), -\item for single premiums it will be c(1, 0, 0, ...), -\item for increasing premiums it will be (1+increase)^(0:(premiumPeriod-1)) -and 0 after the premium period -} -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getPremiumCF(len, params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{len}}{The desired length of the returned data frame (the number of contract periods desire)} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getAnnuityCF"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getAnnuityCF}{}}} -\subsection{Method \code{getAnnuityCF()}}{ -Returns the unit annuity cash flow (guaranteed and contingent) for -the whole annuity payment period (after potential deferral period) -\itemize{ -\item For constant annuity it will be rep(1, annuityPeriod), -\item for increasing annuities it will be (1+increase)^(0:(premiumPeriod-1)) -and 0 after the premium period -} -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getAnnuityCF(len, params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{len}}{The desired length of the returned data frame (the number of contract periods desire)} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getDeathCF"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getDeathCF}{}}} -\subsection{Method \code{getDeathCF()}}{ -Returns the unit death cash flow for the whole protection -period (after potential deferral period!) -\itemize{ -\item For constant death benefit it will be rep(1, policyPeriod), -\item for linearly decreasing sum insured it will be (policyPeriod:0)/policyPeriod -} -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getDeathCF(len, params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{len}}{The desired length of the returned data frame (the number of contract periods desire)} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getBasicCashFlows"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getBasicCashFlows}{}}} -\subsection{Method \code{getBasicCashFlows()}}{ -Returns the basic (unit) cash flows associated with the type -of insurance given in the InsuranceTarif's \code{tariffType} field -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getBasicCashFlows(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getCashFlows"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getCashFlows}{}}} -\subsection{Method \code{getCashFlows()}}{ -Returns the cash flows for the contract given the parameters -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getCashFlows(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getCashFlowsCosts"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getCashFlowsCosts}{}}} -\subsection{Method \code{getCashFlowsCosts()}}{ -Returns the cost cash flows of the contract given the contract -and tariff parameters -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getCashFlowsCosts(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-presentValueCashFlows"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-presentValueCashFlows}{}}} -\subsection{Method \code{presentValueCashFlows()}}{ -Returns the present values of the cash flows of the contract -(cash flows already calculated and stored in the \code{cashFlows} data.frame) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$presentValueCashFlows(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{cashFlows}}{data.frame of cash flows calculated by a call to \href{#method-getCashFlows}{\code{InsuranceTarif$getCashFlows()}}} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-presentValueCashFlowsCosts"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-presentValueCashFlowsCosts}{}}} -\subsection{Method \code{presentValueCashFlowsCosts()}}{ -Calculates the present values of the cost cash flows of the -contract (cost cash flows alreay calculated by \href{#method-getCashFlowsCosts}{\code{InsuranceTarif$getCashFlowsCosts()}} -and stored in the \code{values} list -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$presentValueCashFlowsCosts(params, values, presentValues)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{presentValues}}{The present values of the insurance claims (without costs)} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getAbsCashFlows"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getAbsCashFlows}{}}} -\subsection{Method \code{getAbsCashFlows()}}{ -Calculate the cash flows in monetary terms of the insurance contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getAbsCashFlows(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Once the premiums of the insurance contracts are calculated, all -cash flows can also be expressed in absolute terms. This function -calculates these time series in monetary terms, once the premiums -are calculated by the previous functions of this class. - -This method is NOT to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getAbsPresentValues"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getAbsPresentValues}{}}} -\subsection{Method \code{getAbsPresentValues()}}{ -Calculate the absolute present value time series of the insurance contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getAbsPresentValues(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Once the premiums of the insurance contracts are calculated, all -present values can also be expressed in absolute terms. This function -calculates these time series in monetary terms, once the premiums and the -unit-benefit present values are calculated by the previous functions of -this classe. - -This method is NOT to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-presentValueBenefits"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-presentValueBenefits}{}}} -\subsection{Method \code{presentValueBenefits()}}{ -Calculate the absolute present value time series of the -benefits of the insurance contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$presentValueBenefits(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Once the premiums of the insurance contracts are calculated, all -present values can also be expressed in absolute terms. This function -calculates these time series of the benefits present values in monetary -terms, once the premiums and the unit-benefit present values are calculated -by the previous functions of this classe. - -This method is NOT to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getPremiumCoefficients"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getPremiumCoefficients}{}}} -\subsection{Method \code{getPremiumCoefficients()}}{ -Calculate the linear coefficients of the premium calculation formula for the insurance contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getPremiumCoefficients( - type = "gross", - coeffBenefits, - coeffCosts, - premiums, - params, - values, - premiumCalculationTime = values$int$premiumCalculationTime -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{type}}{The premium that is supposed to be calculated ("gross", "Zillmer", "net")} - -\item{\code{coeffBenefits}}{(empty) data structure of the benefit coefficients. -The actual values have no meaning, this parameter is only used to -derive the required dimensions} - -\item{\code{coeffCosts}}{(empty) data structure of the cost coefficients. The -actual values have no meaning, this parameter is only used to -derive the required dimensions} - -\item{\code{premiums}}{The premium components that have already been calculated -(e.g. for net and Zillmer, the gross premium has already been -calculated to allow modelling the premium refund)} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{premiumCalculationTime}}{The time when the premiums should be -(re-)calculated according to the equivalence principle. A time 0 -means the initial premium calculation at contract closing, later -premium calculation times can be used to re-calculate the new -premium after a contract change (possibly including an existing reserve)} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -When \code{getPremiumCoefficients} is called, the \code{values$premiums} -array has NOT yet been filled! Instead, all premiums already calculated -(and required for the premium coefficients) are passed in the \code{premiums} -argument. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-sumInsuredCalculation"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-sumInsuredCalculation}{}}} -\subsection{Method \code{sumInsuredCalculation()}}{ -Calculate the sumInsured of the InsuranceContract given the -parameters and premiums given and teh , present values already calculated and -stored in the \code{params} and \code{values} lists. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$sumInsuredCalculation( - params, - values, - calculationTime = values$int$premiumCalculationTime -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{calculationTime}}{the time when the sumInsured should be recalculated from the given premium} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-premiumCalculation"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-premiumCalculation}{}}} -\subsection{Method \code{premiumCalculation()}}{ -Calculate the premiums of the InsuranceContract given the -parameters, present values and premium cofficients already calculated and -stored in the \code{params} and \code{values} lists. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$premiumCalculation( - params, - values, - premiumCalculationTime = values$int$premiumCalculationTime -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{premiumCalculationTime}}{The time when the premiums should be -(re-)calculated according to the equivalence principle. A time 0 -means the initial premium calculation at contract closing, later -premium calculation times can be used to re-calculate the new -premium after a contract change (possibly including an existing reserve)} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-reserveCalculation"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-reserveCalculation}{}}} -\subsection{Method \code{reserveCalculation()}}{ -Calculate the reserves of the InsuranceContract given the -parameters, present values and premiums already calculated and stored in -the \code{params} and \code{values} lists. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$reserveCalculation(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getBalanceSheetReserveFactor"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getBalanceSheetReserveFactor}{}}} -\subsection{Method \code{getBalanceSheetReserveFactor()}}{ -Calculate the (linear) interpolation factors for the balance -sheet reserve (Dec. 31) between the yearly contract closing dates -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getBalanceSheetReserveFactor(method, params, years = 1)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{method}}{The method for the balance sheet interpolation (30/360, act/act, act/360, act/365 or a function)} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{years}}{how many years to calculate (for some usances, the factor -is different in leap years!)} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-reserveCalculationBalanceSheet"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-reserveCalculationBalanceSheet}{}}} -\subsection{Method \code{reserveCalculationBalanceSheet()}}{ -Calculate the reserves for the balance sheets at Dec. 31 of each -year by interpolation from the contract values calculated for -the yearly reference date of the contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$reserveCalculationBalanceSheet(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-calculateProfitParticipation"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-calculateProfitParticipation}{}}} -\subsection{Method \code{calculateProfitParticipation()}}{ -Calculate the profit participation given the contract -parameters and the already calculated reserves of the contract. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$calculateProfitParticipation(params, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{...}}{Additional parameters for the profit participation calculation, passed -through to the profit participation scheme's \href{../../LifeInsuranceContracts/html/ProfitParticipation.html#method-getProfitParticipation}{\code{ProfitParticipation$getProfitParticipation()}}} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-reservesAfterProfit"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-reservesAfterProfit}{}}} -\subsection{Method \code{reservesAfterProfit()}}{ -Calculate the reserves after profit participation for the given profit scenario -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$reservesAfterProfit(profitScenario, params, values, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{profitScenario}}{The ID of the profit scenario for which to calculate the reserves} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{...}}{TODO} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-getBasicDataTimeseries"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-getBasicDataTimeseries}{}}} -\subsection{Method \code{getBasicDataTimeseries()}}{ -Return the time series of the basic contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$getBasicDataTimeseries(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-premiumDecomposition"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-premiumDecomposition}{}}} -\subsection{Method \code{premiumDecomposition()}}{ -Calculate the time series of the premium decomposition of the contract -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$premiumDecomposition(params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -\subsection{Details}{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -All premiums, reserves and present values have already been calculated. -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-calculateFutureSums"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-calculateFutureSums}{}}} -\subsection{Method \code{calculateFutureSums()}}{ -Generic function to calculate future sums of the values -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$calculateFutureSums(cf, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{cf}}{The time series, for which future sums at all times are desired} - -\item{\code{...}}{currently unused} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-calculatePresentValues"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-calculatePresentValues}{}}} -\subsection{Method \code{calculatePresentValues()}}{ -Calculate all present values for a given time series. The -mortalities are taken from the contract's parameters. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$calculatePresentValues(cf, params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{cf}}{The time series, for which future present values at all -times are desired} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} - -\item{\code{...}}{currently unused} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-evaluateFrequencyLoading"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-evaluateFrequencyLoading}{}}} -\subsection{Method \code{evaluateFrequencyLoading()}}{ -Calculate the premium frequency loading, i.e. the surcharge -on the premium for those cases where the premium is not paid yearly. -Return values can be either a numeric value or a named list with all -possible premium frequencies as keys. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$evaluateFrequencyLoading(loading, frequency, params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{loading}}{The premiumFrequencyLoading parameter of the Contract or Tariff to be evaluated} - -\item{\code{frequency}}{The premiumFrequency parameter of the contract} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (in the \code{contract$Values} -list) then this method is called by the contract object} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-InsuranceTarif-clone"></a>}} -\if{latex}{\out{\hypertarget{method-InsuranceTarif-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{InsuranceTarif$clone(deep = FALSE)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{</div>}} -} -} -} diff --git a/man/PVfactory.Rd b/man/PVfactory.Rd deleted file mode 100644 index 8b0306c..0000000 --- a/man/PVfactory.Rd +++ /dev/null @@ -1,224 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{PVfactory} -\alias{PVfactory} -\title{PVfactory (R6Class for present values with arbitrary dimensions)} -\description{ -PVfactory (R6Class for present values with arbitrary dimensions) - -PVfactory (R6Class for present values with arbitrary dimensions) -} -\details{ -provides functions to calculate present values for survival, death, dread -disease, invalidity and guaranteed benefits in various dimensions -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-PVfactory-new}{\code{PVfactory$new()}} -\item \href{#method-PVfactory-guaranteed}{\code{PVfactory$guaranteed()}} -\item \href{#method-PVfactory-survival}{\code{PVfactory$survival()}} -\item \href{#method-PVfactory-death}{\code{PVfactory$death()}} -\item \href{#method-PVfactory-disease}{\code{PVfactory$disease()}} -\item \href{#method-PVfactory-afterDeath}{\code{PVfactory$afterDeath()}} -\item \href{#method-PVfactory-clone}{\code{PVfactory$clone()}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-new"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-new}{}}} -\subsection{Method \code{new()}}{ -Initialize the present value factory with defaults for qx, interest and multiple payments per year -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$new(qx, m = 1, mCorrection = list(alpha = 1, beta = 0), v = 1)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{qx}}{the vector of mortality / death probabilities} - -\item{\code{m}}{the number of yearly payments} - -\item{\code{mCorrection}}{the list of alpha/beta to correct present values for multiple payments per year} - -\item{\code{v}}{the discount factor (1 / (1+i))} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-guaranteed"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-guaranteed}{}}} -\subsection{Method \code{guaranteed()}}{ -Present values of guaranteed benefits (paid in advance or arrears, possible multiple times per year) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$guaranteed( - advance = NULL, - arrears = NULL, - start = 0, - ..., - m = private$m, - mCorrection = private$mCorrection, - v = private$v -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{advance}}{the payment cashflows in advance} - -\item{\code{arrears}}{the payment cashflows in arrears} - -\item{\code{start}}{the time index, where the PV calculation should be based} - -\item{\code{...}}{other parameters (currently not used, for future use)} - -\item{\code{m}}{the number of yearly payments} - -\item{\code{mCorrection}}{the list of alpha/beta to correct present values for multiple payments per year} - -\item{\code{v}}{the discount factor (1 / (1+i))} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-survival"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-survival}{}}} -\subsection{Method \code{survival()}}{ -Present values of survival benefits (paid in advance or arrears, possible multiple times per year) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$survival( - advance = NULL, - arrears = NULL, - start = 0, - ..., - m = private$m, - mCorrection = private$mCorrection, - v = private$v -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{advance}}{the payment cashflows in advance} - -\item{\code{arrears}}{the payment cashflows in arrears} - -\item{\code{start}}{the time index, where the PV calculation should be based} - -\item{\code{...}}{other parameters (currently not used, for future use)} - -\item{\code{m}}{the number of yearly payments} - -\item{\code{mCorrection}}{the list of alpha/beta to correct present values for multiple payments per year} - -\item{\code{v}}{the discount factor (1 / (1+i))} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-death"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-death}{}}} -\subsection{Method \code{death()}}{ -Present values of death benefits -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$death(benefits, start = 0, ..., v = private$v)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{benefits}}{the vector of death / invalidity / disease benefits} - -\item{\code{start}}{the time index, where the PV calculation should be based} - -\item{\code{...}}{other parameters (currently not used, for future use)} - -\item{\code{v}}{the discount factor (1 / (1+i))} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-disease"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-disease}{}}} -\subsection{Method \code{disease()}}{ -Present values of disease benefits -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$disease(benefits, start = 0, ..., v = private$v)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{benefits}}{the vector of death / invalidity / disease benefits} - -\item{\code{start}}{the time index, where the PV calculation should be based} - -\item{\code{...}}{other parameters (currently not used, for future use)} - -\item{\code{v}}{the discount factor (1 / (1+i))} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-afterDeath"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-afterDeath}{}}} -\subsection{Method \code{afterDeath()}}{ -Present values of guaranteed benefits after death (paid in advance or arrears, possible multiple times per year) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$afterDeath( - advance = NULL, - arrears = NULL, - start = 0, - ..., - m = private$m, - mCorrection = private$mCorrection, - v = private$v -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{advance}}{the payment cashflows in advance} - -\item{\code{arrears}}{the payment cashflows in arrears} - -\item{\code{start}}{the time index, where the PV calculation should be based} - -\item{\code{...}}{other parameters (currently not used, for future use)} - -\item{\code{m}}{the number of yearly payments} - -\item{\code{mCorrection}}{the list of alpha/beta to correct present values for multiple payments per year} - -\item{\code{v}}{the discount factor (1 / (1+i))} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-PVfactory-clone"></a>}} -\if{latex}{\out{\hypertarget{method-PVfactory-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{PVfactory$clone(deep = FALSE)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{</div>}} -} -} -} diff --git a/man/PaymentTimeSingleEnum-class.Rd b/man/PaymentTimeSingleEnum-class.Rd deleted file mode 100644 index 9c2d66b..0000000 --- a/man/PaymentTimeSingleEnum-class.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\docType{class} -\name{PaymentTimeSingleEnum-class} -\alias{PaymentTimeSingleEnum-class} -\alias{PaymentTimeEnum} -\title{Enum to describe when a benefit or premium payment is due (in advance or in arrears)} -\description{ -Enum to describe when a benefit or premium payment is due (in advance or in arrears) -} -\details{ -Currently, only two values are allowed; -\itemize{ -\item "in advance" -\item "in arrears" -} -} diff --git a/man/ProfitComponentsMultipleEnum-class.Rd b/man/ProfitComponentsMultipleEnum-class.Rd deleted file mode 100644 index e0d0f52..0000000 --- a/man/ProfitComponentsMultipleEnum-class.Rd +++ /dev/null @@ -1,37 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\docType{class} -\name{ProfitComponentsMultipleEnum-class} -\alias{ProfitComponentsMultipleEnum-class} -\alias{ProfitComponentsEnum} -\title{Enum to define the different components of profit participation.} -\description{ -Enum to define the different components of profit participation. -} -\details{ -Profit participation schemes typically consist of different components, -which are calculated independently. Typical components are interest profit -to distribute investment gains to the customer, risk profit and expense profit -to return security margins in the biometric risk and the expenses to the customer -and sum profit, which aplies to contracts with higher sums insured, where -charged expenses are calculated from the sum insured, while the actual -expenses are more or less constant. Thus, high contracts are charged more, -which causes profits that are returned as sum profit. - -As a special case, part of the profits can be stored in a terminal bonus -reserve and only distributed on maturity (or potentially on death), but -not on surrender. Some (older) profit participation schemes add an independently -calculated bonus on maturity (e.g. twice the total profit assignment of the -last year) at maturity to give customers an additional incentive not to -surrender a contract. - -Possible values are (multiple can be given): -\itemize{ -\item "interest" -\item "risk" -\item "expense" -\item "sum" -\item "terminal" -\item "TBF" -} -} diff --git a/man/ProfitParticipation.Rd b/man/ProfitParticipation.Rd deleted file mode 100644 index 40edd9b..0000000 --- a/man/ProfitParticipation.Rd +++ /dev/null @@ -1,371 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/ProfitParticipation.R -\name{ProfitParticipation} -\alias{ProfitParticipation} -\title{Base Class for Profit Participation Schemes} -\description{ -Base Class for Profit Participation Schemes - -Base Class for Profit Participation Schemes -} -\details{ -Base class for Profit Participation schemes (holding contract-independent values and -providing methods to calculate the profit participation values from the given -reserves). - -The profit participation object is typically not used directly, but rather -defined once and then passed on to an \link{InsuranceTarif} or \link{InsuranceContract} -object, where it will be used internally when profit participation is -calculated. - -This class provides the technical implementation of a profit plan for traditional -life insurance contracts with a guaranteed component (calculated before the -profit scheme comes into play) and a discretionary profit on top. - -This function is called when a new profit participation scheme -is created with a call to \code{ProfitParticipation$new(...)}. Possible -parameters to the \code{new}-Call are all parameters from the \code{ProfitParticipation} sublist of the -\link{InsuranceContract.ParameterStructure} parameter -structure (which are understood as template values that can be overridden -per contract or even per profit participation scenario) and the components -of the \code{Functions} field defining the functions to calculate the individual -components of the profit participation (rates, calculation bases, calculation, benefits) - -This method \code{createModification} returns a copy of the profit scheme -with all given arguments changed in the schmes's \code{Parameters} -parameter list. - -As ProfitParticipation is a R6 class with reference logic, simply assigning -the object to a new variable does not create a copy, but references the -original profit scheme object. To create an actual copy, one needs to call this -method, which first clones the whole object and then adjusts all parameters -to the values passed to this method. - -The \link{InsuranceContract}'s param structure \link{InsuranceContract.ParameterStructure} -contains the field \code{params$ProfitParticipation$advanceProfitParticipation}, -which can either be numeric rate for advance profit participation, or -a function with signature \code{function(params, values, ...)} that -returns the advance profit participation rate when called with the -contract's parameters and the values calculated so far (cash flows and premiums) - -The \link{InsuranceContract}'s param structure \link{InsuranceContract.ParameterStructure} -contains the field \code{params$ProfitParticipation$advanceProfitParticipationInclUnitCost}, -which can either be numeric rate for advance profit participation, or -a function with signature \code{function(params, values, ...)} that -returns the advance profit participation rate when called with the -contract's parameters and the values calculated so far (cash flows and premiums) - -This function provides an easy way to modify the whole set of -profit rates after their initial setup. Possible applications are waiting -periods, which can be implemented once for all rates rather than inside -each individual calculation period. -} -\section{Public fields}{ -\if{html}{\out{<div class="r6-fields">}} -\describe{ -\item{\code{name}}{The human-readable name of the profit plan.} - -\item{\code{Parameters}}{Parameter template for profit-participation-specific -parameters, i.e. the \code{ProfitParticipation} element of the -\link{InsuranceContract.ParameterStructure} data structure. - -All elements defined in the profit scheme can be overriden per contract -in the call to \code{[InsuranceContract]$new} or even in the explicit -call to \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-profitScenario}{\code{InsuranceContract$profitScenario()}}}{\code{InsuranceContract$profitScenario()()}} -or \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-addProfitScenario}{\code{InsuranceContract$addProfitScenario()}}}{\code{InsuranceContract$addProfitScenario()()}}.} - -\item{\code{Functions}}{list of functions defined to calculate the individual -components. For each of the profit components -\itemize{ -\item interest profit -\item risk profit -\item expense profit -\item sum profit -\item terminal bonus -\item terminal bonus fund -} -a rate, a profit base and a calculation function can be defined, by assigning one of the pre-defined -\link{ProfitParticipationFunctions} or proving your own function with signature -\code{function(rates, params, values, ...)}. Additionally, for each of the -benefit types (survival, death, surrender, premium waiver) a function can -be provided to calculate the benefit stemming from profit participation.} - -\item{\code{dummy}}{Dummy to allow commas in the previous method} -} -\if{html}{\out{</div>}} -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-ProfitParticipation-new}{\code{ProfitParticipation$new()}} -\item \href{#method-ProfitParticipation-setParameters}{\code{ProfitParticipation$setParameters()}} -\item \href{#method-ProfitParticipation-setFunctions}{\code{ProfitParticipation$setFunctions()}} -\item \href{#method-ProfitParticipation-setFallbackParameters}{\code{ProfitParticipation$setFallbackParameters()}} -\item \href{#method-ProfitParticipation-createModification}{\code{ProfitParticipation$createModification()}} -\item \href{#method-ProfitParticipation-getAdvanceProfitParticipation}{\code{ProfitParticipation$getAdvanceProfitParticipation()}} -\item \href{#method-ProfitParticipation-getAdvanceProfitParticipationAfterUnitCosts}{\code{ProfitParticipation$getAdvanceProfitParticipationAfterUnitCosts()}} -\item \href{#method-ProfitParticipation-setupRates}{\code{ProfitParticipation$setupRates()}} -\item \href{#method-ProfitParticipation-adjustRates}{\code{ProfitParticipation$adjustRates()}} -\item \href{#method-ProfitParticipation-getProfitParticipation}{\code{ProfitParticipation$getProfitParticipation()}} -\item \href{#method-ProfitParticipation-clone}{\code{ProfitParticipation$clone()}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-new"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-new}{}}} -\subsection{Method \code{new()}}{ -Create a new profit participation scheme -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$new(name = NULL, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{name}}{The name of the profit scheme (typicall the name of the profit plan and its version)} - -\item{\code{...}}{profit participation parameters to be stored in the -\verb{Parameters field or calculation functions to be stored in the }Functions` -field} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-setParameters"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-setParameters}{}}} -\subsection{Method \code{setParameters()}}{ -Store all passed parameters in the \code{Parameters} field -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$setParameters(...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{...}}{any of the named fields defined in the \code{ProfitParticipation} sublist of the -\link{InsuranceContract.ParameterStructure}. All other arguments will be ignored} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-setFunctions"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-setFunctions}{}}} -\subsection{Method \code{setFunctions()}}{ -Store all passed functions in the \code{Functions} field -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$setFunctions(...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{...}}{any of the functions defined in the \code{Functions} field. All other -arguments will be ignored} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-setFallbackParameters"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-setFallbackParameters}{}}} -\subsection{Method \code{setFallbackParameters()}}{ -Fill all missing parameters with the default fall-back values -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$setFallbackParameters()}\if{html}{\out{</div>}} -} - -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-createModification"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-createModification}{}}} -\subsection{Method \code{createModification()}}{ -create a copy of a profit scheme with certain parameters changed -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$createModification(name = NULL, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{name}}{The new name for the cloned \link{ProfitParticipation} object} - -\item{\code{...}}{Parameters for the \link{InsuranceContract.ParameterStructure}, -defining the characteristics of the tariff.} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-getAdvanceProfitParticipation"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-getAdvanceProfitParticipation}{}}} -\subsection{Method \code{getAdvanceProfitParticipation()}}{ -Calculate and return the advance profit participation (to be -applied on the actuarial gross premium) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$getAdvanceProfitParticipation(params, values, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (guaranteed component of the -insurance contract, including cash flows, premiums, reserves etc.).} - -\item{\code{...}}{optional parameters, to be passed to the advanceProfitParticipation -field of the parameter structure (if that is a function)} -} -\if{html}{\out{</div>}} -} -\subsection{Returns}{ -Return either one numerical value (constant for the whole premium payment period) -of a vector of numerical values for the whole contract period -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-getAdvanceProfitParticipationAfterUnitCosts"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-getAdvanceProfitParticipationAfterUnitCosts}{}}} -\subsection{Method \code{getAdvanceProfitParticipationAfterUnitCosts()}}{ -Calculate and return the advance profit participation (to be -applied after unit costs are added to the gross premium) -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$getAdvanceProfitParticipationAfterUnitCosts( - params, - values, - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (guaranteed component of the -insurance contract, including cash flows, premiums, reserves etc.).} - -\item{\code{...}}{optional parameters, to be passed to the advanceProfitParticipationInclUnitCost -field of the parameter structure (if that is a function)} -} -\if{html}{\out{</div>}} -} -\subsection{Returns}{ -Return either one numerical value (constant for the whole premium payment period) -of a vector of numerical values for the whole contract period -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-setupRates"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-setupRates}{}}} -\subsection{Method \code{setupRates()}}{ -Set up the data.frame containing the profit participation rates -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$setupRates(params, values, ...)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (guaranteed component of the -insurance contract, including cash flows, premiums, reserves etc.).} - -\item{\code{...}}{additional parameters passed to the profit calculation functions -stored in the \code{Functions} field.} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-adjustRates"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-adjustRates}{}}} -\subsection{Method \code{adjustRates()}}{ -Adjust the data.frame of profit participation rates after their setup -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$adjustRates(rates, params, values)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{rates}}{data.frame of profit paticipation rates} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (guaranteed component of the -insurance contract, including cash flows, premiums, reserves etc.).} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-getProfitParticipation"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-getProfitParticipation}{}}} -\subsection{Method \code{getProfitParticipation()}}{ -Calculation the full time series of profit participation for -the given contract values -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$getProfitParticipation( - calculateFrom = 0, - profitScenario = NULL, - params, - values, - ... -)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{calculateFrom}}{The time from which to start calculating the profit -participation. When a contract is changed at some time t (possibly even -changing the profit scheme), all future profit participation needs to be -re-calculated from that time on, without changing past profit participation. -All values before \code{calculateFrom} will not be calculated.} - -\item{\code{profitScenario}}{profit participation values from a previous calculation -(NULL if profit calculation is to be calculated from the contract inception). -Values before \code{calculateFrom} will be used from this data.frame.} - -\item{\code{params}}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{\code{values}}{Contract values calculated so far (guaranteed component of the -insurance contract, including cash flows, premiums, reserves etc.).} - -\item{\code{...}}{additional parameters to be passed to \href{../../LifeInsuranceContracts/html/ProfitParticipation.html#method-setupRates}{\code{ProfitParticipation$setupRates()}}} -} -\if{html}{\out{</div>}} -} -} -\if{html}{\out{<hr>}} -\if{html}{\out{<a id="method-ProfitParticipation-clone"></a>}} -\if{latex}{\out{\hypertarget{method-ProfitParticipation-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{<div class="r">}}\preformatted{ProfitParticipation$clone(deep = FALSE)}\if{html}{\out{</div>}} -} - -\subsection{Arguments}{ -\if{html}{\out{<div class="arguments">}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{</div>}} -} -} -} diff --git a/man/ProfitParticipationFunctions.Rd b/man/ProfitParticipationFunctions.Rd deleted file mode 100644 index c1d6db1..0000000 --- a/man/ProfitParticipationFunctions.Rd +++ /dev/null @@ -1,270 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/ProfitParticipation_Functions.R -\name{ProfitParticipationFunctions} -\alias{ProfitParticipationFunctions} -\alias{PP.base.NULL} -\alias{PP.base.PreviousZillmerReserve} -\alias{PP.base.ZillmerReserveT2} -\alias{PP.base.contractualReserve} -\alias{PP.base.previousContractualReserve} -\alias{PP.base.meanContractualReserve} -\alias{PP.base.ZillmerRiskPremium} -\alias{PP.base.sumInsured} -\alias{PP.base.totalProfitAssignment} -\alias{PP.rate.interestProfit} -\alias{PP.rate.riskProfit} -\alias{PP.rate.expenseProfit} -\alias{PP.rate.sumProfit} -\alias{PP.rate.terminalBonus} -\alias{PP.rate.terminalBonusFund} -\alias{PP.rate.interestProfitPlusGuarantee} -\alias{PP.rate.interestProfit2PlusGuarantee} -\alias{PP.rate.totalInterest} -\alias{PP.rate.totalInterest2} -\alias{PP.rate.interestProfit2} -\alias{getTerminalBonusReserve} -\alias{PP.calculate.RateOnBase} -\alias{PP.calculate.RateOnBaseMin0} -\alias{PP.calculate.RatePlusGuaranteeOnBase} -\alias{PP.calculate.RateOnBaseSGFFactor} -\alias{sumProfits} -\alias{PP.benefit.ProfitPlusTerminalBonusReserve} -\alias{PP.benefit.Profit} -\alias{PP.benefit.ProfitPlusGuaranteedInterest} -\alias{PP.benefit.ProfitPlusTotalInterest} -\alias{PP.benefit.ProfitPlusHalfTotalInterest} -\alias{PP.benefit.ProfitPlusHalfGuaranteedInterest} -\alias{PP.benefit.ProfitPlusInterestMinGuaranteeTotal} -\alias{PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal} -\alias{PP.benefit.ProfitGuaranteeSupporting} -\alias{PP.benefit.TerminalBonus5YearsProRata} -\alias{PP.benefit.TerminalBonus5Years} -\alias{PP.benefit.TerminalBonus} -\alias{PP.benefit.None} -\title{Helper functions for profit participation} -\usage{ -PP.base.NULL(rates, params, values, ...) - -PP.base.PreviousZillmerReserve(rates, params, values, ...) - -PP.base.ZillmerReserveT2(rates, params, values, ...) - -PP.base.contractualReserve(rates, params, values, ...) - -PP.base.previousContractualReserve(rates, params, values, ...) - -PP.base.meanContractualReserve(rates, params, values, ...) - -PP.base.ZillmerRiskPremium(rates, params, values, ...) - -PP.base.sumInsured(rates, params, values, ...) - -PP.base.totalProfitAssignment(res, ...) - -PP.rate.interestProfit(rates, ...) - -PP.rate.riskProfit(rates, ...) - -PP.rate.expenseProfit(rates, ...) - -PP.rate.sumProfit(rates, ...) - -PP.rate.terminalBonus(rates, ...) - -PP.rate.terminalBonusFund(rates, ...) - -PP.rate.interestProfitPlusGuarantee(rates, ...) - -PP.rate.interestProfit2PlusGuarantee(rates, ...) - -PP.rate.totalInterest(rates, ...) - -PP.rate.totalInterest2(rates, ...) - -PP.rate.interestProfit2(rates, ...) - -getTerminalBonusReserve( - profits, - rates, - terminalBonus, - terminalBonusAccount, - params, - values, - ... -) - -PP.calculate.RateOnBase(base, rate, waiting, rates, params, values, ...) - -PP.calculate.RateOnBaseMin0(base, rate, waiting, rates, params, values, ...) - -PP.calculate.RatePlusGuaranteeOnBase( - base, - rate, - waiting, - rates, - params, - values, - ... -) - -PP.calculate.RateOnBaseSGFFactor( - base, - rate, - waiting, - rates, - params, - values, - ... -) - -sumProfits(profits, cols) - -PP.benefit.ProfitPlusTerminalBonusReserve(profits, ...) - -PP.benefit.Profit(profits, ...) - -PP.benefit.ProfitPlusGuaranteedInterest(profits, rates, ...) - -PP.benefit.ProfitPlusTotalInterest(profits, rates, params, values) - -PP.benefit.ProfitPlusHalfTotalInterest(profits, ...) - -PP.benefit.ProfitPlusHalfGuaranteedInterest(profits, rates, ...) - -PP.benefit.ProfitPlusInterestMinGuaranteeTotal(profits, rates, ...) - -PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal(profits, rates, ...) - -PP.benefit.ProfitGuaranteeSupporting(profits, rates, params, values, ...) - -PP.benefit.TerminalBonus5YearsProRata(profits, params, ...) - -PP.benefit.TerminalBonus5Years(profits, params, ...) - -PP.benefit.TerminalBonus(profits, params, ...) - -PP.benefit.None(profits, ...) -} -\arguments{ -\item{rates}{data.frame of profit rates} - -\item{params}{Contract-specific, full set of parameters of the contract -(merged parameters of the defaults, the tariff, the profit participation -scheme and the contract)} - -\item{values}{Contract values calculated so far (guaranteed component of the -insurance contract, including cash flows, premiums, reserves etc.).} - -\item{...}{Other values that might be used for the calculation (currently unused)} - -\item{res}{the data.frame of reserves.} - -\item{profits}{The array of profit participation component values} - -\item{terminalBonus}{The terminal bonus calculated} - -\item{terminalBonusAccount}{The terminal bonus account (like a bank account, -where terminal bonuses are accrued, potentiall discounted from the maturity)} - -\item{base}{The profit calculation base, on which the rate is to be applied} - -\item{rate}{The profit participation rate} - -\item{waiting}{A possible waiting period} - -\item{cols}{The columns of the profit values array to be summed (columns given that do not exist in the profits array are ignired)} -} -\description{ -Various helper functions for the \code{ProfitParticipation} class that -provide the building blocks for the individual components of profit participation, -the rates and how the assigned profit is calculated. -} -\section{Functions}{ -\itemize{ -\item \code{PP.base.NULL()}: Basis for profit: NONE (i.e. always returns 0) - -\item \code{PP.base.PreviousZillmerReserve()}: Basis for profit: Previous Zillmer reserve (no administration cost reserve) - -\item \code{PP.base.ZillmerReserveT2()}: Basis for profit: Zillmer reserve (no administration cost reserve) at time t-2 - -\item \code{PP.base.contractualReserve()}: Basis for profit: Contractual reserve (including administration costs) at time t - -\item \code{PP.base.previousContractualReserve()}: Basis for profit: Contractual reserve (including administration costs) at time t-1 - -\item \code{PP.base.meanContractualReserve()}: Basis for profit: Contractual reserve (including administration costs) averaged over t and t-1 - -\item \code{PP.base.ZillmerRiskPremium()}: Basis for risk/mortality profit: Zillmer Risk Premium of the past year - -\item \code{PP.base.sumInsured()}: Basis for expense/sum profit: sum insured - -\item \code{PP.base.totalProfitAssignment()}: Basis for Terminal Bonus Fund Assignment: total profit assignment of the year - -\item \code{PP.rate.interestProfit()}: Returns the array of interest profit rates (keyed by year) - -\item \code{PP.rate.riskProfit()}: Returns the array of risk profit rates (keyed by year) - -\item \code{PP.rate.expenseProfit()}: Returns the array of expense profit rates (keyed by year) - -\item \code{PP.rate.sumProfit()}: Returns the array of sum profit rates (keyed by year) - -\item \code{PP.rate.terminalBonus()}: Returns the array of terminal bonus rates (keyed by year) - -\item \code{PP.rate.terminalBonusFund()}: Returns the array of terminal bonus rates (keyed by year) as the terminal bonus fund ratio - -\item \code{PP.rate.interestProfitPlusGuarantee()}: Rate for interest on past profits: total credited rate, but at least the guarantee - -\item \code{PP.rate.interestProfit2PlusGuarantee()}: Rate for interest on past profits: total creditedrate2, but at least the guarantee - -\item \code{PP.rate.totalInterest()}: Rate for interest on past profits: total interest rate - -\item \code{PP.rate.totalInterest2()}: Rate for interest on past profits: second total interest rate - -\item \code{PP.rate.interestProfit2()}: Rate for interest on past profits: second interest profit rate (not including guaranteed interest), keyed by year - -\item \code{getTerminalBonusReserve()}: Calculate the terminal bonus reserve. - -\item \code{PP.calculate.RateOnBase()}: Calculate profit by a simple rate applied on the basis (with an optional waiting vector of values 0 or 1) - -\item \code{PP.calculate.RateOnBaseMin0()}: Calculate profit by a simple rate applied on the basis (with an optional waiting vector of values 0 or 1), bound below by 0 - -\item \code{PP.calculate.RatePlusGuaranteeOnBase()}: Calculate profit by a rate + guaranteed interest applied on the basis (with an optional waiting vector of values 0 or 1) - -\item \code{PP.calculate.RateOnBaseSGFFactor()}: Calculate profit by a simple rate applied on the basis (with only (1-SGFFactor) put into profit participation, and an optional waiting vector of values 0 or 1) - -\item \code{sumProfits()}: Extract the given columns of the profit participation array of values and sum -them up. Columns that do not exist, because the profit scheme does not -provide the corresponding profit component will be silently ignored. -This allows generic benefit calculation functions to be written that do -not need to distinguish e.g. whether an old-style terminal bonus or a terminal -bonus fund is provided. - -This function is not meant to be called directly, but within a profit benefit -calculation function. - -\item \code{PP.benefit.ProfitPlusTerminalBonusReserve()}: Calculate survival benefit as total profit amount plus the terminal bonus reserve - -\item \code{PP.benefit.Profit()}: Calculate benefit as total profit accrued so far - -\item \code{PP.benefit.ProfitPlusGuaranteedInterest()}: Calculate accrued death benefit as total profit with (guaranteed) interest for one year - -\item \code{PP.benefit.ProfitPlusTotalInterest()}: Calculate accrued death benefit as total profit with total interest (interest on profit rate) for one year - -\item \code{PP.benefit.ProfitPlusHalfTotalInterest()}: Calculate accrued benefit as total profit with total interest (interest on profit rate) for half a year - -\item \code{PP.benefit.ProfitPlusHalfGuaranteedInterest()}: Calculate death benefit as total profit with (guaranteed) interest for one year - -\item \code{PP.benefit.ProfitPlusInterestMinGuaranteeTotal()}: Calculate accrued benefit as total profit with interest for one year (max of guarantee and total interest) - -\item \code{PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal()}: Calculate accrued benefit as total profit with interest for half a year (max of guarantee and total interest) - -\item \code{PP.benefit.ProfitGuaranteeSupporting()}: Calculate accrued benefit as regular profit, but used to cover initial Zillmerization - -\item \code{PP.benefit.TerminalBonus5YearsProRata()}: Calculate benefit from terminal bonus as 1/n parts of the terminal bonus reserve during the last 5 years - -\item \code{PP.benefit.TerminalBonus5Years()}: Terminal bonus is only paid out during the last 5 years of the contract (but never during the first 10 years) - -\item \code{PP.benefit.TerminalBonus()}: Calculate benefit from terminal bonus (full bonus), either old-style terminal bonus reserve or Terminal Bonus Fund (TBF) - -\item \code{PP.benefit.None()}: No benefit paid out - -}} diff --git a/man/SexSingleEnum-class.Rd b/man/SexSingleEnum-class.Rd deleted file mode 100644 index 8d28e94..0000000 --- a/man/SexSingleEnum-class.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\docType{class} -\name{SexSingleEnum-class} -\alias{SexSingleEnum-class} -\alias{SexEnum} -\title{Enum to describe possible sexes in an insurance contract or tariff.} -\description{ -Enum to describe possible sexes in an insurance contract or tariff. -} -\details{ -Currently, the only possible values are: -\itemize{ -\item "unisex" -\item "male" -\item "female" -} -} diff --git a/man/TariffTypeSingleEnum-class.Rd b/man/TariffTypeSingleEnum-class.Rd deleted file mode 100644 index 36a4539..0000000 --- a/man/TariffTypeSingleEnum-class.Rd +++ /dev/null @@ -1,32 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceTarif.R -\docType{class} -\name{TariffTypeSingleEnum-class} -\alias{TariffTypeSingleEnum-class} -\alias{TariffTypeEnum} -\title{An enum specifying the main characteristics of the tarif.} -\description{ -Possible values are: -\describe{ -\item{annuity}{Whole life or term annuity (periodic survival benefits) -with flexible payouts (constand, increasing, decreasing, arbitrary, -etc.)} -\item{wholelife}{A whole or term life insurance with only death benefits. -The benefit can be constant, increasing, decreasing, described by -a function, etc.} -\item{endowment}{An endowment with death and survival benefits, -potentially with different benefits.} -\item{pureendowment}{A pure endowment with only a survival benefit at -the end of the contract. Optionally, in case of death, all or part -of the premiums paid may be refunded.} -\item{terme-fix}{A terme-fix insurance with a fixed payout at the end -of the contract, even if the insured dies before that time. -Premiums are paid until death of the insured.} -\item{dread-disease}{A dread-disease insurance, which pays in case of -a severe illness (typically heart attacks, cancer, strokes, etc.), -but not in case of death.} -\item{endowment + dread-disease}{A combination of an endowment and a -temporary dread-disease insurance. Benefits occur either on death, -severe illness or survival, whichever comes first.} -} -} diff --git a/man/age.exactRounded.Rd b/man/age.exactRounded.Rd deleted file mode 100644 index 71ae22f..0000000 --- a/man/age.exactRounded.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{age.exactRounded} -\alias{age.exactRounded} -\title{Calculate the age of the insured based on exact age at contract closing, rounded -to the nearest birthday.} -\usage{ -age.exactRounded(params, values) -} -\arguments{ -\item{params}{The parameters of the contract.} - -\item{values}{Unused by default (already calculated values of the contract)} -} -\description{ -Calculate the age of the insured based on exact age at contract closing, rounded -to the nearest birthday. -} diff --git a/man/age.yearDifference.Rd b/man/age.yearDifference.Rd deleted file mode 100644 index b972916..0000000 --- a/man/age.yearDifference.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{age.yearDifference} -\alias{age.yearDifference} -\title{Calculate the age of the insured based on the difference of the bith year and -contract closing year.} -\usage{ -age.yearDifference(params, values) -} -\arguments{ -\item{params}{The parameters of the contract.} - -\item{values}{Unused by default (already calculated values of the contract)} -} -\description{ -Calculate the age of the insured based on the difference of the bith year and -contract closing year. -} diff --git a/man/applyHook.Rd b/man/applyHook.Rd deleted file mode 100644 index e1e336d..0000000 --- a/man/applyHook.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{applyHook} -\alias{applyHook} -\title{If \code{hook} is a function, apply it to \code{val}, otherwise return \code{val} unchanged} -\usage{ -applyHook(hook, val, ...) -} -\arguments{ -\item{hook}{(optional) function to apply to \code{val} and the other parameters} - -\item{val}{The value to which the hook is applied (ifgiven)} - -\item{...}{optional parameters passed to the hook function (if it is a function)} -} -\description{ -If \code{hook} is a function, apply it to \code{val}, otherwise return \code{val} unchanged -} -\examples{ -applyHook(NULL, 3) # returns 3 unchanged -applyHook(function(x) 2*x, 3) # applies the function, returns 6 -applyHook(`+`, 3, 1) # returns 4 -} diff --git a/man/contractGrid.Rd b/man/contractGrid.Rd deleted file mode 100644 index 43967b7..0000000 --- a/man/contractGrid.Rd +++ /dev/null @@ -1,80 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/contractGrid.R -\name{contractGrid} -\alias{contractGrid} -\alias{contractGridPremium} -\title{Create a grid of InsuranceContract objects or premiums with each axis representing one varying parameter} -\usage{ -contractGrid( - axes = list(age = seq(20, 60, 10), policyPeriod = seq(5, 35, 5)), - YOB = NULL, - observationYear = NULL, - ... -) - -contractGridPremium( - contractGrid = NULL, - premium = "written", - .fun = function(cntr) { - cntr$Values$premiums[[premium]] - }, - ... -) -} -\arguments{ -\item{axes}{List of paramters spanning the dimensions of the grid.} - -\item{YOB}{optional year of bith. If missing, the \code{observationYear} and the contract's age} - -\item{observationYear}{The observation year, for which the grid shall be calculated. If given, the YOB is calculated from it, otherwise the contract's YOB is used} - -\item{...}{In \code{contractGrid}: Additional parameters to be passed to \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}}; In \code{contractGridPremium}: Additional parameters to be passed to \code{contractGrid}.} - -\item{contractGrid}{(optional) existing contract grid from which to derive -premiums. If not given, \link{contractGrid} is called with all parameters, so -\code{...} should contain an \code{axes} argument in that case.} - -\item{premium}{The type of premium to derive (key of the \code{contract$Values$premiums} list.} - -\item{.fun}{The function to extract the desired premium from a contract -object. By default it accesses the premium vector and extracts the -type of premium given in the \code{premium} parameter. One can, -however pass any other extractor function to access e.g. reserves, -cash flows etc. at any desired time.} -} -\description{ -The function \code{contractGrid} creates a (two- or multi-dimensional) grid -of InsuranceContract objects, where each axis represents one of the insurance -parameters varying as given in the \code{axes} argument (as a named list). - -The function \code{contractGridPremium} returns a grid of premiums as requested in -the \code{premium} parameter rather than the full InsuranceContract objects. -It is a convenience wrapper around \code{contractGrid} and is recommended if -one is only interested in a grid of one particular value (typically some -kind of premium). -The function \code{contractGridPremium} can also be used on an existing -\code{contractGrid}-generated grid of contracts to extract grid of numerical -values of the specified premiums. If no contract grid is passed to -\code{contractGridPremium}, \code{contractGrid} will be called to create it. -} -\details{ -The function \code{contractGrid} will return the full \link{InsuranceContract} -objects, so apply can later be used to extract premiums, reserves and other -values to display in a grid. For this feature, one can also use the convenience -function \code{contractGridPremium}. - -The \code{axes} list describing the parameters changing along the axes of the -resulting grid is internally expanded with \code{\link[=expand.grid]{expand.grid()}}. The resulting flat -list of parameter (together with the fixed parameters passed as \code{...}) -is then passed to the \ifelse{html}{\href{../../LifeInsuranceContracts/html/InsuranceContract.html#method-new}{\code{InsuranceContract$new()}}}{\code{InsuranceContract$new()()}} call to create the corresponding -contract object. - -To create the human-readable row-/columnnames of the resulting array, -the function \code{\link[=makeContractGridDimname]{makeContractGridDimname()}} for each value of the axes, allowing -human-readable representations e.g. of a tariff or a mortality table as -the dimension label. -} -\examples{ -# TODO - -} diff --git a/man/costValuesAsDF.Rd b/man/costValuesAsDF.Rd deleted file mode 100644 index babe964..0000000 --- a/man/costValuesAsDF.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/exportInsuranceContract_xlsx.R -\name{costValuesAsDF} -\alias{costValuesAsDF} -\title{Convert the multi-dimensional costs array to a data.frame for output to a file} -\usage{ -costValuesAsDF(costValues) -} -\arguments{ -\item{costValues}{Cost definition data structure} -} -\description{ -Convert the cost values array to a tx15 matrix -} -\details{ -Not to be called directly, but implicitly by the \link{InsuranceContract} object. -Convert the array containing cost values like cashflows, present -values, etc. (objects of dimension tx5x3) to a matrix with dimensions (tx15) -} diff --git a/man/costs.baseAlpha.Rd b/man/costs.baseAlpha.Rd deleted file mode 100644 index 63cca08..0000000 --- a/man/costs.baseAlpha.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{costs.baseAlpha} -\alias{costs.baseAlpha} -\title{Helper function to define base costs with base alpha, but otherwise unchanged costs} -\usage{ -costs.baseAlpha(alpha) -} -\arguments{ -\item{alpha}{The minimum alpha / Zillmer cost that cannot be waived} -} -\description{ -Returns a function that sets base alpha (and Zillmer) costs to the given value, -but otherwise uses the full costs defined by the Costs parameter. -} -\details{ -This function can be set as minCosts parameter for a tariff and makes sure -that only alpha costs are modified / waived, but no other costs. -} diff --git a/man/costs.scaleAlpha.Rd b/man/costs.scaleAlpha.Rd deleted file mode 100644 index 36e3ff2..0000000 --- a/man/costs.scaleAlpha.Rd +++ /dev/null @@ -1,20 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{costs.scaleAlpha} -\alias{costs.scaleAlpha} -\title{Helper function to modify alpha costs of an insurance contract individually} -\usage{ -costs.scaleAlpha(scale) -} -\arguments{ -\item{scale}{The scale for alpha / Zillmer cost} -} -\description{ -Returns a function that modifies alpha (and Zillmer) costs by the given scale, -but otherwise uses the full costs defined by the Costs parameter. -} -\details{ -This function can be set as adjustCosts or adjustMinCosts hook parameters -for a tariff or contract and can be used to apply cost adjustments on a -per-contract basis. -} diff --git a/man/costsDisplayTable.Rd b/man/costsDisplayTable.Rd deleted file mode 100644 index 684111c..0000000 --- a/man/costsDisplayTable.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{costsDisplayTable} -\alias{costsDisplayTable} -\title{Helper function to display all cost definitions in a concise table} -\usage{ -costsDisplayTable(costs) -} -\arguments{ -\item{costs}{The cost structure to be displayed in a concise table style.} -} -\description{ -Returns a data.frame with columns -} diff --git a/man/deathBenefit.annuityDecreasing.Rd b/man/deathBenefit.annuityDecreasing.Rd deleted file mode 100644 index 8eb7ac1..0000000 --- a/man/deathBenefit.annuityDecreasing.Rd +++ /dev/null @@ -1,31 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{deathBenefit.annuityDecreasing} -\alias{deathBenefit.annuityDecreasing} -\title{Describes the death benefit of a decreasing whole life insurance (after a possible deferall period)} -\usage{ -deathBenefit.annuityDecreasing(interest) -} -\arguments{ -\item{interest}{The interest rate of the loan, which is underlying the insurance.} -} -\description{ -The death benefit will be the full sumInsured for the first year after the -deferral period and then decrease like an annuity to 0 at the end of the policyPeriod. -This can be used with the \code{deathBenefit} parameter for insurance -contracts, but should not be called directly. -} -\details{ -This function is a mere generator function, which takes the interest rate and -generates a function that describes a decreasing annuity. - -The generated function has the following parameters: -\describe{ -\item{len}{The desired length of the Cash flow vector (can be shorter than -the policyPeriod, if q_x=1 before the end of the contract, e.g. -for life-long insurances)} -\item{params}{The full parameter set of the insurance contract (including -all inherited values from the tariff and the profit participation)} -\item{values}{The values calculated from the insurance contract so far} -} -} diff --git a/man/deathBenefit.linearDecreasing.Rd b/man/deathBenefit.linearDecreasing.Rd deleted file mode 100644 index b4f84ee..0000000 --- a/man/deathBenefit.linearDecreasing.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{deathBenefit.linearDecreasing} -\alias{deathBenefit.linearDecreasing} -\title{Describes the death benefit of a linearly decreasing whole life insurance (after a possible deferall period)} -\usage{ -deathBenefit.linearDecreasing(len, params, values) -} -\arguments{ -\item{len}{The desired length of the Cash flow vector (can be shorter than -the policyPeriod, if q_x=1 before the end of the contract, e.g. -for life-long insurances)} - -\item{params}{The full parameter set of the insurance contract (including -all inherited values from the tariff and the profit participation)} - -\item{values}{The values calculated from the insurance contract so far} -} -\description{ -The death benefit will be the full sumInsured for the first year after the -deferral period and then decrease linearly to 0 at the end of the policyPeriod. -This can be used with the \code{deathBenefit} parameter for insurance -contracts, but should not be called directly. -} diff --git a/man/exportInsuranceContract.xlsx.Rd b/man/exportInsuranceContract.xlsx.Rd deleted file mode 100644 index 7dad96f..0000000 --- a/man/exportInsuranceContract.xlsx.Rd +++ /dev/null @@ -1,41 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/exportInsuranceContract_xlsx.R -\name{exportInsuranceContract.xlsx} -\alias{exportInsuranceContract.xlsx} -\title{Export an insurance act object tocontract (object of class \link{InsuranceContract}) to an Excel file} -\usage{ -exportInsuranceContract.xlsx(contract, filename) -} -\arguments{ -\item{contract}{The insurance contract to export} - -\item{filename}{Target Excel filename for export} -} -\description{ -Export an insurance act object tocontract (object of class \link{InsuranceContract}) to an Excel file -} -\details{ -The function \code{exportInsuranceContract.xlsx} exports an object -of class \link{InsuranceContract} to an Excel file. All basic data, as well as -the time series of (absolute and unit) cash flows, reserves, premiums, premium -composition and all profit participation scenarios are exported to the file -in nicely looking tables. - -No new calculations are done in this function. It only prints out the values -stored in \code{contract$Values}. -} -\examples{ -library("MortalityTables") -mortalityTables.load("Austria_Annuities_AVOe2005R") -# A trivial deferred annuity tariff with no costs: -tariff = InsuranceTarif$new(name = "Test Annuity", type = "annuity", tarif = "Annuity 1A", - mortalityTable = AVOe2005R.unisex, i=0.01) -contract = InsuranceContract$new( - tariff, - age = 35, YOB = 1981, - policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, - sumInsured = 1000, - contractClosing = as.Date("2016-10-01") -); -\dontrun{exportInsuranceContract.xlsx(contract, "Example_annuity_contract.xlsx")} -} diff --git a/man/exportInsuranceContractExample.Rd b/man/exportInsuranceContractExample.Rd deleted file mode 100644 index f8a59be..0000000 --- a/man/exportInsuranceContractExample.Rd +++ /dev/null @@ -1,65 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/exportInsuranceContractExample.R -\name{exportInsuranceContractExample} -\alias{exportInsuranceContractExample} -\title{Export the example calculations of an insurance contract} -\usage{ -exportInsuranceContractExample( - contract, - prf = 10, - outdir = ".", - basename = NULL, - extraname = NULL, - ... -) -} -\arguments{ -\item{contract}{The \code{\link{InsuranceContract}} object to be exported} - -\item{prf}{The time of the premium waiver} - -\item{outdir}{The output directory (the file names are not configurable)} - -\item{basename}{The base output filename (sans .xlsx). If missing, a name of -the form 2020-08-01_TARIFNAME_EXTRANAME_RZ0.01_x35_YoB1977_LZ45_PrZ20_VS100000 -is used. If given, the main contract without modification will be -exported to basename.xlsx, while the example with premium waiver will be -exported to basename_PremiumWaiver_t10.xlsx and the text file containing -the examples required by the LV-VMGV is exported to basename_VmGlg.txt.} - -\item{extraname}{If basename is not given, this allows a suffix to distinguish -multiple exports.} - -\item{...}{Further parameters (passed on to \code{\link{showVmGlgExamples}})} -} -\description{ -Export the given contract to excel (full history/timeseries of all cash -flows, reserves, premiums, etc.) and to a text file (sample calculation -required by the Austrian regulation). -} -\details{ -Three output files are generated: -\itemize{ -\item {DATE}_{TARIFF}_Example.xlsx: Full history/timeseries -\item {DATE}_{TARIFF}_Example_PremiumWaiver_t10.xlsx: Full history/timeseries -after a premium waiver at the given time \code{prf} -\item {DATE}_{TARIFF}_Examples_VmGlg.txt: Example calculation required for the -Austrian regulation (LV-VMGLV) -} -} -\examples{ -library("MortalityTables") -mortalityTables.load("Austria_Annuities_AVOe2005R") -# A trivial deferred annuity tariff with no costs: -tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", tarif = "Annuity 1A", - mortalityTable = AVOe2005R.unisex, i=0.01) -contract = InsuranceContract$new( - tariff, - age = 35, YOB = 1981, - policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, - sumInsured = 1000, - contractClosing = as.Date("2016-10-01") -); -\dontrun{exportInsuranceContractExample(contract, prf = 10)} - -} diff --git a/man/fallbackFields.Rd b/man/fallbackFields.Rd deleted file mode 100644 index 6cde187..0000000 --- a/man/fallbackFields.Rd +++ /dev/null @@ -1,18 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{fallbackFields} -\alias{fallbackFields} -\title{Replace missing values in ields by default fallback values} -\usage{ -fallbackFields(fields, valuelist) -} -\arguments{ -\item{fields}{existing list} - -\item{valuelist}{list of fields to replace in \code{fields}. Only keys that are missing in \code{fields} are added, no existing fields in \code{fields} are overwritten} -} -\description{ -Replace all missing values in fields (either missing or NA) with -their corresponding values from fallback. Members in fallback that are missing -in fields are inserted -} diff --git a/man/fillFields.Rd b/man/fillFields.Rd deleted file mode 100644 index 3845bfd..0000000 --- a/man/fillFields.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{fillFields} -\alias{fillFields} -\title{Overwrite all existing fields with default values given} -\usage{ -fillFields(fields, valuelist) -} -\arguments{ -\item{fields}{existing list} - -\item{valuelist}{list of fields to replace in \code{fields}. Only keys that exist in \code{fields} are overwritten, no new fields are added to \code{fields}} -} -\description{ -Overwrite all existing fields in the first argument with -values given in valuelist. Members of valuelist that are not yet in -fields are ignored. This allows a huge valuelist to be used to fill -fields in multiple lists with given structure. -} diff --git a/man/fillNAgaps.Rd b/man/fillNAgaps.Rd deleted file mode 100644 index c330f85..0000000 --- a/man/fillNAgaps.Rd +++ /dev/null @@ -1,29 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{fillNAgaps} -\alias{fillNAgaps} -\title{Replace all \code{NA} entries of a vector with the previous non-NA value} -\usage{ -fillNAgaps(x, firstBack = FALSE) -} -\arguments{ -\item{x}{The vector where NA-values should be filled by repeating the last preceeding non-NA value} - -\item{firstBack}{if \code{TRUE}, leading NAs are replaced by the first non-NA -value in the vector, otherwise leading NAs are left untouched.} -} -\description{ -Sometimes one has a vector with some gaps (\code{NA}) values, which cause -problems for several numeric functions. This function \code{fillNAgaps} fills -these missing values by inserting the last preceeding non-NA-value. Leading -NA values (at the start of the vector will not be modified). If the -argument \code{firstBack = TRUE}, leading \code{NA}-values are replaced by -the first non-NA value. -Trailing NAs are always replaced by the last previous NA-value. -} -\details{ -This code was taken from the R Cookbook: -http://www.cookbook-r.com/Manipulating_data/Filling_in_NAs_with_last_non-NA_value/ -LICENSE (from that page): The R code is freely available for use without any restrictions. -In other words: you may reuse the R code for any purpose (and under any license). -} diff --git a/man/filterProfitRates.Rd b/man/filterProfitRates.Rd deleted file mode 100644 index b6a8b26..0000000 --- a/man/filterProfitRates.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/ProfitParticipation.R -\name{filterProfitRates} -\alias{filterProfitRates} -\title{Filter the whole data.frame of profit rates for the given profit classes} -\usage{ -filterProfitRates(rates, classes) -} -\arguments{ -\item{rates}{data.frame containing all profit rates for multiple profit classes} - -\item{classes}{the profit classes, for which rates should be extracted} -} -\description{ -This is a rather trivial helper function, which just calls \code{\link[dplyr:filter]{dplyr::filter()}}. -} diff --git a/man/freqCharge.Rd b/man/freqCharge.Rd deleted file mode 100644 index cdf33b5..0000000 --- a/man/freqCharge.Rd +++ /dev/null @@ -1,38 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{freqCharge} -\alias{freqCharge} -\title{Defines a frequency charge (surcharge for monthly/quarterly/semiannual) premium payments} -\usage{ -freqCharge(monthly = 0, quarterly = 0, semiannually = 0, yearly = 0) -} -\arguments{ -\item{monthly}{Surcharge for monthly premium payments} - -\item{quarterly}{Surcharge for quarterly premium payments} - -\item{semiannually}{Surcharge for semi-annual premium payments} - -\item{yearly}{Surcharge for yearly premium payments (optiona, default is no surcharge)} -} -\description{ -Tariffs are typically calculated with yearly premium installments. When -premiums are paid more often then one a year (in advance), the insurance -receives part of the premium later (or not at all in case of death), so a -surcharge for premium payment frequencies higher than yearly is applied to -the premium, typically in the form of a percentage of the premium. - -This function generates the internal data structure to define surcharges for -monthly, quarterly and semiannual premium payments. The given surcharges can -be either given as percentage points (e.g. 1.5 means 1.5\% = 0.015) or as -fractions of 1 (i.e. 0.015 also means 1.5\% surcharge). The heuristics applied -to distinguish percentage points and fractions is that all values larger than 0.1 -are understood as percentage points and values 0.1 and lower are understood -as fractions of 1. -As a consequence, a frequency charge of 10\% or more MUST be given as percentage points. - -Currently, the frequency charges are internally represented as a named list, -\code{list("1" = 0, "2" = 0.01, "4" = 0.02, "12" = 0.03)}, but that might -change in the future, so it is advised to use this function rather than -explicitly using the named list in your code. -} diff --git a/man/head0.Rd b/man/head0.Rd deleted file mode 100644 index a71e9cb..0000000 --- a/man/head0.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{head0} -\alias{head0} -\title{Set all entries of the given vector to 0 up until index 'start'} -\usage{ -head0(v, start = 0, value.start = 0) -} -\arguments{ -\item{v}{the vector to modify} - -\item{start}{how many leading elements to zero out} - -\item{value.start}{the value to insert before the start index.} -} -\value{ -the vector \code{v} with the first \code{start} elements replaced by 0. -} -\description{ -Set all entries of the given vector to 0 up until index 'start' -} -\examples{ -head0(1:10, 3) -} diff --git a/man/initializeCosts.Rd b/man/initializeCosts.Rd deleted file mode 100644 index 372e325..0000000 --- a/man/initializeCosts.Rd +++ /dev/null @@ -1,93 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{initializeCosts} -\alias{initializeCosts} -\title{Initialize or modify a data structure for the definition of \link{InsuranceTarif} costs} -\usage{ -initializeCosts( - costs, - alpha, - Zillmer, - alpha.commission, - beta, - gamma, - gamma.paidUp, - gamma.premiumfree, - gamma.contract, - gamma.afterdeath, - gamma.fullcontract, - unitcosts, - unitcosts.PolicyPeriod -) -} -\arguments{ -\item{costs}{(optional) existing cost structure to duplicate / use as a starting point} - -\item{alpha}{Alpha costs (charged once, relative to sum of premiums)} - -\item{Zillmer}{Zillmer costs (charged once, relative to sum of premiums)} - -\item{alpha.commission}{Alpha costs (charged during the commission period, -relative to sum of premiums; Use the \code{commissionPeriod} -and \code{alphaCostsCommission} contract parameters -to set the length of the commission period and whether -the \code{alpha.commission} val´ue is understood as yearly -cost or the sum or present value of the commission -charges over the whole commission period)} - -\item{beta}{Collection costs (charged on each gross premium, relative to gross premium)} - -\item{gamma}{Administration costs while premiums are paid (relative to sum insured)} - -\item{gamma.paidUp}{Administration costs for paid-up contracts (relative to sum insured)} - -\item{gamma.premiumfree}{Administration costs for planned premium-free period (reltaive to sum insured)} - -\item{gamma.contract}{Administration costs for the whole contract period (relative to sum insured)} - -\item{gamma.afterdeath}{Administration costs after the insured person has dies (for term-fix insurances)} - -\item{gamma.fullcontract}{Administration costs for the full contract period, -even if the insured has already dies (for term-fix insurances)} - -\item{unitcosts}{Unit costs (absolute monetary amount, during premium period)} - -\item{unitcosts.PolicyPeriod}{Unit costs (absolute monetary amount, during full contract period)} -} -\description{ -Initialize a cost matrix with dimensions: {CostType, Basis, Period}, where: -\describe{ -\item{CostType:}{alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts} -\item{Basis:}{SumInsured, SumPremiums, GrossPremium, NetPremium, Benefits, Constant} -\item{Period:}{once, PremiumPeriod, PremiumFree, PolicyPeriod, CommissionPeriod} -} -This cost structure can then be modified for non-standard costs using the \code{\link[=setCost]{setCost()}} function. -The main purpose of this structure is to be passed to \link{InsuranceContract} or -\link{InsuranceTarif} definitions. -} -\examples{ -# empty cost structure (only 0 costs) -initializeCosts() - -# the most common cost types can be given in initializeCosts() -initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.001) - -# The same cost structure manually -costs.Bsp = initializeCosts(); -costs.Bsp[["alpha", "SumPremiums", "once"]] = 0.04; -costs.Bsp[["Zillmer", "SumPremiums", "once"]] = 0.025; -costs.Bsp[["beta", "GrossPremium", "PremiumPeriod"]] = 0.05; -costs.Bsp[["gamma", "SumInsured", "PolicyPeriod"]] = 0.001; - -# The same structure using the setCost() function: -library(magrittr) -costs.Bsp = initializeCosts() \%>\% - setCost("alpha", "SumPremiums", "once", 0.04) \%>\% - setCost("Zillmer", "SumPremiums", "once", 0.025) \%>\% - setCost("beta", "GrossPremium", "PremiumPeriod", 0.05) \%>\% - setCost("gamma", "SumInsured", "PolicyPeriod", 0.001) - - - - -} diff --git a/man/isRegularPremiumContract.Rd b/man/isRegularPremiumContract.Rd deleted file mode 100644 index f204dba..0000000 --- a/man/isRegularPremiumContract.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{isRegularPremiumContract} -\alias{isRegularPremiumContract} -\title{Determine whether a contract (given all parameters) is a contract with regular premiums} -\usage{ -isRegularPremiumContract(params, values) -} -\arguments{ -\item{params}{The parameters of the contract.} - -\item{values}{Unused by default (already calculated values of the contract)} -} -\description{ -Regular premium contracts are identified by the parameter \code{premiumPeriod > 1}. -} diff --git a/man/isSinglePremiumContract.Rd b/man/isSinglePremiumContract.Rd deleted file mode 100644 index b69cc80..0000000 --- a/man/isSinglePremiumContract.Rd +++ /dev/null @@ -1,16 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{isSinglePremiumContract} -\alias{isSinglePremiumContract} -\title{Determine whether a contract (given all parameters) is a single-premium contract or with regular premiums} -\usage{ -isSinglePremiumContract(params, values) -} -\arguments{ -\item{params}{The parameters of the contract.} - -\item{values}{Unused by default (already calculated values of the contract)} -} -\description{ -Single premium contracts are identified by the parameter \code{premiumPeriod = 1}. -} diff --git a/man/makeContractGridDimname.Rd b/man/makeContractGridDimname.Rd deleted file mode 100644 index b09d322..0000000 --- a/man/makeContractGridDimname.Rd +++ /dev/null @@ -1,47 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/contractGrid.R -\name{makeContractGridDimname} -\alias{makeContractGridDimname} -\alias{makeContractGridDimnames} -\title{Create human-readable labels for the dimensions in a \code{\link[=contractGrid]{contractGrid()}}} -\usage{ -makeContractGridDimname(value) - -makeContractGridDimnames(axes) -} -\arguments{ -\item{value}{the value along the axis, for which a name should be generated} - -\item{axes}{the axes with all names, for which a name should be generated} -} -\description{ -The function \code{makeContractGridDimname} generates a short, human-readable -dimension label for the entries along the axes of a \code{\link[=contractGrid]{contractGrid()}}. -The default is to use the \code{value} unchanged as the row-/columnname, but -for some parameter values (like a \link{InsuranceTarif} or \link{mortalityTable}) -a custom method of this function is needed to create the (short) human-readable -representation for the axes in the grid. - -The function \code{makeContractGridDimnames} generate proper -dimnames for all entries of the axes of a \code{\link[=contractGrid]{contractGrid()}} by calling -\code{makeContractGridDimname} on each of the axes' values -} -\section{Functions}{ -\itemize{ -\item \code{makeContractGridDimname()}: Create a short, human-readable dimensional name for an object (default S3 method) - -\item \code{makeContractGridDimnames()}: Generate proper dimnames for all entries of the axes of a \code{\link[=contractGrid]{contractGrid()}} - -}} -\examples{ -library(MortalityTables) -mortalityTables.load("Austria_Census") - -makeContractGridDimname(mort.AT.census.2011.unisex) - -makeContractGridDimnames(axes = list( - age = seq(30,60,10), - mortalityTable = c(mort.AT.census.2011.unisex, mort.AT.census.2011.male, - mort.AT.census.2011.female)) -) -} diff --git a/man/pad0.Rd b/man/pad0.Rd deleted file mode 100644 index 5bba7c9..0000000 --- a/man/pad0.Rd +++ /dev/null @@ -1,39 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{pad0} -\alias{pad0} -\title{Pad a vector with 0 to a desired length} -\usage{ -pad0(v, l, value = 0, start = 0, value.start = 0) -} -\arguments{ -\item{v}{the vector to pad with 0} - -\item{l}{the desired (resulting) length of the vector} - -\item{value}{the value to pad with (if padding is needed). Default to 0, but -can be overridden to pad with any other value.} - -\item{start}{the first \code{start} values are always set to 0 (default is 0, -can be changed using the \code{value.start} argument), -the vector \code{v} starts only after these leading zeroes. The number of -leading zeroes counts towards the desired length} - -\item{value.start}{the value to insert before the start index.} -} -\value{ -returns the vector \code{v} padded to length \code{l} with value \code{value} (default 0). -} -\description{ -Pad a vector with 0 to a desired length -} -\examples{ -pad0(1:5, 7) # Pad to length 7 with zeroes -pad0(1:5, 3) # no padding, but cut at length 3 - -# 3 leading zeroes, then the vector start (10 elements of vector, no additional padding needed): -pad0(1:10, 13, start = 3) - -# padding with value other than zero: -pad0(1:5, 7, value = "pad") -} diff --git a/man/padLast.Rd b/man/padLast.Rd deleted file mode 100644 index 7997f18..0000000 --- a/man/padLast.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{padLast} -\alias{padLast} -\title{Pad the vector \code{v} to length \code{l} by repeating the last entry of the -vector.} -\usage{ -padLast(v, ...) -} -\arguments{ -\item{v}{the vector to pad by repeating the last element} - -\item{...}{arguments passed through to \code{pad0}} -} -\description{ -This function is just a trivial wrapper around \code{pad0} and only calls \code{\link[=pad0]{pad0()}} -with the last element of the vector as padding value instead of the default 0. -} -\examples{ -padLast(1:5, 7) # 5 is repeated twice -padLast(1:5, 3) # no padding needed - -} diff --git a/man/premiumRefundPeriod.default.Rd b/man/premiumRefundPeriod.default.Rd deleted file mode 100644 index 6b04c52..0000000 --- a/man/premiumRefundPeriod.default.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{premiumRefundPeriod.default} -\alias{premiumRefundPeriod.default} -\title{Default premium refund period: for deferred contracts the deferral period, otherwise the whole contract} -\usage{ -premiumRefundPeriod.default(params, values) -} -\arguments{ -\item{params}{The full parameter set of the insurance contract (including -all inherited values from the tariff and the profit participation)} - -\item{values}{The values calculated from the insurance contract so far} -} -\description{ -If a premium refund is set for the tariff, the default is the full contract -period, except for deferred contracts (typically deferred life annuities), -for which the deferral period is the refund period. -} diff --git a/man/rollingmean.Rd b/man/rollingmean.Rd deleted file mode 100644 index de7fe20..0000000 --- a/man/rollingmean.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{rollingmean} -\alias{rollingmean} -\title{Calculate the rolling mean of length 2} -\usage{ -rollingmean(x) -} -\arguments{ -\item{x}{vector of values, for which the rolling mean is calculated} -} -\description{ -Calculate the rolling mean of length 2 -} -\examples{ -rollingmean(1:10) -} diff --git a/man/setCost.Rd b/man/setCost.Rd deleted file mode 100644 index 840e7ad..0000000 --- a/man/setCost.Rd +++ /dev/null @@ -1,44 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/InsuranceParameters.R -\name{setCost} -\alias{setCost} -\title{Update one component of an \link{InsuranceTarif}'s cost structure} -\usage{ -setCost(costs, type, basis = "SumInsured", frequency = "PolicyPeriod", value) -} -\arguments{ -\item{costs}{The cost definition matrix (usually created by \code{\link[=initializeCosts]{initializeCosts()}})} - -\item{type}{The cost type (alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts)} - -\item{basis}{The basis fo which the cost rate is applied (default is SumInsured)} - -\item{frequency}{How often / during which period the cost is charged (once, PremiumPeriod, PremiumFree, PolicyPeriod, FullContract)} - -\item{value}{The new cost value to set for the given type, basis and frequency} -} -\value{ -The modified cost structure -} -\description{ -Insurance tariff costs are defined by a cost matrix with dimensions: {CostType, Basis, Period}, where: -\describe{ -\item{CostType:}{alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts} -\item{Basis:}{SumInsured, SumPremiums, GrossPremium, NetPremium, Constant} -\item{Period:}{once, PremiumPeriod, PremiumFree, PolicyPeriod, AfterDeath, FullContract} -} -After creation (using the function \code{\link[=initializeCosts]{initializeCosts()}}), the funciton \code{setCost} -can be used to modify a single entry. While \code{\link[=initializeCosts]{initializeCosts()}} provides arguments -to set the most common types of cost parameters in one call, the \code{setCost} -function allows to modify any cost parameter. -} -\details{ -This function modifies a copy of the cost structure and returns it, so this -function can be chained as often as desired and final return value will contain -all cost modifications. -} -\examples{ -costs = initializeCosts() -setCost(costs, "alpha", "SumPremiums", "once", 0.05) - -} diff --git a/man/showVmGlgExamples.Rd b/man/showVmGlgExamples.Rd deleted file mode 100644 index 7ce4288..0000000 --- a/man/showVmGlgExamples.Rd +++ /dev/null @@ -1,46 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/showVmGlgExamples.R -\name{showVmGlgExamples} -\alias{showVmGlgExamples} -\title{Display insurance contract calculation example} -\usage{ -showVmGlgExamples(contract, prf = 10, t = 10, t_prf = 12, file = "", ...) -} -\arguments{ -\item{contract}{The insurance contract to calculate and show} - -\item{prf}{Time of premium waiver (premium-free)} - -\item{t}{Time for which to show all values (except premium-free values)} - -\item{t_prf}{Time for which to show all values after the premium waiver} - -\item{file}{If given, outputs all information to the file rather than the console} - -\item{...}{Further parameters for generating the contract for a tariff object} -} -\description{ -Display the values of the example calculation of the given insurance contract -as required by the Austrian regulation (LV-VMGLV, "LV -Versicherungsmathematische Grundlagen Verordnung"). -} -\examples{ -library(MortalityTables) -mortalityTables.load("Austria_Annuities_AVOe2005R") -# A trivial deferred annuity tariff with no costs: -tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", - mortalityTable = AVOe2005R.unisex, i=0.01) -contract = InsuranceContract$new( - tariff, - age = 35, YOB = 1981, - policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, - sumInsured = 1000, - contractClosing = as.Date("2016-10-01") -); -showVmGlgExamples(contract) - -# Optionally output to a file rather than the console: -\dontrun{ -showVmGlgExamples(contract, file = "annuity-example.txt") -} -} diff --git a/man/testVmGlgExample.Rd b/man/testVmGlgExample.Rd deleted file mode 100644 index 2e68a94..0000000 --- a/man/testVmGlgExample.Rd +++ /dev/null @@ -1,96 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/showVmGlgExamples.R -\name{testVmGlgExample} -\alias{testVmGlgExample} -\title{Perform unit tests of given standard values of the insurance contract example} -\usage{ -testVmGlgExample( - contract, - prf = 10, - t = 10, - t_prf = 12, - net, - Zillmer, - gross, - written, - savings, - risk, - ZillmerRes, - ZillmerRes.prf, - VwKostenRes, - VwKostenRes.prf, - Bilanzreserve, - Praemienuebertrag, - Rueckkaufsreserve, - Rueckkaufswert, - Abschlusskostenruecktrag, - Rueckkaufswert.prf, - VS.prf, - absTolerance = 0.015, - ... -) -} -\arguments{ -\item{contract}{The insurance contract to calculate and check} - -\item{prf}{Time of premium waiver (premium-free)} - -\item{t}{Time for which to check all values (except premium-free values)} - -\item{t_prf}{Time for which to check all values after the premium waiver} - -\item{net, Zillmer, gross, written, savings, risk, ZillmerRes, ZillmerRes.prf, VwKostenRes, VwKostenRes.prf, Bilanzreserve, Praemienuebertrag, Rueckkaufsreserve, Rueckkaufswert, Abschlusskostenruecktrag, Rueckkaufswert.prf, VS.prf}{Values as printed out by showVmGlgExamples} - -\item{absTolerance}{If non-NULL, will ignore small floating point differences. It uses same algorithm as all.equal()} - -\item{...}{Further parameters for generating the contract for a tariff object} -} -\description{ -Check the values of the example calculation of the given insurance contract -as required by the Austrian regulation (LV-VMGLV, "LV -Versicherungsmathematische Grundlagen Verordnung"). -Missing params not passed to the function call will be silently ignored and -not cause unit test failures. -} -\details{ -The easiest way to write unit-tests is using the function \code{vmGlgExample.generateTest} -} -\examples{ -library(MortalityTables) -mortalityTables.load("Austria_Annuities_AVOe2005R") - -\dontrun{ -test_that("Testtarif", { - # A trivial deferred annuity tariff with no costs: - tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", - mortalityTable = AVOe2005R.unisex, i=0.01) - contract = InsuranceContract$new( - tariff, - age = 35, YOB = 1981, - policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, - sumInsured = 1000, - contractClosing = as.Date("2016-10-01") - ); - - testVmGlgExample( - contract, t = 10, - net = 850.09, # NOT_CHECKED: Zillmer = 950.09, - gross = 850.09, - written = 884.09, - savings = 857.09, risk = -7.00, - ZillmerRes = 9011.40, - ZillmerRes.prf = 9205.96, - VwKostenRes = 0.00, - VwKostenRes.prf = 0.00, - Bilanzreserve = 9250.35, - Praemienuebertrag = 212.52, - Rueckkaufsreserve = 9011.40, - Rueckkaufswert = 9011.40, - Abschlusskostenruecktrag = 0.00, - Rueckkaufswert.prf = 9205.96, - VS.prf = 685.12 - ) -}) -} - -} diff --git a/man/valueOrFunction.Rd b/man/valueOrFunction.Rd deleted file mode 100644 index 9b09a76..0000000 --- a/man/valueOrFunction.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/HelperFunctions.R -\name{valueOrFunction} -\alias{valueOrFunction} -\title{If \code{val} is a function, evaluate it, otherwise return \code{val}} -\usage{ -valueOrFunction(val, ...) -} -\arguments{ -\item{val}{Function or value} - -\item{...}{Argument passed to \code{val} if it is a function} -} -\description{ -If \code{val} is a function, evaluate it, otherwise return \code{val} -} -\examples{ -valueOrFunction(3) # returns 3 -valueOrFunction(`+`, 1, 2) # also returns 3 -A = `+` -valueOrFunction(A, 1, 2) -} diff --git a/man/vmGlgExample.generateTest.Rd b/man/vmGlgExample.generateTest.Rd deleted file mode 100644 index ab53b8e..0000000 --- a/man/vmGlgExample.generateTest.Rd +++ /dev/null @@ -1,42 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/showVmGlgExamples.R -\name{vmGlgExample.generateTest} -\alias{vmGlgExample.generateTest} -\title{Generate testthat output for unit-testing a tarif implementation} -\usage{ -vmGlgExample.generateTest(contract, prf = 10, t = 10, t_prf = 12, ...) -} -\arguments{ -\item{contract}{The insurance contract to calculate and generate unit-testing code. -If an InsuranceTarif object is given, a new contract with default -values is generated.} - -\item{prf}{Time of premium waiver (premium-free)} - -\item{t}{Time for which to calculate all values (except premium-free values)} - -\item{t_prf}{Time for which to calculated all values after the premium waiver} - -\item{...}{Further parameters for generating the contract for a tariff object} -} -\description{ -This function calculates the required reference values for the given -insurance contract as required by the Austrian regulation (LV-VMGLV, "LV -Versicherungsmathematische Grundlagen Verordnung") and generates the -code for unit-testing the contract with these values. The code printed -can be directly copied into a unit test file. -} -\examples{ -library(MortalityTables) -mortalityTables.load("Austria_Annuities_AVOe2005R") -# A trivial deferred annuity tariff with no costs: -tariff = InsuranceTarif$new(name="Test Annuity", type="annuity", - mortalityTable = AVOe2005R.unisex, i=0.01) -vmGlgExample.generateTest(tariff, - age = 35, YOB = 1981, - policyPeriod = 30, premiumPeriod = 15, deferralPeriod = 15, - sumInsured = 1000, - contractClosing = as.Date("2016-10-01") -) - -} diff --git a/tests/testthat.R b/tests/testthat.R deleted file mode 100644 index ec93ddb..0000000 --- a/tests/testthat.R +++ /dev/null @@ -1,7 +0,0 @@ -library(testthat) -library(LifeInsuranceContracts) -library(MortalityTables) -mortalityTables.load("Austria_Census") -mortalityTables.load("Austria_Annuities_AVOe2005R") - -test_check("LifeInsuranceContracts") diff --git a/tests/testthat/test-CF-Annuity-Deferred.R b/tests/testthat/test-CF-Annuity-Deferred.R deleted file mode 100644 index 7afdbec..0000000 --- a/tests/testthat/test-CF-Annuity-Deferred.R +++ /dev/null @@ -1,41 +0,0 @@ -test_that("Deferred Annuity Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Annuities_AVOe2005R") - - Tarif.DefAnnuity = InsuranceTarif$new( - name = "Example Tariff - Deferred Annuity", - type = "annuity", - tarif = "Life1", - desc = "A deferred annuity (life-long payments start at age 65) with reg. premiums", - - policyPeriod = function(params, values) { 120 - params$ContractData$age}, - deferralPeriod = function(params, values) { 65 - params$ContractData$age}, - premiumPeriod = function(params, values) { 65 - params$ContractData$age}, - premiumRefund = 1, - - mortalityTable = AVOe2005R.unisex, - i = 0.005 - ) - Contract.DefAnnuity = InsuranceContract$new( - tarif = Tarif.DefAnnuity, - age = 40, YOB = 1980, - sumInsured = 1200, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$policyPeriod, 80) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$deferralPeriod, 25) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$premiumPeriod, 25) - - - expect_true(all(Contract.DefAnnuity$Values$cashFlows %>% dplyr::select(-premiums_advance, -survival_advance, -death_GrossPremium, -death_Refund_past) == 0)) - - # 25 years premium cash flow - expect_equal(Contract.DefAnnuity$Values$cashFlows$premiums_advance, c(rep(1, 25), rep(0, 56))) - # premium payment start after 25 years - expect_equal(Contract.DefAnnuity$Values$cashFlows$survival_advance, c(rep(0, 25), rep(1, 55),0)) - # premium payment start after 25 years - expect_equal(Contract.DefAnnuity$Values$cashFlows$death_GrossPremium, c(1:25, rep(0, 56))) - # death refund flag - expect_equal(Contract.DefAnnuity$Values$cashFlows$death_Refund_past, c(rep(1, 25), rep(0, 56))) -}) diff --git a/tests/testthat/test-CF-Annuity.R b/tests/testthat/test-CF-Annuity.R deleted file mode 100644 index 512d364..0000000 --- a/tests/testthat/test-CF-Annuity.R +++ /dev/null @@ -1,34 +0,0 @@ -test_that("Annuity Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Annuities_AVOe2005R") - - Tarif.Annuity = InsuranceTarif$new( - name = "Example Tariff - Immediate Annuity", - type = "annuity", - tarif = "Ann1", - desc = "An annuity with single-premium", - premiumPeriod = 1, - - mortalityTable = AVOe2005R.unisex, - i = 0.005 - ) - Contract.Annuity = InsuranceContract$new( - tarif = Tarif.Annuity, - age = 65, YOB = 1955, - sumInsured = 1200, - policyPeriod = 55, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.Annuity$Parameters$ContractData$policyPeriod, 55) - expect_equal(Contract.Annuity$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.Annuity$Parameters$ContractData$premiumPeriod, 1) - - - expect_true(all(Contract.Annuity$Values$cashFlows %>% select(-premiums_advance, -survival_advance) == 0)) - - # 1 year premium cash flow - expect_equal(Contract.Annuity$Values$cashFlows$premiums_advance, c(1, rep(0, 55))) - # premium payment start immediately for the whole contract period - expect_equal(Contract.Annuity$Values$cashFlows$survival_advance, c(rep(1, 55), 0)) -}) diff --git a/tests/testthat/test-CF-DreadDisease.R b/tests/testthat/test-CF-DreadDisease.R deleted file mode 100644 index 4f5562d..0000000 --- a/tests/testthat/test-CF-DreadDisease.R +++ /dev/null @@ -1,80 +0,0 @@ -test_that("Dread-Disease Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - # An example dread-disease tariff, morbidity is assumed linearly increasing with age - ddTable = mortalityTable.period(name = "Linear dread-disease table", - ages = 0:100, deathProbs = 0:100/500) - Tarif.DreadDisease = InsuranceTarif$new( - name = "Example Tariff - Dread-Disease", - type = "dread-disease", - tarif = "DD1", - desc = "A dread disease insurance with a lump-sum payment upon diagnosis", - - sumInsured = 50000, - mortalityTable = mort.AT.census.2011.unisex, - invalidityTable = ddTable, - i = 0.005 - ) - - Contract.DreadDisease = InsuranceContract$new( - tarif = Tarif.DreadDisease, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.DreadDisease$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.DreadDisease$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.DreadDisease$Parameters$ContractData$premiumPeriod, 20) - - - expect_true(all(Contract.DreadDisease$Values$cashFlows %>% select(-premiums_advance, -disease_SumInsured) == 0)) - - expect_equal(Contract.DreadDisease$Values$cashFlows$premiums_advance, c(rep(1, 20), 0)) - expect_equal(Contract.DreadDisease$Values$cashFlows$disease_SumInsured, c(rep(1, 20), 0)) -}) - -"" -test_that("Endowment + Dread-Disease Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - # An example dread-disease tariff, morbidity is assumed linearly increasing with age - ddTable = mortalityTable.period(name = "Linear dread-disease table", - ages = 0:100, deathProbs = 0:100/500) - Tarif.EndowDreadDisease = InsuranceTarif$new( - name = "Example Tariff - Endowment + Dread-Disease", - type = "endowment + dread-disease", - tarif = "EnDD1", - desc = "An endowment and dread disease insurance with a lump-sum payment upon diagnosis", - - sumInsured = 50000, - mortalityTable = mort.AT.census.2011.unisex, - invalidityTable = ddTable, - invalidityEndsContract = TRUE, - i = 0.005 - ) - - Contract.EndowDreadDisease = InsuranceContract$new( - tarif = Tarif.EndowDreadDisease, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.EndowDreadDisease$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.EndowDreadDisease$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.EndowDreadDisease$Parameters$ContractData$premiumPeriod, 20) - - - expect_true(all(Contract.EndowDreadDisease$Values$cashFlows %>% select(-premiums_advance, -survival_advance, -death_SumInsured, -death_PremiumFree, -disease_SumInsured) == 0)) - - expect_equal(Contract.EndowDreadDisease$Values$cashFlows$premiums_advance, c(rep(1, 20), 0)) - expect_equal(Contract.EndowDreadDisease$Values$cashFlows$survival_advance, c(rep(0, 20), 1)) - expect_equal(Contract.EndowDreadDisease$Values$cashFlows$death_SumInsured, c(rep(1, 20), 0)) - expect_equal(Contract.EndowDreadDisease$Values$cashFlows$disease_SumInsured, c(rep(1, 20), 0)) - expect_equal(Contract.EndowDreadDisease$Values$cashFlows$death_PremiumFree, c(rep(1, 20), 0)) - -}) - diff --git a/tests/testthat/test-CF-Endowment-SP.R b/tests/testthat/test-CF-Endowment-SP.R deleted file mode 100644 index 113bf85..0000000 --- a/tests/testthat/test-CF-Endowment-SP.R +++ /dev/null @@ -1,32 +0,0 @@ -test_that("Endowment Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.Endowment.SP = InsuranceTarif$new( - name = "Example Tariff - Endowment Single Premium", - type = "endowment", - tarif = "E1-SP", - desc = "An endowment with single premiums (standard tariff)", - premiumPeriod = 1, - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005 - ) - Contract.Endowment.SP = InsuranceContract$new( - tarif = Tarif.Endowment.SP, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.Endowment.SP$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.Endowment.SP$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.Endowment.SP$Parameters$ContractData$premiumPeriod, 1) - - - expect_true(all(Contract.Endowment.SP$Values$cashFlows %>% select(-premiums_advance, -survival_advance, -death_SumInsured, -death_PremiumFree) == 0)) - - expect_equal(Contract.Endowment.SP$Values$cashFlows$premiums_advance, c(1, rep(0, 20))) - expect_equal(Contract.Endowment.SP$Values$cashFlows$survival_advance, c(rep(0, 20), 1)) - expect_equal(Contract.Endowment.SP$Values$cashFlows$death_SumInsured, c(rep(1, 20),0)) - expect_equal(Contract.Endowment.SP$Values$cashFlows$death_PremiumFree, c(rep(1, 20), 0)) -}) diff --git a/tests/testthat/test-CF-Endowment.R b/tests/testthat/test-CF-Endowment.R deleted file mode 100644 index 65715c7..0000000 --- a/tests/testthat/test-CF-Endowment.R +++ /dev/null @@ -1,32 +0,0 @@ -test_that("Endowment Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.Endowment = InsuranceTarif$new( - name = "Example Tariff - Endowment", - type = "endowment", - tarif = "E1-RP", - desc = "An endowment with regular premiums (standard tariff)", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005 - ) - Contract.Endowment = InsuranceContract$new( - tarif = Tarif.Endowment, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.Endowment$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.Endowment$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.Endowment$Parameters$ContractData$premiumPeriod, 20) - - - expect_true(all(Contract.Endowment$Values$cashFlows %>% select(-premiums_advance, -survival_advance, -death_SumInsured, -death_PremiumFree) == 0)) - - expect_equal(Contract.Endowment$Values$cashFlows$premiums_advance, c(rep(1, 20), 0)) - expect_equal(Contract.Endowment$Values$cashFlows$survival_advance, c(rep(0, 20), 1)) - expect_equal(Contract.Endowment$Values$cashFlows$death_SumInsured, c(rep(1, 20),0)) - expect_equal(Contract.Endowment$Values$cashFlows$death_PremiumFree, c(rep(1, 20), 0)) -}) diff --git a/tests/testthat/test-CF-Life.R b/tests/testthat/test-CF-Life.R deleted file mode 100644 index 714f6e0..0000000 --- a/tests/testthat/test-CF-Life.R +++ /dev/null @@ -1,32 +0,0 @@ -test_that("Term Life Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.Life = InsuranceTarif$new( - name = "Example Tariff - Whole/Term Life", - type = "wholelife", - tarif = "Life1", - desc = "A whole or term life insurance with regular premiums", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005 - ) - - Contract.Life = InsuranceContract$new( - tarif = Tarif.Life, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.Life$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.Life$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.Life$Parameters$ContractData$premiumPeriod, 20) - - - expect_true(all(Contract.Life$Values$cashFlows %>% select(-premiums_advance, -death_SumInsured, -death_PremiumFree) == 0)) - - expect_equal(Contract.Life$Values$cashFlows$premiums_advance, c(rep(1, 20), 0)) - expect_equal(Contract.Life$Values$cashFlows$death_SumInsured, c(rep(1, 20), 0)) - expect_equal(Contract.Life$Values$cashFlows$death_PremiumFree, c(rep(1, 20), 0)) -}) diff --git a/tests/testthat/test-CF-PureEndowment.R b/tests/testthat/test-CF-PureEndowment.R deleted file mode 100644 index e510778..0000000 --- a/tests/testthat/test-CF-PureEndowment.R +++ /dev/null @@ -1,33 +0,0 @@ -test_that("Pure Endowment Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.PureEnd = InsuranceTarif$new( - name = "Example Tariff - Pure Endowment", - type = "pureendowment", - tarif = "PE1-RP", - desc = "A pure endowment with regular premiums (standard tariff)", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - premiumRefund = 1 - ) - Contract.PureEnd = InsuranceContract$new( - tarif = Tarif.PureEnd, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.PureEnd$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.PureEnd$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.PureEnd$Parameters$ContractData$premiumPeriod, 20) - - - expect_true(all(Contract.PureEnd$Values$cashFlows %>% select(-premiums_advance, -survival_advance, -death_GrossPremium, -death_Refund_past) == 0)) - - expect_equal(Contract.PureEnd$Values$cashFlows$premiums_advance, c(rep(1, 20), 0)) - expect_equal(Contract.PureEnd$Values$cashFlows$survival_advance, c(rep(0, 20), 1)) - expect_equal(Contract.PureEnd$Values$cashFlows$death_GrossPremium, c(1:20,0)) - expect_equal(Contract.PureEnd$Values$cashFlows$death_Refund_past, c(rep(1, 20), 0)) -}) diff --git a/tests/testthat/test-CF-TermeFixe.R b/tests/testthat/test-CF-TermeFixe.R deleted file mode 100644 index d103657..0000000 --- a/tests/testthat/test-CF-TermeFixe.R +++ /dev/null @@ -1,30 +0,0 @@ -test_that("Termfix Cash Flows", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.Termfix = InsuranceTarif$new( - name = "Example Tariff - Terme Fixe", - type = "terme-fix", - tarif = "TF", - desc = "A termfix insurance with regular premiums", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005 - ) - Contract.Termfix = InsuranceContract$new( - tarif = Tarif.Termfix, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.Termfix$Parameters$ContractData$policyPeriod, 20) - expect_equal(Contract.Termfix$Parameters$ContractData$deferralPeriod, 0) - expect_equal(Contract.Termfix$Parameters$ContractData$premiumPeriod, 20) - - - expect_true(all(Contract.Termfix$Values$cashFlows %>% select(-premiums_advance, -guaranteed_advance) == 0)) - - expect_equal(Contract.Termfix$Values$cashFlows$premiums_advance, c(rep(1, 20), 0)) - expect_equal(Contract.Termfix$Values$cashFlows$guaranteed_advance, c(rep(0, 20), 1)) -}) diff --git a/tests/testthat/test-Cost-Initialization.R b/tests/testthat/test-Cost-Initialization.R deleted file mode 100644 index da277ef..0000000 --- a/tests/testthat/test-Cost-Initialization.R +++ /dev/null @@ -1,28 +0,0 @@ -test_that("multiplication works", { - c1 = initializeCosts( - alpha = 0.04, - Zillmer = 0.025, - beta = 0.05, - gamma = 0.0005, - gamma.paidUp = 0.001, - gamma.premiumfree = 0.00075, - gamma.contract = 0.002, - unitcosts = 10, - unitcosts.PolicyPeriod = 12 - ) - - # the above is the short form of: - c2 = initializeCosts() - c2[["alpha", "SumPremiums", "once"]] = 0.04 - c2[["Zillmer", "SumPremiums", "once"]] = 0.025 - c2[["beta", "GrossPremium", "PremiumPeriod"]] = 0.05 - c2[["gamma", "SumInsured", "PremiumPeriod"]] = 0.0005 - c2[["gamma_nopremiums", "SumInsured", "PolicyPeriod"]] = 0.001 - c2[["gamma", "SumInsured", "PremiumFree"]] = 0.00075 - c2[["gamma", "SumInsured", "PolicyPeriod"]] = 0.002 - c2[["unitcosts", "Constant", "PremiumPeriod"]] = 10 - c2[["unitcosts", "Constant", "PolicyPeriod"]] = 12 - - expect_equal(c1, c2) - expect_equal(c1, initializeCosts(c1)) -}) diff --git a/tests/testthat/test-PVfactory.R b/tests/testthat/test-PVfactory.R deleted file mode 100644 index 8238586..0000000 --- a/tests/testthat/test-PVfactory.R +++ /dev/null @@ -1,90 +0,0 @@ -test_that("multiplication works", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - # Sample data: Austrian population mortality, interest 3% - ags = 40:100 - v = 1/1.03 - qx = deathProbabilities(mort.AT.census.2011.unisex, ages = ags) - qq = data.frame(x = ags, qx = qx, ix = 0, px = 1 - qx) - pvf = PVfactory$new(qx = qq, m = 1, v = v) - # For invalidity, simply use half the death prob (split qx into qx and ix, leave px unchanged!) - qqI = qq - qqI$ix = qqI$qx/2 - qqI$qx = qqI$ix - pvfI = PVfactory$new(qx = qqI, m = 1, v = v) - - #################################### # - # Cash Flow Definitions - #################################### # - # Single payment after 10 years - cf1 = c(rep(0, 10), 1) - # Annual payments for 10 years - cfN = rep(1, 10) - - #################################### # - # Guaranteed PV - #################################### # - PV1adv = v^(10:0) - PV1arr = v^(11:1) - PVNadv = (1 - v^(10:1))/(1-v) - PVNarr = v * PVNadv - - # Check basic present values for correctness (one-dimensional CF vector) - expect_equal(as.vector(pvf$guaranteed(advance = cf1)), PV1adv) - expect_equal(as.vector(pvf$guaranteed(arrears = cf1)), PV1arr) - expect_equal(as.vector(pvf$guaranteed(advance = cfN)), PVNadv) - expect_equal(as.vector(pvf$guaranteed(arrears = cfN)), PVNarr) - - # Same cash flows, either understood paid in advance at next timestep or in arrears of previous timestep => same present values - expect_equal(c(pvf$guaranteed(advance = c(1,cfN))), 1 + c(pvf$guaranteed(arrears = cfN), 0)) - - # Check cash flow arrays - # PV of single payment is v^(n-t), PV of annuity is (1-v^(n-t))/(1-v) - # Use CF array with those two cash flows - cf2d = array(c(cf1, cfN, 0), dim = c(length(cf1),2)) - expect_equal(pvf$guaranteed(advance = cf2d), array(c(PV1adv, PVNadv, 0), dim = c(length(cf1), 2))) - - # two-dimensional cashflows at each time => 3-dimensional tensor - cf3d = array(c(cf1, cfN, 0, cf1, cfN, 0, cfN, 0, cf1), dim = c(length(cf1), 2, 3)) - expect_equal(pvf$guaranteed(advance = cf3d), array(c(PV1adv, PVNadv, 0, PV1adv, PVNadv, 0, PVNadv, 0, PV1adv), dim = c(length(cf1), 2, 3))) - - - - #################################### # - # Survival PV - #################################### # - PV1adv.sv = Reduce(`*`, 1-qx[1:10], init = 1, right = TRUE, accumulate = TRUE) * (v^(10:0)) - PV1arr.sv = head(Reduce(`*`, 1-qx[1:11], init = 1, right = TRUE, accumulate = TRUE), -1) * (v^(11:1)) - PVNadv.sv = head(Reduce(function(p, pv1) {pv1 * v * p + 1}, 1-qx[1:10], init = 0, right = TRUE, accumulate = TRUE), -1) - PVNarr.sv = head(Reduce(function(p, pv1) { v * p * (1 + pv1)}, 1-qx[1:10], init = 0, right = TRUE, accumulate = TRUE), -1) - - # check basic PV - expect_equal(as.vector(pvf$survival(advance = cf1)), PV1adv.sv) - expect_equal(as.vector(pvf$survival(arrears = cf1)), PV1arr.sv) - expect_equal(as.vector(pvf$survival(advance = cfN)), PVNadv.sv) - expect_equal(as.vector(pvf$survival(arrears = cfN)), PVNarr.sv) - - # Check cash flow arrays - expect_equal(pvf$survival(advance = cf2d), array(c(PV1adv.sv, PVNadv.sv, 0), dim = c(length(cf1), 2))) - expect_equal(pvf$survival(arrears = cf2d), array(c(PV1arr.sv, PVNarr.sv, 0), dim = c(length(cf1), 2))) - - # two-dimensional cashflows at each time => 3-dimensional tensor - expect_equal(pvf$survival(advance = cf3d), array(c(PV1adv.sv, PVNadv.sv, 0, PV1adv.sv, PVNadv.sv, 0, PVNadv.sv, 0, PV1adv.sv), dim = c(length(cf1), 2, 3))) - expect_equal(pvf$survival(arrears = cf3d), array(c(PV1arr.sv, PVNarr.sv, 0, PV1arr.sv, PVNarr.sv, 0, PVNarr.sv, 0, PV1arr.sv), dim = c(length(cf1), 2, 3))) - - - - #################################### # - # Death PV - #################################### # - PVN.death = head(Reduce(function(q, pv1) {q * v + (1 - q) * v * pv1}, qx[1:10], init = 0, right = TRUE, accumulate = TRUE), -1) - expect_equal(as.vector(pvf$death(benefits = cfN)), PVN.death) - - #################################### # - # Disease PV - #################################### # - # Death and disease probabilities are equal, so the PV should be equal. If death() is implemented correctly, this can detect errors in - expect_equal(pvfI$disease(benefits = cfN), pvfI$death(benefits = cfN)) - -}) diff --git a/tests/testthat/test-SumInsured-calculated.R b/tests/testthat/test-SumInsured-calculated.R deleted file mode 100644 index 92c8874..0000000 --- a/tests/testthat/test-SumInsured-calculated.R +++ /dev/null @@ -1,46 +0,0 @@ -test_that("Calculation of sumInsured from premium", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.EndowmentSI = InsuranceTarif$new( - name = "Example Tariff - Endowment", - type = "endowment", - tarif = "E1-RP", - desc = "An endowment with regular premiums (standard tariff)", - - mortalityTable = mort.AT.census.2011.unisex, - cost = initializeCosts(alpha = 0.04, gamma.contract = 0.0005, unitcosts = 10), - i = 0.03 - ) - Contract.sumInsured = InsuranceContract$new( - tarif = Tarif.EndowmentSI, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01") - ) - Contract.premium = InsuranceContract$new( - tarif = Tarif.EndowmentSI, - age = 40, policyPeriod = 20, - premium = Contract.sumInsured$Values$premiums[["written"]], - contractClosing = as.Date("2020-09-01") - ) - Contract.premium_beforetax = InsuranceContract$new( - tarif = Tarif.EndowmentSI, - age = 40, policyPeriod = 20, - premium = c(written_beforetax = Contract.sumInsured$Values$premiums[["written_beforetax"]]), - contractClosing = as.Date("2020-09-01") - ) - Contract.premium_gross = InsuranceContract$new( - tarif = Tarif.EndowmentSI, - age = 40, policyPeriod = 20, - premium = c(gross = Contract.sumInsured$Values$premiums[["gross"]]), - contractClosing = as.Date("2020-09-01") - ) - - # All four contracts above should result in the same sumInsured: - expect_equal(Contract.premium$Parameters$ContractData$sumInsured, Contract.sumInsured$Parameters$ContractData$sumInsured) - expect_equal(Contract.premium_beforetax$Parameters$ContractData$sumInsured, Contract.sumInsured$Parameters$ContractData$sumInsured) - expect_equal(Contract.premium_gross$Parameters$ContractData$sumInsured, Contract.sumInsured$Parameters$ContractData$sumInsured) - expect_equal(Contract.sumInsured$Parameters$ContractData$sumInsured, Contract.premium$Parameters$ContractData$sumInsured) - -}) diff --git a/tests/testthat/test-extendContract.R b/tests/testthat/test-extendContract.R deleted file mode 100644 index e0a9f0f..0000000 --- a/tests/testthat/test-extendContract.R +++ /dev/null @@ -1,47 +0,0 @@ -test_that("Extend contract by $addExtension", { - library(MortalityTables) - mortalityTables.load("Austria_Census") - - Tarif.EndowmentA = InsuranceTarif$new( - name = "Example Tariff - Endowment 1981", - type = "endowment", - tarif = "E1-RP81", - desc = "An endowment with regular premiums (standard tariff)", - - mortalityTable = mort.AT.census.1981.male, - cost = initializeCosts(alpha = 0.04, gamma.contract = 0.0005, unitcosts = 10), - i = 0.03 - ) - Tarif.EndowmentB = Tarif.EndowmentA$createModification( - name = "Example Tariff - Endowment 2001", - tarif = "E1-RP01", - mortalityTable = mort.AT.census.2001.male, - cost = initializeCosts(alpha = 0.024, gamma.contract = 0.00075, unitcosts = 20), - i = 0.01) - - ContractA = InsuranceContract$new( - tarif = Tarif.EndowmentA, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2000-07-01") - ) - - - # premium-free extension - ContractB = ContractA$clone()$addExtension(id = "Verlängerung1", contractPeriod = 5, premiumPeriod = 0) - expect_equal(ContractB$blocks$Verlängerung1$Parameters$ContractData$sumInsured, 15117.03896) - - - # extension with given sumInsured resulting in 0 premiums - ContractC = ContractA$clone()$addExtension(id = "Verlängerung1", contractPeriod = 5, sumInsured = 15117.03896) - expect_equal(ContractC$blocks$Verlängerung1$Values$premiums[["gross"]], 0, tolerance = 1e-06) - - # extension with increased sumInsured: real premiums are charged, reserves start from the existing reserve: - ContractD = ContractA$clone()$addExtension(id = "Verlängerung1", contractPeriod = 5, sumInsured = 20000) - expect_equal(ContractD$blocks$Verlängerung1$Values$premiums[["written"]], 315.109) - expect_equal(ContractD$blocks$Verlängerung1$Values$reserves[["0", "contractual"]], 10000) - - # extension with increased sumInsured and different tariff: check whether interest rate has really changed - ContractE = ContractA$clone()$addExtension(id = "Verlängerung1", contractPeriod = 5, sumInsured = 20000, tarif = Tarif.EndowmentB) - expect_equal(unname(ContractE$Values$basicData[c(1,20,30,40), "InterestRate"]), c(0.03, 0.03, 0.01, 0.01)) -}) diff --git a/tests/testthat/test-premiumRefundPeriod.R b/tests/testthat/test-premiumRefundPeriod.R deleted file mode 100644 index 40bb1fe..0000000 --- a/tests/testthat/test-premiumRefundPeriod.R +++ /dev/null @@ -1,55 +0,0 @@ -test_that("premiumRefundPeriod", { - library(MortalityTables) - mortalityTables.load("Austria_Annuities_AVOe2005R") - - #--------------------------------------------------------------------------- - - # For deferred contracts, premium refund applies during deferral only by default - #--------------------------------------------------------------------------- - - Tarif.DefAnnuity = InsuranceTarif$new( - type = "annuity", - - policyPeriod = function(params, values) { 120 - params$ContractData$age}, - deferralPeriod = function(params, values) { 65 - params$ContractData$age}, - premiumPeriod = function(params, values) { 65 - params$ContractData$age}, - premiumRefund = 1, - mortalityTable = AVOe2005R.unisex - ) - Contract.DefAnnuity = InsuranceContract$new( - tarif = Tarif.DefAnnuity, - age = 40, YOB = 1980, - sumInsured = 1200, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$policyPeriod, 80) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$deferralPeriod, 25) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$premiumPeriod, 25) - expect_equal(Contract.DefAnnuity$Parameters$ContractData$premiumRefundPeriod, 25) - - # premium refund only during the frist 25 years (linearly increasing), then 0 - expect_equal(Contract.DefAnnuity$Values$cashFlows[,"death_GrossPremium"], c(1:25, rep(0, 81-25))) - expect_equal(Contract.DefAnnuity$Values$cashFlows[,"death_Refund_past"], c(rep(1, 25), rep(0, 81-25))) - - - - #--------------------------------------------------------------------------- - - # For all other contracts without deferral period, refund period is whole contract - #--------------------------------------------------------------------------- - - Tarif.PureEnd = InsuranceTarif$new( - type = "pureendowment", - - policyPeriod = 25, - premiumRefund = 1, - mortalityTable = AVOe2005R.unisex - ) - Contract.PureEnd = InsuranceContract$new( - tarif = Tarif.PureEnd, - age = 40, YOB = 1980, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01"), - calculate = "cashflows" - ) - # premium refund during the whole contract (25 years), the last year is the survival date without any death benefits - expect_equal(Contract.PureEnd$Values$cashFlows[,"death_GrossPremium"], c(1:25, 0)) - expect_equal(Contract.PureEnd$Values$cashFlows[,"death_Refund_past"], c(rep(1, 25), 0)) -}) diff --git a/vignettes/.gitignore b/vignettes/.gitignore deleted file mode 100644 index 097b241..0000000 --- a/vignettes/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.html -*.R diff --git a/vignettes/creating-company-specific-implementations-as-package.Rmd b/vignettes/creating-company-specific-implementations-as-package.Rmd index e7982e8..c1830bf 100644 --- a/vignettes/creating-company-specific-implementations-as-package.Rmd +++ b/vignettes/creating-company-specific-implementations-as-package.Rmd @@ -16,273 +16,8 @@ vignette: > %\VignetteIndexEntry{Creating Company-Specific LifeInsuranceContracts Implementations (using an RStudio Package Template)} %\VignetteEncoding{UTF-8} %\VignetteEngine{knitr::rmarkdown} -editor_options: - markdown: - wrap: 72 --- -```{r setup, echo = FALSE, message=FALSE} -knitr::opts_chunk$set(collapse = TRUE, comment = "#>") -library(knitr) -library(kableExtra) -library(LifeInsuranceContracts) -library(dplyr) -library(tibble) -library(lubridate) -options(scipen=5) +This package has been renamed from LifeInsuranceContracts to **LifeInsureR**! -library(pander) -``` - -The LifeInsuranceContracts package provides a full-featured framework to -model classical life insurance contracts (non-unit linked). This is -typically sufficient to implement simple example calculations or -validate a single contract or tariff by a single individual. - -However, when working for a company (either from inside the company or -as an external consultant), one typically wants the implementation to be -nicely structured, easily available for the whole team and still have -the chance to improve the implementation. This can be achieved by -encapsulating the company-specific tariff implementations in an R -package that provides and exports the individual products of the -company. - -The LifeInsuranceContracts package even provides an RStudio project -template to create a new skeleton of a company-specific implementation -to use as the foundation of such an implementation. - -# Creating an RStudio project from the template - -The `LifeInsuranceContracts` package provides an RStudio project -template that sets up a package for a company-specific tariff -implementation. After installing the package, simply create a new -RStudio project from the template: - -{width="61%"} - -{width="61%"} - -{width="61%"}](images/03_RStudio_ProjectTemplate_selectTemplate.png){width="61%"} - -The resulting RStudio project will have the following file structure: - - - -- The `DESCRIPTION` file provides the package name and its settings - (author, explanation, dependencies, etc.). This is typically the - first file to update. - -- The `NAMESPACE` file will be automatically handled by roxygen - -- The files in the `R/` subdirectory contain the tariff / product - definitions, i.e. they implement the `LifeInsuranceTarif` objects - for each product. The `*_General.R` file contains general - definitions, like mortality tables, parameter / cost sets, surrender - penalty functions, etc. and is typically sourced from each tariff's - implementation file. - -- The files in the `tests/testthat/` directory are unit tests for the - testthat package. Typically, you will use the example prescribed (by - the regulator) in the official tariff definitions as test cases, so - that the implementation will always correspond to the official - documents. - -# Implementing a full portfolio calculation - -Once the individual products are implemented in the R/ directory, one -typical application is to use them for batch-testing the contract -administration or financial statement system. - -To automate this, the template `[MyCompany]RechnungGesamtbestand.R` is -provided in the project's top-level directory. It's purpose is to read -in a set of contract data and calculate the corresponding reserves (e.g. -to validate the official numbers in the financial statements). - -## Steps to implement batch-testing a whole (sub-)portfolio - -1. Implement the corresponding products in the files in the `R/` - subdirectory. Use the LifeInsuranceContracts documentation available - at - <https://cran.r-project.org/web/packages/LifeInsuranceContracts/vignettes/using-the-lifeinsurancecontracts-package.html> - -2. Install the package (using the "Install" button in RStudio's "Build" - pane) - -3. Set up the mapping of the columns of the contract data source to the - package's arguments. The columns of the input data can be directly - mapped to named arguments in `LifeInsuranceContract$new(..)` calls. - -4. If some columns need manual modifications (e.g. sex or frequencies - expressed with other values than the package expects), update the - `VTmodify.*` functions correspondingly. - -5. Update the column types in the `readXXXCOMPANYXXXBestand(..)` - function. This helps preventing errors, as these columns are always - cast to the required type. - -6. The `calculate_contract(..)` function might need to some adjustments - / modifications, in particular when modified contracts, premiums - waivers, additional tariffs / single-payment add-ons etc. are - present. - -7. Depending on which columns / data are available in the - company-provided contract data, the column modifications / - calculations of other reserves, etc. at the end of the - `calculate_portfolio(…)` function might need to be adjusted. - -8. Update the `files` and `outfile` variables to point to the input - files ("Bestandsdaten") and the output file name - -9. Call the `calculate_portfolio` function on the contract data set - (potentially filtered to some subsets to prevent performance issues) - -Typically, a call to calculate a portfolio and store the results in a -dedicated (Excel) output file is: - -```{r CalculatePortfolio,echo=TRUE,eval=FALSE} -results = NULL; -results = calculate_portfolio(bestandinfos.all, - tarif = c("ProdName1", "ProdName2"), GV = c("123"), debug =TRUE) -openxlsx::write.xlsx(results, outfile("Prods-1-2"), - asTable = TRUE, overwrite = TRUE, sheetName = "Vergleichsrechnung") -openXL(outfile("Prods-1-2")) -``` - -## General Overview of the batch-calculation procedure - -1. The contract data are read in from the filenames provided in the - `files` list and stored in the data.frame called `bestandinfos.all`. - - 1. Each file is read using the function `readXXXCOMPANYXXXBestand`. - - 2. The `readXXXCOMPANYXXXBestand` function uses read_excel to read - in the raw data, then ensures the defined columns have the - proper data type. - - 3. The columns are renamed according to the mapping in `colMapping` - - 4. All contracts are sorted by `Polizzennummer` - - 5. Additional modifications are done by the function - `VTmodify.general`. - - 6. Further custom modifications can be manually added either in - `readXXXCOMPANYXXXBestand` or in `VTmodify.general` - -2. All contracts are calculated by a call to `calculate_portfolio`. The - arguments `tarif` and `GV` can be used to restrict the calculation - only to certain products and/or profit classes. Additionally, - `n_max` can be used to calculate only the first `n_max` contracts. - The `calculate_portfolio` function does its work with the following - steps: - - 1. The portfolio data is filted with the given tariff, GV, skip, - n_max arguments - - 2. Only the relevant columns of the portfolio data are taken, some - sanity checks (sumInsured \> 0, premiumFrequency \>= 0) are - applied. - - 3. Grouping happens by column `SliceID`. This allows multiple - portfolio data rows to be combined to one contract with several - slices / sum increases, which are calculated as one contract - (see section "10.3 Dynamic Increases" of the - LifeInsuranceContracts vignette). If each slice / dynamic - increase is supposed to be calculated individually and - independent from the main contract / other increases, then the - column mapped to the `SliceID` column needs to have a different - value for each portfolio data row. If `SliceID` uses contract - numbers, all dynamics, etc. belonging to the same contract - number will be combined and calculated using `$addDynamics` - - 4. Each contract (entries with distinct `SliceID` value) is - calculated in a loop using the `by_slice` function, which calls - the `calculate_contract` function for each contract. - -3. The `calculate_contract` function calculates one individual - contract, with the individual columns of the portfolio data passed - as named parameters to the function. - - 1. A progress message is printed (if applicable) - - 2. All slices are arranged by date, with the slice starting first - assumed to be the main contract part. - - 3. For the main contract, an instance of the - `LifeInsuranceContract` (with the given tariff / product) is - created and all values of the contract are automatically - calculated by the package by default. - - 4. All additional slices (e.g. dynamic increases) with the same - `SliceID` are added using the `$addDynamics` method of the - `LifeInsuranceContract` class. The slice start date and duration - are adjusted correspondingly. - - 5. The reserves are extracted from the contract and stored in the - final `data.frame` z. If `debug=TRUE`, a column is added to the - resulting data.frame containing the R code to reproduce with - full contract. - - 6. The `calculate_portfolio` combines the `data.frame`s returned - for each contract's `calculate_contract` call into one large - data frame, adds some derived columns and returns the data frame - as result of the calculations. - -## Column Mapping - -The following columns / named parameters are typically used by a -`LifeInsuranceTariff` implementation or the concrete contract as a -`LifeInsuranceContract` object. Most parameters are not mandatory. -Additional arguments / columns are possible and will be preserved, even -if they are not used by the contract. - -- `Polizzennummer` - -- `SliceID` - -- `balanceSheetDate` - -- `tarif` - -- `GV` - -- `i` - -- `sex` - -- `age` - -- `contractClosing` - -- `sliceDate` - -- `policyPeriod` - -- `premiumPeriod` - -- `premiumFrequency` - -- `annuityFrequency` - -- `sumInsured` - -Columns used for comparison with the calculated values: - -- `Bruttoprämie` - -- `Sparprämie` - -- `Risikoprämie` - -- `Kostenprämie` - -- `Bilanzreserve` - -- `Gewinnreserve` - -- `Prämienübertrag` +For the documentation, see <https://cran.r-project.org/web/packages/LifeInsureR/vignettes/using-the-lifeinsurer-package.html>! diff --git a/vignettes/images/01_RStudio_ProjectTemplate_new.png b/vignettes/images/01_RStudio_ProjectTemplate_new.png deleted file mode 100644 index 1d17a679958ada8fe63ecd10f2f0d3008794fcd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7278 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 diff --git a/vignettes/images/02_RStudio_ProjectTemplate_new.png b/vignettes/images/02_RStudio_ProjectTemplate_new.png deleted file mode 100644 index ba76420ef8ac75202e1e189b056754c41de7ed4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30492 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 diff --git a/vignettes/images/03_RStudio_ProjectTemplate_selectTemplate.png b/vignettes/images/03_RStudio_ProjectTemplate_selectTemplate.png deleted file mode 100644 index 4ce31e7ade7b082a66247a3709d8b5701980b259..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31663 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 diff --git a/vignettes/images/04_RStudio_ProjectTemplate_projectSettings.png b/vignettes/images/04_RStudio_ProjectTemplate_projectSettings.png deleted file mode 100644 index 9ac947cb71b2a56be2e0dacfba83c1647d205dd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43901 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 USLxO}1_lNOPgg&ebxsLQ05wi=i2wiq diff --git a/vignettes/images/05_RStudio_ProjectTemplate_fileStructure.png b/vignettes/images/05_RStudio_ProjectTemplate_fileStructure.png deleted file mode 100644 index 96de59c51dcda3532156b5026f0b382aa11becaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33194 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 WGF{&9($B!az~JfX=d#Wzp$Py)Hv}^P diff --git a/vignettes/using-the-lifeinsurancecontracts-package.Rmd b/vignettes/using-the-lifeinsurancecontracts-package.Rmd index cdaed0e..1333142 100644 --- a/vignettes/using-the-lifeinsurancecontracts-package.Rmd +++ b/vignettes/using-the-lifeinsurancecontracts-package.Rmd @@ -19,2282 +19,7 @@ vignette: > %\VignetteEncoding{UTF-8} --- +This package has been renamed from LifeInsuranceContracts to LifeInsureR! -```{r setup, echo = FALSE, message=FALSE} -knitr::opts_chunk$set(collapse = TRUE, comment = "#>") -library(knitr) -library(kableExtra) -library(LifeInsuranceContracts) -library(dplyr) -library(tibble) -library(lubridate) -options(scipen=5) - -library(pander) - -panderOptions('round', 2) -panderOptions('digits', 12) -panderOptions('keep.trailing.zeros', TRUE) -panderOptions('table.split.table', 120) - -kableTable = function(grd, ...) { - grd %>% - kable(...) %>% - add_header_above(header = c(1, dim(grd)[[2]]) %>% `names<-`(names(dimnames(grd))), align = "c") %>% - kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F) %>% - column_spec(1, bold = T, border_right = T) -} - -``` - - -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. - -# General Overview of the Concepts - -An insurance contract is described by three different objects; - -* `InsuranceContract`: The object describing the actual contract with all - contract-specific parameters (age, maturity, sum insured, etc.). -* `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. -* ` ProfitParticipation`: For contracts with profit sharing mechanisms, this - object describes the profit participation (like the `InsuranceTarif` object - describes the guaranteed payments) and us used by the `InsuranceContract` - object. - - -The tariff and the profit scheme are purely descriptional and their creation does -not trigger any calculations. -However, when one creates a contract for a given tariff, the following steps are -done to calculate all values relevant for the contract: - -* Extract the transition probabilities (mortality) -* Set up all cash flow time series (premiums, guaranteed payments, survival payments, death payments, disease payments, charged cost cash flows) -* Calculate all present values for each time for all the cash flows (benefits, premiums and costs) -* Use the actuarial equivalence principle and the present values at time $t=0$ to calculate the premium of the contract -* Express all cash flows also in absolute (monetary) terms -* Calculate the reserves at every moment -* Calculate the premium decomposition -* Apply the (optional) profit participation scheme with the given profit scenario -* Optionally apply contract changes (premiums waivers, dynamic) and further profit scenarios - -All steps after the cash flow setup are implemented in a very generic way, as -the cash flows fully determine an insurance contract and as soon as the cash -flows are fixed, the valuation and reserve calculation can be expressed in -terms of expected present values of the cash flows only. - -While this might at first seem a bit complicated, it allows for very generic -implementations of life insurance products and contracts. - - -# A simple example: Term life insurance - -To understand how the package implements life insurance contracts, let us look -at a simple example: - -## Product description - -Term Life Insurance - -* Public product name '**DeathPlus - Short Term Life Insurance**', Internal ID '**L71-U**' -* Only **death benefits**, no survival benefits -* **Mortality table**: Austrian 2010/12 census table unisex (mixed 65:35 from the male:female tables) -* **Guaranteed interest rate**: 0.5% -* Default contract duration: 5 years (to keep the example short) -* **Regular premium** 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 --> - -**Costs**: - -* Aquisition costs: 5\% of the total premium sum -* Administration cost: 1% of the sum insured per year (both during premium payments as well as for paid-up contracts) -* Unit costs: 10 Euro per year (fixed) during premium payments -* Tax: 4% insurance tax (default) - -Surrender Value: - -* Reserve minus 10% surrender penalty, also applied on premium waiver - - -## Tariff implementation (InsuranceTarif) - -```{r SimpleExampleRiskTarif, warning=F, results="hide", message = F} -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 (5 years) with constant sum insured and regular premiums", - policyPeriod = 5, premiumPeriod = 5, # 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 - } -); -``` - -## Creating a contract - -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 `InsuranceContract` object: - -```{r SimpleExampleRiskContract} -contract.L71U = InsuranceContract$new( - Tarif.L71U, - age = 35, - contractClosing = as.Date("2020-08-18"), - sumInsured = 100000); -``` - -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 `contract.L71U$Values` list. - -A full list of all possible arguments can be found in the section [All possible parameters and their default values]. - - -Once the contract is created, all values can be accessed like this: - -```{r SimpleExampleRiskValuesPremCode, eval=F} -contract.L71U$Values$premiums -``` -```{r SimpleExampleRiskValuesPremCodeOut, echo=F} -contract.L71U$Values$premiums %>% kable -``` -```{r SimpleExampleRiskValuesResCode, eval=F} -contract.L71U$Values$reserves -``` -```{r SimpleExampleRiskValuesResOut, echo=F} -contract.L71U$Values$reserves %>% pander() -``` - -Looking back at the definition of the tariff, the only spot where the type of -insurance actually came in was the `type` 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. - -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 (only relevant -columns of the data.frame are shown): - -```{r SimpleExampleRiskCFCode, eval=F} -contract.L71U$Values$cashFlows -``` -```{r SimpleExampleRiskCFOut, echo=F} -contract.L71U$Values$cashFlows %>% select(starts_with('premiums'), starts_with('death'), -death_Refund_past ) %>% pander() -``` -```{r SimpleExampleRiskCFCostCode, eval=F} -contract.L71U$Values$cashFlowsCosts[,,,"survival"] -``` -```{r SimpleExampleRiskCFCostOut, echo=F, results="asis"} -for (base in dimnames(contract.L71U$Values$cashFlowsCosts)[[3]]) { - cat("* ,,\"", base, "\"\n", sep = "") - cat(contract.L71U$Values$cashFlowsCosts[,,base, "survival"] %>% pander(round = 4, style = "rmarkdown")) -} -``` - -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. - -```{r SimpleExampleRiskPVCode, eval=F} -contract.L71U$Values$presentValues -``` -```{r SimpleExampleRiskPVOut, echo=F} -contract.L71U$Values$presentValues %>% as.data.frame() %>% select(starts_with('premiums'), starts_with('death'), -death_Refund_past ) %>% pander(round=5) -``` -```{r SimpleExampleRiskPVCostCode, eval=F} -contract.L71U$Values$presentValuesCosts -``` -```{r SimpleExampleRiskPVCostOut, echo=F, results="asis"} -for (base in dimnames(contract.L71U$Values$presentValuesCosts)[[3]]) { - cat("* ,,\"", base, "\"\n", sep = "") - cat(contract.L71U$Values$presentValuesCosts[,,base,"survival" ] %>% pander(round = 4, style = "rmarkdown")) -} -``` -```{r SimpleExampleRiskPVPremCode, eval=F} -contract.L71U$Values$premiums -``` -```{r SimpleExampleRiskPVPremOut, echo=F} -contract.L71U$Values$premiums %>% data.frame() %>% pander() -``` - -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. - -The premiums allow the unit cash flows and present values to be converted to -monetary terms (fields `contract.L71U$Values$absCashFlows` and -`contract.L71U$Values$absPresentValues`). Also, the reserves of the -contract can be calculated. - -```{r SimpleExampleRiskPremiumsCode, eval=F} -contract.L71U$Values$reserves -``` -```{r SimpleExampleRiskPremiumsOut, echo=F} -contract.L71U$Values$reserves %>% pander(digits=2) -``` - -Also, the premium composition into costs, risk premium, savings premium and -other components is possible. - -```{r SimpleExampleRiskPremiumCompositionCode, eval=F} -contract.L71U$Values$premiumComposition -``` -```{r SimpleExampleRiskPremiumCompositionOut, echo=F} -contract.L71U$Values$premiumComposition %>% as.data.frame() %>% select(-loading.frequency, -rebate.premium, -rebate.partner, -profit.advance, -rebate.sum, -charge.noMedicalExam, -premium.risk.actual, -premium.risk.security, -risk.disease, -premium.risk.disease.actual, -premium.risk.disease.security, -starts_with('Zillmer')) %>% pander() -``` - - - - -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. - -```{r SimpleExampleRiskConversionCode, eval=F} -contract.L71U.prf = contract.L71U$premiumWaiver(t = 3) -contract.L71U.prf$Values$reserves -``` -```{r SimpleExampleRiskConversionOut, echo=F} -contract.L71U.prf = contract.L71U$premiumWaiver(t = 3) -contract.L71U.prf$Values$reserves %>% pander() -``` - - - -## Creating tables with various parameters - -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). - -This can be easily done by the functions `contractGridPremium()` or `contractGrid()`. -They take one argument `axes`, 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()`. - - -First, let us create a grid of premiums for different ages and maturities (for -sum insured 100,000 Euro): -```{r SimpleExampleRiskPremiumGrid, eval=T, results="hide"} -grd = contractGridPremium( - axes = list(age = seq(20, 80, 5), policyPeriod = seq(10, 40, 5)), - tarif = Tarif.L71U, - contractClosing = as.Date("2020-08-18"), - sumInsured = 100000 -) -grd -``` -```{r SimpleExampleRiskPremiumGridOut, echo = F} -grd %>% kableTable(digits = 2) - -``` - -One can also pass more than two dimensions to the axes: -```{r SimpleExampleRiskPremiumGrid3D, results = "hide"} -grd = 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") -) -grd -``` -```{r SimpleExampleRiskPremiumGrid3DOut, echo=F, results="asis"} -for (d in dimnames(grd)[[3]]) { - cat("\n", "* , , ", names(dimnames(grd))[[3]], "=", d, "\n\n", sep = "") - # cat(grd[,,d ] %>% as.data.frame() %>% rownames_to_column("age \\| policyPeriod") %>% pander(digits = 7, round = 2, style = "rmarkdown")) - cat(grd[,,d ] %>% kableTable(digits = 2), "\n") -} - -``` - - -One can use any of the parameters of the `InsuranceContract$new()` call in the -`axes` argument, even the `tarif` or `mortalityTable` parameters. -This means that one can create tables comparing different tariffs, or showing -the effect of different life tables. - -In the following example, we use the tarif `Tarif.L71U`, 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): - -```{r SimpleExampleRiskPremiumGridLifeTables, results = "hide"} -grd = contractGridPremium( - axes = list(mortalityTable = mort.AT.census["m", ], age = seq(20, 80, 10)), - tarif = Tarif.L71U, - sumInsured = 100000, - contractClosing = as.Date("2020-08-18") -) -grd -``` -```{r SimpleExampleRiskPremiumGridLifeTablesOUT, echo = F} -grd %>% pander(round=1, digits=15, keep.trailing.zeros = T) -``` - - -# All possible parameters - -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 `ProfitParticipation`'s default parameters or the global defaults in the -`InsuranceContract.ParameterDefault`. The cascade or parameters is (from top to -bottom): - -* explicit parameters passed to `InsuranceContract$addProfitScenario()` (applies - only for the added profit scenario) -* explicit parameters passed to `InsuranceContract$new()` or `InsuranceContract$clone()` -* parameters set with the `ProfitParticipation` -* parameters set with the `InsuranceTarif` -* Default values set in `InsuranceContract.ParameterDefaults` - -In addition to the parameters listed below, the `InsuranceContract$new()` -constructor function takes the following parameters - -\define{ -\item{tarif}{The `InsuranceTarif` object describing the tarif} -\item{parent}{For contracts with multiple parts, children get passed a pointer to the parent} -\item{calculate}{How much of the contract to calculate (by default everything will be calculated)} -\item{profitid}{The profit ID for contracts with profit participation} -} - -```{r} -str(InsuranceContract.ParameterDefaults) -``` -```{r, results="asis"} -# pandoc.listRK(InsuranceContract.ParameterDefaults) -``` - -# Tarif and Contract Specification - -An insurance contract is modelled by the abstract product specification -(`InsuranceTarif` class) and the concrete (individualized) `InsuranceContract`. - -* The `InsuranceTarif` object describes the product in abstract terms, holds - default parameters and provides all calculation functions for cash flows, - present values, premiums and reserves (provided the contract's actual Parameters). - It does not, however, hold contract-specific data. -* The `InsuranceContract` object holds the individual contract data (like age, contract - closing date, sum insured, etc.) that override the tariff's defaults. It also - holds a pointer to the insurance tariff and provides the general logic to - calculate all parts of an insurance contract by calling the corresponding - functions of the tariff. - -The insurance contract and the underlying insurance tariff have the same possible -parameters in its constructors: The `InsuranceTarif` uses them to define defaults -for contracts that use the tariff, while the parameters passed to the contract -either provide the individually required data like age, sum insured or maturity, -or they can override the defaults provided by the tariff. In theory, one could -even create a contract with an empty underlying tariff and provide all tariff-specific -parameters also in the contract's `new` call. - -## Creating the tariff - -The `InsuranceTarif` class provides a way to define an abstract insurance product. -The most important parameters to be passed in the `InsuranceTarif$new()` call are: - -| | | -|:-----|:----------| -|**General settings for the Tariff** || -| `name`, `tarif`, `desc` | IDs and human-readable descriptions of the insurance product. They are just used as labels and array keys, but do not influence the calculations.| -| `type` | the most important parameter, defining the type of life insurance product (endowment, pure endowment, annuity, whole life insurance, dread-disease insurance, etc.)| -|**Actuarial Bases for the Tariff** || -| `mortalityTable` | a `MortalityTable` Object (package "MortalityTables"), providing the transition probabilities (typically death probabilities, but potentially also morbidity in dread-disease insurances)| -| `i` | Guaranteed interest rate| -| `costs`, `unitcosts` | passed a data structure for all cost parameters (see below)| -| `premiumFrequencyLoading` | surcharge for premium payments more often than yearly (as a named list)| -| `premiumRefund` | how much of the (gross) premium paid is returned upon death (often provided e.g. in deferred annuities or pure endowments with no fixed death benefit)| -| `tax` |insurance tax -|**Benefit calculation** || -| `surrenderValueCalculation` | can be passed a hook function that calculates the surrender value given the current reserves at each time step| - - - -A typical call looks like the following for a pure endowment with gross premium -refund upon death and a linearly decreasing surrender penalty: - - - -```{r TarifDefinition, message = F} -Tarif.PureEnd = InsuranceTarif$new( - name = "Example Tariff - Pure Endowment", - type = "pureendowment", - tarif = "PE1-RP", - desc = "A pure endowment with regular premiums (standard tariff)", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - # Costs: 4% acquisition, where 2.5% are zillmered, 5\% of each premium as beta costs, - # 1%o administration costs of the sum insured over the whole contract period - costs = initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.001, gamma.paidUp = 0.001), - unitcosts = 10, - - # Yearly premiums get no surcharge, monthly premiums add +4% - premiumFrequencyLoading = list("1" = 0, "12" = 0.04), - premiumRefund = 1, # Full gross premium refund upon death - tax = 0.04, # 4% insurance tas - - surrenderValueCalculation = function(surrenderReserve, params, values) { - n = params$ContractData$policyPeriod - # Surrender Penalty is 10% at the beginning and decreases linearly to 0% - surrenderReserve * (0.9 + 0.1 * (0:n)/n) - } -) -``` - -Many parameters do not need to be given explicitly, but instead use sensible -defaults (like the `premiumPeriod`, which by default equals the whole contract -period, i.e. regular premium payments over the whole contract duration). - -To create a similar tariff with some changes, one can call the `createModification` -method of the `InsuranceTarif` clas, which takes as arguments all insurance -parameters that should be changed for the new tarif. - -To create a single-premium version of the pure endowment shown above, one can simply -use a call like: - -```{r TarifDefinitionSP} -Tarif.PureEnd.SP = Tarif.PureEnd$createModification( - name = "Example Tariff - Pure Endowment (SP)", - tarif = "PE1-SP", - desc = "A pure endowment with single premiums", - premiumPeriod = 1 -) -``` - -### Sample tariffs for the most common life insurance types - -For the examples in the remainder of this vignette, we can create some more -example tariffs covering the most common types of life insurance. - - -**General definitions for all tariffs** -```{r TarifDefinitions.All,message = F} -library(MortalityTables) -mortalityTables.load("Austria_Census") -mortalityTables.load("Austria_Annuities_AVOe2005R") - # Costs: 4% acquisition, where 2.5% are zillmered, 5\% of each premium as beta costs, - # 1%o acquisition costs of the sum insured over the whole contract period -example.Costs = initializeCosts( - alpha = 0.04, Zillmer = 0.025, - beta = 0.05, - gamma.contract = 0.001, gamma.paidUp = 0.001 -) -example.Surrender = function(surrenderReserve, params, values) { - n = params$ContractData$policyPeriod - # Surrender Penalty is 10% at the beginning and decreases linearly to 0% - surrenderReserve * (0.9 + 0.1 * (0:n)/n) -} -``` - -**Endowment** - -```{r TarifDefinitions.All.End} -Tarif.Endowment = InsuranceTarif$new( - name = "Example Tariff - Endowment", - type = "endowment", - tarif = "EN1", - desc = "An endowment with regular premiums", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - costs = example.Costs, - unitcosts = 10, - tax = 0.04, # 4% insurance tax - surrenderValueCalculation = example.Surrender -) -``` - -**Whole / Term Life Insurance** -```{r TarifDefinitions.All.Life} -Tarif.Life = InsuranceTarif$new( - name = "Example Tariff - Whole/Term Life", - type = "wholelife", - tarif = "Life1", - desc = "A whole or term life insurance with regular premiums", - - mortalityTable = mort.AT.census.2011.unisex, - i = 0.005, - costs = example.Costs, - unitcosts = 10, - tax = 0.04, # 4% insurance tax - surrenderValueCalculation = example.Surrender -) -``` - -**Immediate Annuity (single premium)** -```{r TarifDefinitions.All.ImmAnnuity} -Tarif.ImmAnnuity = InsuranceTarif$new( - name = "Example Tariff - Immediate Annuity", - type = "annuity", - tarif = "Ann1", - desc = "An annuity with single-premium", - premiumPeriod = 1, - - mortalityTable = AVOe2005R.unisex, - i = 0.005, - costs = example.Costs, - tax = 0.04 # 4% insurance tax -) -``` - -**Deferred Annuity** -```{r TarifDefinitions.All.DefAnnuity} -# Premium periods and deferral periods can also be given as a function of other -# contract parameters (like the age at contract inception, etc.) -Tarif.DefAnnuity = InsuranceTarif$new( - name = "Example Tariff - Deferred Annuity", - type = "annuity", - tarif = "Life1", - desc = "A deferred annuity (life-long payments start at age 65) with reg. premiums", - - policyPeriod = function(params, values) { 120 - params$ContractData$age}, - deferralPeriod = function(params, values) { 65 - params$ContractData$age}, - premiumPeriod = function(params, values) { 65 - params$ContractData$age}, - - mortalityTable = AVOe2005R.unisex, - i = 0.005, - costs = example.Costs, - tax = 0.04, # 4% insurance tax - surrenderValueCalculation = example.Surrender -) -``` - -**Dread-Disease Insurance** -```{r TarifDefinitions.All.DD} -# An example dread-disease tariff, morbidity is assumed linearly increasing with age -ddTable = mortalityTable.period(name = "Linear dread-disease table", - ages = 0:100, deathProbs = 0:100/500) -Tarif.DreadDisease = InsuranceTarif$new( - name = "Example Tariff - Dread-Disease", - type = "dread-disease", - tarif = "DD1", - desc = "A dread disease insurance with a lump-sum payment upon diagnosis", - - sumInsured = 50000, - mortalityTable = mort.AT.census.2011.unisex, - invalidityTable = ddTable, - i = 0.005, - costs = example.Costs, - unitcosts = 10, - tax = 0.04, # 4% insurance tax - surrenderValueCalculation = example.Surrender -) -``` - -## Creating a contract - -While the tariff describes the general product features, the contract object -holds the data of a concrete contract. All insurance parameters (see section -[All possible parameters and their default values]) can be given to override -tarif defaults. - -However, the most important and often used parameters are: - -| | | -|:-----|:---------| -|**Information about insuree** | -| `age` |the age of the insured person at contract start -| `YOB` | the year of birth of the insured person (`age`, `YOB` and `contractClosing` are redundant, at most two need to be given). YOB is only relevant for cohort mortality tables. For period life tables (which are independent of the birth year of the person), this parameter is not needed. | -| `sex` | relevant for sex-specific life tables (common in the past) | -|**Contract details** | -| `sumInsured` | the benefit when the insured event happens. Typically the lump sum for whole life insurances or endowments, or the (yearly) payment for annuities | -| `policyPeriod` | the duration of the whole contract | -| `premiumPeriod` | how long premiums are paid (1 for single-premiumcontracts, equal to `policyPeriod` (default) for regular premiums) | -| `premiumFrequency` | how often premiums are paid within a year (e.g.1 for yearly premiums, 4 for quarterly, 12 for monthly) | -| `contractClosing` | the starting date of the contract | -| `deathBenefit` | gives the factor of death benefit relative to the sum insured / survival benefit of endowments (1 means equal death and survival probabilities), can also be a function with non-constant values over time | -| `noMedicalExam`, `noMedicalExamRelative`, `sumRebate`, `extraRebate`, `premiumRebate` | various types of rebates or charges. They can either be defined in general functional form in the tariff to apply to all contracts, or given individually for each contract. For the details, when each of these rebates are applied, check the formula reference document.| - - - -For the pure endowments defined above, a typical contract would be created like -this: - -```{r Contract} -contract.PureEnd = InsuranceContract$new( - Tarif.PureEnd, - age = 50, policyPeriod = 20, - premiumFrequency = 12, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01") - ) -``` - -```{r Contract.premiums,eval=F} -contract.PureEnd$Values$premiums -``` - -```{r Contract.premiumsOUT, echo = F} -contract.PureEnd$Values$premiums %>% kable(digits=4) -``` -```{r Contract.premiumComposition,eval=F} -contract.PureEnd$Values$premiumComposition -``` -```{r Contract.premiumCompositionOUT, echo = F} -contract.PureEnd$Values$premiumComposition %>% as.data.frame() %>% rowid_to_column("t") %>% mutate(t = t-1) %>% select(t, charged, tax, loading.frequency, gross, gamma, beta, alpha, alpha.noZillmer, alpha.Zillmer, Zillmer, net, risk, savings) %>% pander -``` - -Due to the full premium refund in case of death, there is only very little -biometric risk involved. If the premium refund is not included in the contract, -then we have a negative biometric risk over the whole period (i.e. negative -risk premium, because upon death the existing reserves is shared with the -collective). The premium refund can be overridden directly in the contract call: - -```{r ContractNoRefund} -contract.PureEnd.NoRefund = InsuranceContract$new( - Tarif.PureEnd, - age = 50, policyPeriod = 20, - premiumFrequency = 12, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01"), - premiumRefund = 0 - ) - -``` -```{r Contract.premiumsCode, eval = F} -cbind(`With refund` = contract.PureEnd$Values$premiums, `Without refund` = contract.PureEnd.NoRefund$Values$premiums) -```{r Contract.premiumsOut, echo = F} -cbind(`With refund` = contract.PureEnd$Values$premiums, `Without refund` = contract.PureEnd.NoRefund$Values$premiums) %>% pander -``` -```{r Contract.riskpremiumsCode, eval = F} -cbind( - `Gross premium with refund` = contract.PureEnd$Values$premiumComposition[,"gross"], - `Gross premium w/o refund` = contract.PureEnd.NoRefund$Values$premiumComposition[,"gross"], - `Risk premium with refund` = contract.PureEnd$Values$premiumComposition[,"risk"], - `Risk premium w/o refund` = contract.PureEnd.NoRefund$Values$premiumComposition[,"risk"] -) - -```{r Contract.riskpremiumsOut, echo = F} -cbind( - `Gross premium with refund` = contract.PureEnd$Values$premiumComposition[,"gross"], - `Gross premium w/o refund` = contract.PureEnd.NoRefund$Values$premiumComposition[,"gross"], - `Risk premium with refund` = contract.PureEnd$Values$premiumComposition[,"risk"], - `Risk premium w/o refund` = contract.PureEnd.NoRefund$Values$premiumComposition[,"risk"] -) %>% as_tibble() %>% rowid_to_column("t") %>% mutate(t = t-1) %>% pander -``` - - -To create a single-premium contract, one can either use the single-premium tarif -defined above, or simply pass `premiumPeriod=1` to the call: - -```{r Contract.SP} -contract.PureEnd.SP1 = InsuranceContract$new( - Tarif.PureEnd, - age = 40, policyPeriod = 45, premiumPeriod = 1, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01") - ) -contract.PureEnd.SP2 = InsuranceContract$new( - Tarif.PureEnd.SP, - age = 40, policyPeriod = 45, # premiumPeriod already set by tariff! - sumInsured = 100000, - contractClosing = as.Date("2020-07-01") - ) - -all_equal(contract.PureEnd.SP1$Values$reserves, contract.PureEnd.SP2$Values$reserves) - -``` - - -## Determining Sum Insured from the premium - -By default, the insurance contract is created for a given sum insured and the -premiums are calculated accordingly. Sometimes, the reverse is needed: The -premium (either actuarial gross premium, written premium before or after taxes) -is given and the corresponding sum insured should be determined automatically. - -The `InsuranceContract` constructor / parameter set has an additional field -`premium` to indicate the desired premium (written premium after tax by default) -from which the sum insured is then calculated: -```{r PrescribePremium} -# Premium calculated from sumInsured -contract.End = InsuranceContract$new( - Tarif.Endowment, age = 35, policyPeriod = 10, - contractClosing = as.Date("2020-08-18"), - sumInsured = 10000); - -# sumInsured derived from written premium -contract.End.premium = InsuranceContract$new( - Tarif.Endowment, age = 35, policyPeriod = 10, - contractClosing = as.Date("2020-08-18"), - premium = 1139.06); - -contract.End.premiumBeforeTax = InsuranceContract$new( - Tarif.Endowment, age = 35, policyPeriod = 10, - contractClosing = as.Date("2020-08-18"), - premium = c(written_beforetax = 1095.25)); - -contract.End.premiumGross = InsuranceContract$new( - Tarif.Endowment, age = 35, policyPeriod = 10, - contractClosing = as.Date("2020-08-18"), - premium = c(gross = 1085.25)); - -``` -```{r PrescribePremiumOUTPUT,echo = FALSE} -bind_rows( - c(Contract = "contract.End", contract.End$Values$premiums[c("net", "Zillmer", "gross", "written_beforetax", "written")], sumInsured = contract.End$Parameters$ContractData$sumInsured), - c(Contract = "contract.End.premium", contract.End.premium$Values$premiums[c("net", "Zillmer", "gross", "written_beforetax", "written")], sumInsured = contract.End.premium$Parameters$ContractData$sumInsured), - c(Contract = "contract.End.premiumBeforeTax", contract.End.premiumBeforeTax$Values$premiums[c("net", "Zillmer", "gross", "written_beforetax", "written")], sumInsured = contract.End.premiumBeforeTax$Parameters$ContractData$sumInsured), - c(Contract = "contract.End.premiumGross", contract.End.premiumGross$Values$premiums[c("net", "Zillmer", "gross", "written_beforetax", "written")], sumInsured = contract.End.premiumGross$Parameters$ContractData$sumInsured) -) -``` - -The final written premium can be directly passed as the `premium` argument. Other -types of premium must be passed as a named number (i.e. a one-element vector with -name "gross", "written_beforetax" or "written"). - -If a premium is prescribed, a `sumInsured` must not be given. If both are given, -the sumInsured is used and the prescribed premium is silently ignored. - -The are cases, when the sumInsured cannot be derived from a prescribed premium. -One relevant case is when a premium rebate depends on the sum insured, since in -this case we need the sumInsured to calculate the rebate and thus the premium. -All rebates, add-ons and other parameters will temporarily use a sumInsured=1 -during the calculation of the actual sumInsured! - - - -## Providing additional capital at contract inception - -Often, when a contract is changed significantly, this is modelled as a totally -new contract, with the existing reserve provided as additional one-time payment -for the follow-up contract. This is different from a single-premium contract, -because the new contract can have regular premiums, just the existing reserve -is used as the initial reserve of the new contract. - -The package provides the argument `initialCapital` to provide initial capital -that is also included in the calculation of the premium of the contract. - -```{r InitialCapital} -# Contract with initial capital of 5.000 EUR -contract.Endow.initialCapital = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - initialCapital = 5000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -# For comparison: Contract without initial capital of 5.000 EUR -contract.Endow = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -``` -Comparing the reserves, one can clearly see the initial capital used as initial reserve: - -```{r InitialCapitalOUTPUT} -data.frame( - `Premium with initialCapital`= contract.Endow.initialCapital$Values$premiumComposition[,"charged"], - `Premium without initialCapital`= contract.Endow$Values$premiumComposition[,"charged"], - `Res.with initialCapital`= contract.Endow.initialCapital$Values$reserves[,"contractual"], - `Res.without initialCapital`= contract.Endow$Values$reserves[,"contractual"] -) -``` - - -## Premium Waivers - -After a while, many customers do not want to pay premiums for the contract any -more and convert the contract to a paid-up contract. The unit benefit cash flows -from that moment on stay the same, but the sum insured is adjusted, so that the -existing reserve is able to cover all future benefits and costs. Furthermore, -paid-up contracts typically have differen costs / loadings. Additionally, the -surrender penalty is usually applied to the reserve before the conversion. - -Waiving premiums and recalculating the sum insured is very easy, one just calls -the method `InsuranceContract$premiumWaiver(t = ..)` on the existing contract. - -```{r Contract.PureEndPrf, results="hide"} -contract.PureEnd.NoRefund.Prf = contract.PureEnd.NoRefund$clone()$premiumWaiver(t = 7) -contract.PureEnd.NoRefund.Prf$Values$reserves -``` -```{r Contract.PureEndPrfOUT, echo=F} -contract.PureEnd.NoRefund.Prf$Values$reserves %>% pander -``` - -Notice that the contract changes are made directly to the contract ("reference semantics"). This is -different from the typical behavior of R, where any change to e.g. a data.frame -leaves the original data.frame intact and instead returns a modified copy. - - - - -# 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. 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. -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** -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 / 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)** -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 -(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**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 -the methods `InsuranceContract$profitScenario()` or `InsuranceContract$addProfitScenario()`. - - -## 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 **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 -cash flows: - -* premium cash flows: 1, 1, 1, 1, 1, ... -* survival cash flows: 0, 0, 0, 0, 0, ... -* 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: - -* premium cash flows: 1, 0, 0, 0, 0, ... - -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, ... -* survival cash flows: 0, 0, ..., 0, 1 -* 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: - -* 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**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.: - -* premium cash flows: 1, 1, ..., 1, 0, 0, 0, ... -* survival cash flows: 0, 0, ..., 0, 1, 1, 1,... -* 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 -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): - -* premium cash flows: 1, 1, 1, 1, ..., 1 -* survival cash flows: 0, 0, 0, 0, ..., 0 -* guaranteed cash flows: 0, 0, 0, ..., 0, 1 -* death benefit cash flows: 0, 0, 0, 0, ..., 0 - - - - -# Cost structure - -Costs of an insurance contracts can have various forms and bases. - -The `InsuranceContract` class provides all common types of costs: - - -* Type of cost: Acquisition (Alpha-costs), Zillmer, Beta-costs, Administration (Gamma-costs during / after premiums and for paid-up contracts) -* Basis for costs: SumInsured, Premium Sum, Gross Premium, Net Premium, Reserve, constant costs -* Duration of costs: Once (up-front), during premium payments, after premium payments, during whole contract - -The cost structure generated by `initializeCosts()` is a three-dimensional array -with the above-mentioned coordinates: -```{r costStructureDimensions} -initializeCosts() %>% dimnames -``` - -The most common types of cost can be directly given in the call to `initializeCosts()`, -but for some uncommon combinations, one can directly fill any of the fields in the -three-dimensional array manually. -```{r costExample, eval=F} -initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.001) - -# the above is the short form of: -costs.Bsp = initializeCosts() -costs.Bsp[["alpha", "SumPremiums", "once"]] = 0.04 -costs.Bsp[["Zillmer", "SumPremiums", "once"]] = 0.025 # German Zillmer maximum -costs.Bsp[["beta", "GrossPremium", "PremiumPeriod"]] = 0.05 -costs.Bsp[["gamma", "SumInsured", "PolicyPeriod"]] = 0.001 -``` - -These costs parameters are immediately converted to the corresponding cash flows -when the contract is created. In the above example of a pure endowment (with -premium waiver at time 7), the absolute cost cash flows are: - -```{r costCashFlowsCode, eval=F} -contract.PureEnd.NoRefund$Values$absCashFlows -``` -```{r costCashFlows, echo=F} -contract.PureEnd.NoRefund$Values$absCashFlows[1:11,] %>% select(alpha, Zillmer, beta, gamma, gamma_nopremiums, unitcosts) %>% pander() -``` - - -In addition to these standardized costs, which are included in the expense-loaded -premium (sometimes also called the "(actuarial) gross premium"), there are certain -loadings and rebates that are applied after the expense-loaded premium $BP_x$: - -$$P_x = \left\{ (BP_x + oUZu - SuRa) \cdot VS \cdot (1-VwGew) + unitC\right\} \cdot \left(1-PrRa-VwGew_{StkK}-PartnerRa\right)\cdot \left(1+uz(k)\right) \cdot (1+tax)$$ - -with the following surcharges and rebates: - -* $oUZu$ ... Surcharge for contracts without medical exam (parameter `noMedicalExam`) -* $SuRa$ ... Sum rebate (depending on the sum insured) (parameter `sumRebate`) -* $VwGew$ ... Advance profit participation (as premium rebate) (parameter `advanceProfitParticipation`) -* $unitC$ ... Unit costs per year (only during premium payments) (parameter `unitcosts`) -* $PrRa=PrRa(BP)$ ... Premium rebate (depending on premium amount) (parameter `premiumRebate`) -* $VwGew_{StkK}$ ... Advance profit participation (as premium rebate, on premium after unit costs) (parameter `advanceProfitParticipationInclUnitCost`) -* $PartnerRa$ ... Partner rebate on the premium (for multiple similar contracts) (parameter `partnerRebate`) -* $uz(k)$ ... Frequency charge for monthly/quarterly/half-yearly premium payments instead of yearly premiums (parameter `premiumFrequencyLoading`) -* $tax$ ... Insurance tax (0% in most countries, 4% or 11% in Austria) (parameter `tax`) - - - - -## Frequency charges - -Typically, an insurance premium is calculated with yearly premiums paid in advance. -If premiums are paid more often per year (Parameter `premiumFrequency` or -`benefitFrequency` set to a value larger than 1, typically 2 for half-yearly, -4 for quarterly, or 12 for monthly payments), part of the interest during the year -is lost, as well as the premiums for the remainder of the year if the insured event -happens. So usually there is some kind of extra charge included: - -* A frequency charge is added on the gross premium => Parameter `premiumFrequencyLoading` - and `benefitFrequencyLoading` are set to a list with keys "1", "2", "4" and "12" - and values that correspond to the extra charge (as a factor on the gross premium, - i.e. a percentage). -* The premium or benefit payments are calculated (approximately) as payments - $k$-times per year using yearly death / incidence probabilities. This calculation - is typically using some approximations in $k$ => Parameter `premiumFrequencyOrder` - and `benefitFrequencyOrder` set to a value larger than 0. -* Contracts with $k>1$ have higher cost loadings on the gross premium. => - Parameter `costs` is implemented a function with signature $function(params, values)$, - which accesses `params$ContractData$premiumFrequency` to return different expense - rates for different premium payment frequencies. -* If the guaranteed interest rate is 0\%, the exact moment of payment during a year - is irrelevant for the guaranteed values. However, if a yield larger than 0\% is - achieved, it is assigned to the contract via profit participation. So it makes - sense adjust profit participation rates depending on the premium frequency - rather than modifying the premium. The higher the profit participation, the - higher the effect of the $k$-th yearly premium payments and the higher the - modification of the rates can be. => Parameter `getInterestProfitRate` of - the profit scheme can be implemented as a function that modifies the - rate depending on the premium or benefit frequency (similar to the cost adjustment - mentioned in the previous item). - -```{r FrequencyCharges} -Tarif.Life.FrequencyLoading = Tarif.Life$createModification( - name = "Term life (frequency loading)", - premiumFrequencyLoading = list("1" = 0.0, "2" = 0.01, "4" = 0.015, "12" = 0.02) -) -Tarif.Life.FrequencyApprox1 = Tarif.Life$createModification( - name = "Term life (k-th yearly, approx. 1.Ord.)", - premiumFrequencyOrder = 1 -) -Tarif.Life.FrequencyApprox2 = Tarif.Life$createModification( - name = "Term life (k-th yearly, approx. 2.Ord.)", - premiumFrequencyOrder = 2 -) -Tarif.Life.FrequencyApprox3 = Tarif.Life$createModification( - name = "Term life (k-th yearly, exact)", - premiumFrequencyOrder = Inf -) - -Tarif.Life.FrequencyExpense = Tarif.Life$createModification( - name = "Term life (modified gamma costs)", - costs = function(params, values) { - switch (toString(params$ContractData$premiumFrequency), - "12" = initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.00127, gamma.paidUp = 0.001), - "4" = initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.00119, gamma.paidUp = 0.001), - "2" = initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.0011, gamma.paidUp = 0.001), - initializeCosts(alpha = 0.04, Zillmer = 0.025, beta = 0.05, gamma.contract = 0.001, gamma.paidUp = 0.001) - ) - } -) -``` - -Of course, the loadings and costs mentioned above are not necessarily mathematically -derived to offset the interest effect of k-th yearly payments. Rather, they are -often simply decided by the management. Thus, the three approaches implemented -here can have quite different results: -```{r FrequencyCharges.Grid} -contractGridPremium( - axes = list(tarif = c(Tarif.Life.FrequencyLoading, Tarif.Life.FrequencyApprox1, - Tarif.Life.FrequencyApprox2, Tarif.Life.FrequencyApprox3, - Tarif.Life.FrequencyExpense), - premiumFrequency = c(1, 2, 4, 12)), - age = 40, policyDuration = 20, - sumInsured = 100000, - contractClosing = as.Date("2020-09-01") -) %>% kableTable -``` - - - -## Security loadings - -Although most mortality tables and expense loadings already have a certain amount -of security margins included, often a tariff (mostly protection products) adds -an additional security loading directly to the net present value of the benedits. - -This can be easily implemented using the parameter `security`: - -```{r Protection.Security} -contractGridPremium( - axes = list(age = seq(30, 60, 10), security = 10*(0:5)/100), - tarif = Tarif.Life, - policyDuration = 20, - sumInsured = 100000, - contractClosing = as.Date("2020-09-01") -) %>% kableTable(digits = 2) -``` - -# Creating premium and contract grids - -When developing a new product or comparing different products, it is often -required to create tables of premiums or reserves for a product/tarif where -just some of the parameters (like age, sum insured or maturity) change. - -For this purpose, this package provides two functions to create two- or -higher-dimensional grids of contracts with each dimension representing one -of the parameters varying. - -* `contractGrid()` creates a (two- or higher-dimensional) grid of `InsuranceContract` object -* `contractGridPremium()` creates a grid of the premiums - -The grid is defined by the `axes` argument to the `contractGrid()` call. This is -a named list giving all parameters that should vary inside the grid. Any of the -parameters of the `InsuranceContract$new()` constructor can be used in the axes. - -For example, one can compare multiple tariffs or multiple varying pararameters. - -Let us look at the pure endowment above, which we implemented as a single-premium -variant and a variant with regular premiums, both of which have a potential -(partial or full) premium refund in case of death. How do the premiums of these -contracts compare and how do the premiums depend on the premium refund proportion? - -```{r Grid.Endowment.compare, results = "hide"} -grd = contractGridPremium( - axes = list(tarif = c(Tarif.PureEnd, Tarif.Endowment, Tarif.PureEnd.SP), premiumRefund = c(0, 0.5, 1)), - age = 50, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01") -) -grd -``` -```{r Grid.Endowment.compareOUT, echo = F} -grd %>% kableTable -``` - -The default implementation of `contractGridPremium` returns the written premium, -but one can also choose other types of premiums to display, or even other -contract values (like reserves). - -If one needs to investigate multiple values, it is better to first create a grid -of insurance contract objects and store it, so that the call to `contractGridPremium` -does not have to re-calculate the same contracts over and over again, extract just -one premium and discard the whole contract. - -```{r Grid.Endowment.compareOther} -grd = contractGrid( - axes = list(tarif = c(Tarif.PureEnd, Tarif.Endowment, Tarif.PureEnd.SP), premiumRefund = c(0, 0.5, 1)), - age = 50, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2020-09-01") -) -``` -```{r Grid.Endowment.compareOtherG1, eval = F} -# Compare net premiums without loadings: -contractGridPremium(grd, premium = "net") -``` -```{r Grid.Endowment.compareOtherG1Out, echo = F} -contractGridPremium(grd, premium = "net") %>% kableTable -``` - -```{r Grid.Endowment.compareOtherG2, eval = F} -# Compare premium sums over the whole contract period (all contracts have the same sumInsured) -contractGridPremium(grd, .fun = function(c) {with(c$Values, - unitPremiumSum * premiums["written"]) -}) -``` -```{r Grid.Endowment.compareOtherG2Out, echo = F} -# Compare premium sums over the whole contract period (all contracts have the same sumInsured) -contractGridPremium(grd, .fun = function(c) {with(c$Values, - unitPremiumSum * premiums["written"]) -}) %>% kableTable(digits = 2) -``` - -```{r Grid.Endowment.compareOtherG3, eval = F} -# Compare risk premiums at time t=10 (the 11th row of the premium decomposition) -contractGridPremium(grd, .fun = function(c) {c$Values$premiumComposition[11, "risk"]}) -``` -```{r Grid.Endowment.compareOtherG3Out, echo = F} -# Compare risk premiums at time t=10 (the 11th row of the premium decomposition) -contractGridPremium(grd, .fun = function(c) {c$Values$premiumComposition[11, "risk"]}) %>% kableTable(digits = 2) -``` - -```{r Grid.Endowment.compareOtherG4, eval = F} -# Compare present value of all benefits and refunds (without costs) at time t=0 -contractGridPremium(grd, .fun = function(c) {c$Values$absPresentValues[1, "benefitsAndRefund"]}) -``` -```{r Grid.Endowment.compareOtherG4Out, echo = F} -# Compare present value of all benefits and refunds (without costs) at time t=0 -contractGridPremium(grd, .fun = function(c) {c$Values$absPresentValues[1, "benefitsAndRefund"]}) %>% kableTable(digits = 2) -``` - - - - -Other useful examples of grid comparisons include e.g. the effect of the interest -rate and the mortality table on the premiums: - -```{r Grid.Protection, results ="hide"} -grd = contractGridPremium( - axes = list(mortalityTable = mort.AT.census["m", -(1:10)], i = c(0, 0.005, 0.01), age = c(30, 45, 60), policyPeriod = c(10, 20)), - tarif = Tarif.Life, - contractClosing = as.Date("2020-09-01"), - sumInsured = 10000 -) -grd -``` - -```{r Grid.ProtectionOUT, echo=F, results="asis"} -for (a in dimnames(grd)[[3]]) { -for (d in dimnames(grd)[[4]]) { - cat("\n", "* ", names(dimnames(grd))[[3]], "=", a, ", ", names(dimnames(grd))[[4]], "=", d, "\n\n", sep = "") - # cat(grd[,,d ] %>% as.data.frame() %>% rownames_to_column("age \\| policyPeriod") %>% pander(digits = 7, round = 2, style = "rmarkdown")) - cat(grd[,, a, d] %>% kableTable(digits = 2), "\n") -} -} -``` - - -# Exporting contract data to Excel - -The LifeInsuranceContracts package also provides a function to export a given -contract to a spreadsheet in Excel format: - -* `exportInsuranceContract.xlsx(contract, filename)` - -This function takes the contract and exports all data.frames in the contract's -`contract$Values` data list as separate tabs to a spreadsheet file. It also -adds some nice formatting and additional markup. For contracts with multiple -contract blocks (e.g. dynamic increases / sum increases or riders), the main -contract and all its child blocks are exported as well. - -The tab containing the premiums and the premium calculation coefficients even -include the formulas, so one can in theory play around with the parameters to -see how the premium changes. - -If the contract has profit participation features and some profit scenarios have -been added, they are exported as well. - -Notice, however, that the Excel export is in general a static file containing -the current state of the contract and all its values (cash flows, present values, -premiums, reserves, profit participation, etc.) as well as the most important -parameters and an overview of the history of the contract. - -```{r ExcelExport,eval=F} -contract.exportExample = contract.PureEnd.NoRefund$clone()$ - addDynamics(t = 3, SumInsuredDelta = 10000)$ - addDynamics(t = 5, SumInsuredDelta = 15000)$ - addDynamics(t = 10, SumInsuredDelta = 15000)$ - addDynamics(t = 14, SumInsuredDelta = 10000) -exportInsuranceContract.xlsx(contract.exportExample, filename = "Example_PureEndowment_Dynamics.xlsx") -``` - - - -# Creating examples for the Austrian Financial Market Authority - -When introducing a new tariff, an Austrian insurance company has to submit -a detailled mathematical description (so-called "Versicherungsmathematische -Grundlagen") of the tariff to the Financial Market Authority (FMA), which have -to follow the [regulation on actuarial bases for life insurance -- LV-VMGV](https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20009298). The sections and contents -of this document are strictly defined in the regulation, and in addition to the -formulas of the tariff, an example contract has to be calculated with the following -key parameters: - -* age 35, duration 30 years (15 years for protection tariffs) -* sum insured 100 000 Euro / monthly annuity 1000 Euro for annuities -* yearly premiums during the whole contract period (defereal period of 30 years for annuities) -* intermediate values (reserves, etc.) have to be calculated at $t=10$. - -Given a tariff and a derived contract (with the above key parameters), this -package provides two functions to calculate and print / export -the required values either to the console / screen or to a file: - -* `showVmGlgExamples(contract, prf = 10, t = 10, t_prf = 12, file = "", ...)` -* `exportInsuranceContractExample(contract, prf = 10, outdir = ".", basename=NULL, extraname = NULL, ...)` - -The function `showVmGlgExamples` calculates all required values for the actuarial -bases document in the required order (including values after a premium waiver -at the given time). If a filename is given, the output is exported to that text file, -otherwise it is simply printed out in the R console: - -```{r VmGlgExample} -VMGL.contract = InsuranceContract$new( - Tarif.PureEnd, - age = 35, policyPeriod = 30, - premiumFrequency = 1, - sumInsured = 100000, - contractClosing = as.Date("2020-07-01") - ) - -showVmGlgExamples(VMGL.contract) -``` - - -The `exportInsuranceContractExample` provides no new functionality, but combines -the Excel export feature and the regulatory example together. For a given contract -it will create three files: - -* Excel export of the contract -* Excel export of the contract with a premium waiver applied at the given time -* The regulatory example (with premium waiver at the same time as in the Excel export) in a text file - -One can give a base name and an extra name to distinguish different calculations -in the file names. - - -# Contracts combining multiple contract layers / slices - -In real life, an insurance contract is not merely signed initially and then left -untouched until it expires or is surrendered. Rather, some contracts already have -an automatic increase of the sumInsured or the premium (depending usually on some -kind of observed consumer price index) included in the contract. Other contracts -have additional biometric riders like an additional death or disability cover. -Other contracts are extended after their expiration, using the existing reserve -as a one-time payment (`initialCapital`) for the follow-up contract. - -In all these cases, the original contract can be calculated as an `InsuranceContract`, -but the additional dynamic increases, additional riders or extensions are mathematically -calculated as separate contracts (potentiall using different tariffs / types of -insurance), although most parameters are shared from the original main contract. - -In addition to modelling one particular tariff, the LifeInsuranceContract class -can also act as a wrapper to bundle multiple related contracts / contract slices -together. The class provides several methods for this: -* `$addDynamics(t, NewSumInsured, SumInsuredDelta, id, ...)`: - Include (at time `t`) a dynamic increase of premium or sumInsured, but - with the same basic parameters (age, tariff, maturity, - interest rate, etc.) as the main contract. The increase can - be given either as the new total sumInsured or as the - increase in the sumInsured caused by that one increase. Other parameters - given as `...` are passed on to the `InsuranceContract$new` constructor - of the layer for the dynamic increase. This also means that one can - potentially override all parameters for the increase, including the - tariff or the interest rate. -* `$addExtension(t = NULL, policyPeriod, ...)` - After the original contracts maturity, append a follow-up contract (by - default paid-up, i.e. no new premiums are paid) that uses the existing - reserve as initial capital. By default, no further premiums are paid - and the sumInsured is calculated from the existing reserve and the tariff - of the extension. One can, however, also provide either a sumInsured or - a premium of the contract extension. In that case, the premium or the sumInsured - will be calculated, using the existing reserves as initialCapital. -* `$addBlock(id = NULL, block = NULL, t, ...)` - Generic function to add a child block to the contract. If a block (object - of type `LifeInsuranceContract` is passed, it is inserted and flagged as - starting at time `t`. If no block is passed, a new insurance contract - is created using the arguments passed as `...`, combined with the - parameters of the main contract. If `t>0`, the child block starts later - than the original contract. It is also possible that the child block extends - beyond the maturity of the original contract (e.g. contract extensions - are implemented this way). - - -In these case, the main contract will have several child blocks (also -LifeInsuranceContract objects), and the values of the main contract object will -be the aggregated values of all its children, rather than the results of a -calculation from an underlying tariff. - -## Dynamic increases - -To increase the sum insured or premium by a given value () - -```{r contractLayers} -# Contract with initial capital of 5.000 EUR -ctr.dynInc = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -)$ - addDynamics(t = 1, SumInsuredDelta = 1000)$ - addDynamics(t = 5, NewSumInsured = 15000)$ - addDynamics(t = 8, SumInsuredDelta = 4000) - - -ctr.dynInc$Values$basicData -``` -As seen in this table, the sum insured increases and the premium with it. The -`PremiumPayment` column is no longer a 0/1-column indicating whether a premium is -paid or not, but rather is the number of blocks/layers where a premium is paid. - -The individual blocks can be accessed with the `contract$blocks` list: -```{r contractLayers.blocks} -for (b in ctr.dynInc$blocks) { - cat(paste0("Block: ", b$Parameters$ContractData$id, ", starts at t=", b$Parameters$ContractData$blockStart, ", policyPeriod=", b$Parameters$ContractData$policyPeriod, "\n")) -} -``` - -Each block is formally handled like a separate contract, each starting at its own time `t=0`. -The over-all contract then takes care to correctly shift the child blocks to the -time relative to the parent block, before aggregating the data: -```{r contractLayers.blocks.data} -ctr.dynInc$blocks$Hauptvertrag$Values$basicData -ctr.dynInc$blocks$dyn1$Values$basicData -ctr.dynInc$blocks$dyn2$Values$basicData -ctr.dynInc$blocks$dyn3$Values$basicData -``` - - -## General biometric riders - -Instead of adding a dynamic increase, which typically uses the same tariff as -the main contract, it is also possible to bundle e.g. a protection rider to a -saving product. The savings product and the protection rider are calculated -individually as child blocks, and the overall values of the contract are -obtained by aggregating the values from the two children (savings and protection -part). Of course, in this scenario, the combined sumInsured of the overall contract -is not meaningful, but the sumInsured of the individual blocks is. - -```{r addBlock.rider} -ctr.main = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -ctr.Rider = InsuranceContract$new( - tarif = Tarif.L71U, - sumInsured = 100000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -ctr.main$addBlock(block = ctr.Rider) - -ctr.withRider = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -)$ - addBlock(tarif = Tarif.L71U, sumInsured = 100000, - age = 40, policyPeriod = 10, - contractClosing = as.Date("2020-09-01")) -``` - - -## Extending a contract beyond its maturity - -When a contract expires, many companies offer premium-free contract extensions, -where the existing reserve is used as initial reserve for a follow-up contract -(possibly with new terms and parameters like interest rate or mortalities). - -Instead of modifying the original contract and re-calculating it, it is easier -to model the extension as a new block with the existing reserve given as -\code{initialCapital}. The extension will be calculated like a standalone-contract -and the overall contract will aggregate the values from the original contract -and the extension. As the extension is a separate contract object, one can pass -all contract parameters to the \code{$addExtension} method. - -The original premiumPeriod of the main contract is used, so by default the extension -will be a premium-free extension, where the sumInsured is calculated from the -existing reserve and the benefits and costs of the extensions' tariff. - -To create a premium-free extension explicitly, one can pass \code{premiumPeriod=0} (which -is the default anyway). To create an extension with regular (or single) premium -payments, one can pass either a \code{sumInsured} or a \code{premium} to provide -the sum insured and the premium and calculate the other from the given value - -```{r contractExtension} -# original contract, expiring after 20 years -ContractA = InsuranceContract$new( - tarif = Tarif.Endowment, - age = 40, policyPeriod = 20, - sumInsured = 10000, - contractClosing = as.Date("2000-07-01") -) - -# premium-free extension -ContractB = ContractA$clone()$ - addExtension(id = "Verlängerung1", contractPeriod = 5, premiumPeriod = 0) -# sumInsured calculated from existing reserve: -ContractB$blocks$Verlängerung1$Parameters$ContractData$sumInsured -ContractB$Values$basicData - -# extension with given sumInsured resulting in 0 (gross) premiums -ContractC = ContractA$clone()$ - addExtension(id = "Verlängerung1", contractPeriod = 5, sumInsured = 10723.07973354) -ContractC$blocks$Verlängerung1$Values$premiums[["gross"]] -ContractC$Values$basicData - -# extension with increased sumInsured: real premiums are charged, reserves start from the existing reserve: -ContractD = ContractA$clone()$ - addExtension(id = "Verlängerung1", contractPeriod = 5, sumInsured = 20000) -ContractD$Values$basicData - -# extension with regular premiums, which are given: sumInsured is calculated from it, reserves start from the existing reserve: -ContractD = ContractA$clone()$ - addExtension(id = "Verlängerung1", contractPeriod = 5, premium = 597.8771) -ContractD$Values$basicData -``` - - -# Handling contracts with increases - -While many insurance contracts have a fixed sum insured and constant premium, -many contracts include some kind of adjustment to account for inflation. There -are various ways to achieve such an adjustment: - -* The initial contract already includes a planned increase in the benefits by a - pre-determined factor $(1+s)$ each year, premiums are constant over the whole - duration. -* The initial contract has fixed sum insured, but the premiums increase by a - factor $(1+s)$ each year due to salary increases. -* "Dynamic increases": The initial contract has fixed sum insured with fixed - regular premiums. However, every year (or triggered based on an inflation or - consumer price index) the sum insured is increased by a certain amount (either - fixed or by the same percentage as the index) and the premiums are increased - accordingly. Internally, this is represented by a second, shorter contract - covering only the increase in sumInsured, from which the additional premium can - be calculated according to the tariff. - -The LifeInsuranceContract package provides functionality for each of these increases. -All three increases can in theory be combined in the same contract, although -in practice this usually does not happen and at most one kind of increase is -included in a contract - -## Fixed yearly premium increases - -With this kind of increases, the initial contract valuation (i.e. the determination -of the premium at contract inception) already takes into account that the premium -will not stay constant over the whole period, -but increases by a constant factor each year. The sum insured is calculated by -the equivalence principle so that the expected present value of all future -benefits and costs equals the expected present value of all future (i.e. -increasing) premium payments. - -This type of yearly premium increase by a fixed factor can be implemented by -the parameter: - -* `premiumIncrease` ... The factor, by which the premium increases yearly. Default is 1.0 (no increase in premium). - -In the following example, we create a 10-year endowment contract with constant -premiums over the whole period and another one with idential parameters except -that the premium increases by 4\% each year: - -```{r PremiumIncrease.Endowment, results = "hide"} -# For comparison: Contract with constant premiums -contract.Endow.Constant = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 50, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -# Contract with 4% yearly premium increase and same sum insured -contract.Endow.PremInc = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - premiumIncrease = 1.04, - age = 50, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -premium.comparison = data.frame( - `Sum Insured` = contract.Endow.Constant$Values$basicData[,"SumInsured"], - `Constant Premium` = contract.Endow.Constant$Values$basicData[,"Premiums"], - `4% Yearly Increase` = contract.Endow.PremInc$Values$basicData[,"Premiums"], - check.names = F - ) -``` -```{r PremiumIncrease.EndowmentOut, results = "asis"} -premium.comparison %>% pander -``` - - -## Fixed yearly benefit increases with constant premium - -With this kind of increases, the premium will stay constant over the whole -contract maturity, but the death and/or survival benefit (or the annuity payment) -will increase by a fixed factor each year. This is typically to safeguard the -benefit against inflation, so that the value of the annuity payment or death benefit -does not diminish due to inflation. The initial contract valuation (i.e. the determination -of the constant premium at contract inception) already takes into account that -the benefits will not stay constant over the whole period, -but increases by a constant factor each year. - -This type of yearly benefit increase by a fixed factor can be implemented by -the parameters: - -* `annuityIncrease` ... The factor, by which potential annuity payments increase yearly. Default is 1.0 (no increase in annuity benefits) -* `deathBenefit` ... The vector of death benefits (relative to the sum insured, which for endowments describes the survival benefit) - -In the following example, we create a 10-year endowment contract with constant -premiums over the whole period and another one with idential parameters except -that the premium increases by 4\% each year: - -```{r FixedSumIncrease.WholeLife, results = "hide"} -# For comparison: Contract with constant premiums -contract.TermLife.Constant = InsuranceContract$new( - tarif = Tarif.Life, - sumInsured = 10000, - age = 50, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -# Contract with 4% yearly increase in sum insured (final survival benefit is 10.000) -contract.TermLife.SumInc = InsuranceContract$new( - tarif = Tarif.Life, - sumInsured = 10000, - deathBenefit = (1.04)^(0:20), - age = 50, policyPeriod = 10, - contractClosing = as.Date("2020-09-01") -) -premium.comparison = data.frame( - `Const S.I.` = contract.TermLife.Constant$Values$absCashFlows[,"death"], - `Const. Premium` = contract.TermLife.Constant$Values$absCashFlows[,"premiums_advance"], - `4% sum increase` = contract.TermLife.SumInc$Values$absCashFlows[,"death"], - `Premium w. sum increase` = contract.TermLife.SumInc$Values$absCashFlows[,"premiums_advance"], - check.names = F - ) -premium.comparison -``` -```{r FixedSumIncrease.WholeLifeOut, results = "asis", echo=F} -premium.comparison %>% pander -``` - -For annuities, the benefit increase is not handled through `deathBenefits`, but -rather through the parameter - -* `annuityIncrease` ... yearly increase factor of the annuity payments - -In the following example, we create a 10-year endowment contract with constant -premiums over the whole period and another one with idential parameters except -that the premium increases by 4\% each year: - -```{r FixedSumIncrease.Annuity, results = "hide"} -# For comparison: Contract with constant annuity -contract.Annuity.Constant = InsuranceContract$new( - tarif = Tarif.DefAnnuity, - sumInsured = 1200, - age = 55, - policyPeriod = 10, - deferralPeriod = 5, - premiumPeriod = 5, - contractClosing = as.Date("2020-09-01") -) -# Contract with 4% yearly increase in annuity benefits -contract.Annuity.Increasing = InsuranceContract$new( - tarif = Tarif.DefAnnuity, - sumInsured = 1200, - annuityIncrease = 1.04, - age = 55, - policyPeriod = 10, - deferralPeriod = 5, - premiumPeriod = 5, - contractClosing = as.Date("2020-09-01") -) -# Contract with 4% yearly increase in premiums and in annuity payments -contract.Annuity.IncreasingBoth = InsuranceContract$new( - tarif = Tarif.DefAnnuity, - sumInsured = 1200, - annuityIncrease = 1.04, - premiumIncrease = 1.04, - age = 55, - policyPeriod = 10, - deferralPeriod = 5, - premiumPeriod = 5, - contractClosing = as.Date("2020-09-01") -) -premium.comparison = data.frame( - `Const. Annuity` = contract.Annuity.Constant$Values$absCashFlows[,"survival_advance"], - `Const. Premium` = contract.Annuity.Constant$Values$absCashFlows[,"premiums_advance"], - `4% Annuity Increase` = contract.Annuity.Increasing$Values$absCashFlows[,"survival_advance"], - `Premium w. Ann.Increase` = contract.Annuity.Increasing$Values$absCashFlows[,"premiums_advance"], - `Inc.Premium w. Ann.Increase` = contract.Annuity.IncreasingBoth$Values$absCashFlows[,"premiums_advance"], - check.names = F - ) -``` -```{r FixedSumIncrease.AnnuityOut, results = "asis"} -premium.comparison %>% pander -``` - - - -## Dynamic Increases - -With dynamic increases, the contract initially is written with a fixed sum insured -and constant premiums over the whole contract period. The future increases are -not considered at all. - -After the initial contract inception, either yearly or when a consumer price -index changes by a value larger than a given threshold, the sum insured is -increased (either by a fixed amount or by an amount determined by the index change) -and the premium is adjusted accordingly. Internally, the original contract is -left untouched and the increase is modelled by a separate contract with the -same key parameters, only with shorter duration and a sum insured that represents -only the increase. The premium for this increase is calculated like a separate -contract with only the difference in the over-all sum insured as its sum insured. - -Each dynamic increase then adds another separate tiny InsuranceContract object -and the over-all values are the sums of all those contract blocks (sometimes -also called "contract slices"). - -The `InsuranceContract` class provides a method to add a dynamic increase: - -* `InsuranceContract$addDynamics(t, NewSumInsured, SumInsuredDelta, id, ...)` - -Only one of `NewSumInsured` (new total sum insured) and `SumInsuredDelta` (only -the difference between old and new sum insured) is needed. This method adds a -new contract block to the given InsuranceContract, starting at time $t$ with -`SumInsuredDelta` as its sum insured and its premium calculated from the -shorter contract period and the sum insured delta. These blocks for dynamic increases -are stored in the contract's `$blocks` list of children. The values stored in the -contract are then simply the sum of all its children. - -Here is an example of a 10-year endowment, which has dynamic increases at times $t=5$, $t=7$ and $t=8$: - - -```{r DynamicIncrease.Endowment} -# For comparison: Contract with constant annuity -contract.Endowment.Dynamics = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 40, - policyPeriod = 10, - contractClosing = as.Date("2020-09-01"), - id = "Initial contract" -)$ - addDynamics(t = 5, NewSumInsured = 11000, id = "Dynamic at 5")$ - addDynamics(t = 7, NewSumInsured = 12000, id = "Dynamic at 7")$ - addDynamics(t = 8, NewSumInsured = 13500, id = "Dynamic at 8") - -# Over-all contract sum insured and premiums for all blocks combined -contract.Endowment.Dynamics$Values$basicData[,c("SumInsured", "Premiums")] %>% pander -``` -```{r DynamicIncrease.EndowmentOut, results = "asis", echo = F} -blk = c(list(`Over-all contract` = contract.Endowment.Dynamics), contract.Endowment.Dynamics$blocks) - -padArray = function(arr = NULL, pad = 0, len = 0) { - padEnd = max(0, len - pad - NROW(arr)) # if len is too short, return an array containing at least the arr - nrcols = ifelse(is.null(arr), 0, NCOL(arr)) - rbind( - array(0, dim = c(pad, nrcols)) %>% `colnames<-`(colnames(arr)), - arr, - array(0, dim = c(padEnd, nrcols)) %>% `colnames<-`(colnames(arr)) - ) %>% `colnames<-`(colnames(arr)) -} - -lapply(blk, function(b) { - basic = padArray(b$Values$basicData, pad = b$Parameters$ContractData$blockStart) - basic[,"SumInsured"] -}) %>% - bind_cols() %>% - rowid_to_column("t") %>% - mutate(t = t-1) %>% - pander(caption = "Sum Insured for the over-all contract and each of the blocks") - -lapply(blk, function(b) { - basic = padArray(b$Values$basicData, pad = b$Parameters$ContractData$blockStart) - basic[,"Premiums"] -}) %>% - bind_cols() %>% - rowid_to_column("t") %>% - mutate(t = t-1) %>% - pander(caption = "Premium time series for the over-all contract and each of the blocks") - -``` - - - -# Profit participation - -In addition to the above guaranteed values, many contracts also include some -kind of profit sharing. The total amount of money to be distributed is usually -predetermined by law or regulation (in Austria by the -["Lebensversicherung-Gewinnbeteiligungsverordnung -- LV-GBV"](https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20009295), -but the actual way they are distributed to individual contracts is up the -insurance undertaking. The profit participation scheme defines profit participation -allocations based on certain rates and bases, where the formulas and the types -of profit are pre-determined in a formal document (which in this package will -be implemented as an object of class `ProfitParticipation`), while the profit -rates are determined by the management of the undertaking ("discretionary benefits"). - - -Typical Austrian insurance contracts have one of two -kinds of profit sharing mechanisms: - -* "Advance profit participation" or "direct contributions", which is a direct - premium rebate, which can in theory be lowered or revoked at any time. -* Yearly profit assignments into the reserves based on "total credited interet - rate" and other profit attribution rates. - -## Advance profit participation (premium rebate) - -To implement advance profit participation, one still needs to create a -`ProfitParticipation` object, which can be empty. The contract parameters -`advanceProfitParticipation` and `advanceProfitParticipationInclUnitCost` then -define the premium rebate. They can be set either in the profit scheme or in -the tariff definition. The latter is usually the easier way, as one profit -scheme might be applicable to multiple different tariffs with different advance -profit participation rates. - -As an example, we will use our `Tarif.Life` whole life tarif defined above and -add a $38\%$ advance profit participation on the premium: -```{r AdvanceProfitExample} -profit.Advance.V1 = ProfitParticipation$new( - name = "Profit Scheme for advance profit participation, V 1.0", - advanceProfitParticipation = 0.38 -); - -Tarif.Life.withPP = Tarif.Life$createModification( - name = "Example Tariff - Whole/Term Life with profit sharing", - tarif = "Life1PP", - profitParticipationScheme = profit.Advance.V1 -) - -contract.LifePP = InsuranceContract$new( - tarif = Tarif.Life.withPP, - age = 40, policyPeriod = 10, - sumInsured = 100000, - contractClosing = as.Date("2019-09-01") -) -``` - -The premium composition shows that the profit participation -```{r advanceProfitExample.PremiumComposition, eval=F} -contract.LifePP$Values$premiumComposition -``` -```{r advanceProfitExample.PremiumCompositionOUT, echo=F} -contract.LifePP$Values$premiumComposition[,c("charged", "tax", "unitcosts", "profit.advance", "gross", "net")] %>% as.data.frame() %>% rowid_to_column("t") %>% mutate(t = t-1) %>% pander -``` - - -## The ProfitParticiption class - -The profit participation scheme of a tarif is represented by an object of the -`ProfitParticipation` class. While the `InsuranceContract.Parameters` list contains -elements for the profit rates, the implementation of the calculation of the -profit parts is done by functions defined in the `ProfitParticipation` -constructor. - -This scheme is passed to the `InsuranceTarif` or `InsuranceContract` via the -`profitParticipationScheme` parameter. -` - -There are different types of profit participation assignments, based on the type -of risks they are based upon: - -* __Interest profit__: total credited rate (minus guarantee) applied to some kind of reserve -* __Risk profit__: risk profit rate applied to the risk premium, capital or the sum insured -* __Expense profit__: expense profit rate applied to the sum insured -* __Sum profit__: rate (depending on sum insured) applied to the sum insured -* __Terminal bonus__: yearly attributions are collected and paid out only on contract maturity -* __Terminal bonus fund__: Part of the ongoing profit allocation is not immediately attributed to the contract, but stored in a special reserve and paid out only on maturity. - -Each of these profit components in general depends in some way on a profit rate and a basis to which the rate is applied. So each component has the general functional form: -$$Profit^{type}_t = Calc\left(Rate^{type}_t, Basis^{type}_t\right)$$ -The most common calculation function is a simple multiplication, i.e. -$Calc(r, b) = r\cdot b$, but other functions are possible, to - - -The (default) parameters that can be passed to the `ProfitParticipation` constructor -are: - -| | | -|:-----|:----------| -|**General profit setup** || -| `waitingPeriod` | During the waiting period at the beginning of a contract, no profit participation is assigned | -| `profitComponents` | describes the different components of profit participation ("interest", "risk", "expense", "sum", "terminal") | -| `profitClass` | a profit ID used to identify the correct profit rates (rates are defined per profit class) | -| `profitRates` | a data frame containing company-wide profit rates. Key columns are year and profitClass | -|**Advance profit participation rates** || -| `advanceProfitParticipation` | premium rebate (percentage discount on the gross premium) | -| `advanceProfitParticipationInclUnitCost` | premium rebate (percentage discount on the gross premium including unit costs) | -|**Regular profit participation rates** || -| `guaranteedInterest` $i$ | Contract-specific override of the guaranteed intereste rate (only for profit participation purposes) | -| `interestProfitRate` $ip_t$ | Profit interest rate (added to the guaranteed interest rate to arrive at the total credited rate) | -| `totalInterest` $tcr_t$ | The total credited interest rate (sum of guaranteed interest and profit participation interest) | -| `mortalityProfitRate` $rp_t$ | Mortality / risk profit rate | -| `expenseProfitRate` $ep_t$ | Expenso profit rate | -| `sumProfitRate` $sp_t$ | Sum profit rate (typically a function, depending on sum insured) | -| `terminalBonusRate` $tb_t$ | Terminal bonus rate | -| `terminalBonusFundRate` $tbf_t$ | Terminal bonus fund rate, i.e. which percentage of the assigned profits are withheld in a separate terminal bonus fund and only paid out at maturity. | - - - - - -For the calculation of the profit participation, the `ProfitParticipation` class -holds a list of function pointers to calculate each component of profit participation, as outlined above. -For each of interest, risk, expense, sum, terminal and terminal bonus fund the -following three functions can be given: - -* **Profit rate**: return the profit rate as a function from the values of the contract - - Function signature: `function(rates, ...)` -* **Profit base**: The quantity on which to apply the rate. Typically this function - returns either the current reserve, the previous reserve (or some combination), - the sum insured or the current risk premium. - - Function signature: `function(rates, params, values, ...)` -* **Calculation**: A function taking the rate and the base and calculate the - profit assigned for the specific profit component. Most common are a simple - multiplication of base and rate, but other formulas are possible, too. - - Function signature: `function(base, rate, waiting, rates, params, values, ...) ` - - -Thus, the constructor of the `ProfitParticipation` class also takes the following -parameters: - -|Type of profit |Function for rate | Function for base | Function for calculation | -|:-------------------|:--------------------------|:--------------------------|:----------------------------| -|interest on accrued profit |`getInterestOnProfits` |- (existing profit) |- | -|interest profit |`getInterestProfitRate` |`getInterestProfitBase` |`calculateInterestProfit` | -|risk profit |`getRiskProfitRate` |`getRiskProfitBase` |`calculateRiskProfit` | -|expense profit |`getExpenseProfitRate` |`getExpenseProfitBase` |`calculateExpenseProfit` | -|sum profit |`getSumProfitRate` |`getSumProfitBase` |`calculateSumProfit` | -|terminal bonus |`getTerminalBonusRate` |`getTerminalBonusBase` |`calculateTerminalBonus` | -|terminal bonus fund |`getTerminalBonusFundRate` |`getTerminalBonusFundBase` |`calculateTerminalBonusFund` | - -In addition, the following parameters define functions for reserves: - -* `getTerminalBonusReserve` ... Calculate the reserve for the terminal bonus - from the bonus assignments (old tariffs often use some kind of discounting or - conditional reserving for the terminal bonus reserve) - - Function signature: `function(profits, rates, terminalBonus, terminalBonusAccount, params, values)` - - -To calculate the actual benefits paid out from profit participation, the following -parameters take the corresponding functions (signature: `function(profits, rates, params, values, ...)` ) - -| | | -|:---|:---------| -|`calculateSurvivalBenefit` |Benefit from profit participation at maturity (in addition to the guaranteed payout) | -|`calculateDeathBenefitAccrued` |Benefit from profit participation upon death (in addition to the guaranteed payout) | -|`calculateDeathBenefitTerminal` |Benefit from terminal bonus upon death (in addition to the guaranteed payout and regular profit participation) | -|`calculateSurrenderBenefitAccrued` |Benefit from profit participation upon contract surrender (in addition to the surrender value) | -|`calculateSurrenderBenefitTerminal` |Benefit from terminal bonus upon contract surrender (in addition to the surrender value and regular profit participation) | -|`calculatePremiumWaiverBenefitAccrued` |Benefit from profit participation upon premium waiver (in addition to the surrender value) | -|`calculatePremiumWaiverBenefitTerminal` |Benefit from terminal bonus upon premium waiver surrender (in addition to the surrender value and regular profit participation) | - -### Existing functions to use - -While the details of a profit participation scheme are very specific and no two -profit schemes are exactly alike, the basic functionality to extract rates and -bases and the calculation functions are usually not so different. For this -reason, the `LifeInsuranceContracts` package provides several little helper functions -that provide the most common functionality for the definition of rates, bases and -the profit calculation. See `?ProfitParticipationFunctions` for the full list. - -The most common functions are: - -* `PP.base.PreviousZillmerReserve(rates, params, values, ...)` -* `PP.base.contractualReserve(rates, params, values, ...)` -* `PP.base.previousContractualReserve(rates, params, values, ...)` -* `PP.base.meanContractualReserve(rates, params, values, ...)` -* `PP.base.ZillmerRiskPremium(rates, params, values, ...)` -* `PP.base.sumInsured(rates, params, values, ...)` -* `PP.base.totalProfitAssignment(res, ...)` - -* `PP.rate.interestProfit(rates, ...)` -* `PP.rate.riskProfit(rates, ...)` -* `PP.rate.expenseProfit(rates, ...)` -* `PP.rate.sumProfit(rates, ...)` -* `PP.rate.terminalBonus(rates, ...)` -* `PP.rate.terminalBonusFund(rates, ...)` -* `PP.rate.interestProfitPlusGuarantee(rates, ...)` -* `PP.rate.totalInterest(rates, ...)` - -* `PP.calculate.RateOnBase(base, rate, waiting, rates, params, values, ...)` -* `PP.calculate.RateOnBaseMin0(base, rate, waiting, rates, params, values, ...)` -* `PP.calculate.RatePlusGuaranteeOnBase(base, rate, waiting, rates, params, values, ...)` - -* `PP.benefit.ProfitPlusTerminalBonusReserve(profits, ...)` -* `PP.benefit.Profit(profits, ...)` -* `PP.benefit.ProfitPlusGuaranteedInterest(profits, rates, ...)` -* `PP.benefit.ProfitPlusTotalInterest(profits, rates, params, values)` -* `PP.benefit.ProfitPlusHalfTotalInterest(profits, ...)` -* `PP.benefit.ProfitPlusInterestMinGuaranteeTotal(profits, rates, ...)` -* `PP.benefit.TerminalBonus5YearsProRata(profits, params, ...)` -* `PP.benefit.TerminalBonus5Years(profits, params, ...)` -* `PP.benefit.TerminalBonus(profits, params, ...)` - - - - -### Example profit scheme - -For example, imagine a tariff's total cumulated assigned profit $G_t$ and the benefits at time $t$ have the formulas: -$$Prof_t = \left(G_{t-1} + TBF_{t-1}\right) \cdot \left(1 + i + ip_t\right) + ip_t \cdot \frac{\left(Res_{t-1} + Res_{t}\right)}{2} + rp_t \cdot P^r_t + ep_t \cdot SumInsured + sp_t(SI) \cdot SumInsured$$ -$$G_t = G_{t-1} + (1 - tbf_t) \cdot Prof_t$$ -$$TBF_t = TBF_{t-1} + tbf_t \cdot Prof_t$$ -$$Death_t = G_t \cdot \left(1 + i + ip_t\right) + TBF_t$$ -$$Matu_n = G_n + TBF_n$$ -$$Surrender_t = G_t\cdot \left(1+\frac{i + ip_t}{2}\right) + 0.5 \cdot TBF_t$$ -$$Red_t = G_t + 0.5 \cdot TBF_t$$ - - -These formulas can be interpreted as following: - -* There are multiple profit components: interest profit, risk profit, expense profit and sum profit. -* The total profit assignment $Prof_t$ in year $t$ consists of: - * Interest (guarantee + interest profit rate) on the accrued profits and the terminal bonus fund - * Interest profit on the average reserve - * Risk profit as part of the risk premium (similar to advance profit participation, but on a year-by-year basis on the actual risk premium) - * Expense profit relative to the sum insured - * Sum profit relative to the sum insured. The rate depends on the sum insured, too (e.g. higher SI typically have higher sum profit) - * Only a portion $(1-tbf_t)$ is added to the accrued bonus, while the rest ist - stored in the Terminal Bonus Fund. -* The existing cumulated profit $G_{t-1}$ and the terminal bonus fund $TBF_{t-1}$ yields interest with the guaranteed - interest rate plus potentially the interest profit rate. If the total credited - rate is lower than the guarantee, the guarantee is still applied to the - existing profits. => `PP.rate.interestProfitPlusGuarantee` -* Additionaly, interest profit is assigned with rate $ip_t$ (=0 if total - credited rate is below guarantee) multiplied with the average of the current - and the previous reserve for the guaranteed part. => `PP.base.meanContractualReserve` -* The risk profit works similar to advance profit participation, only that part - of the (actual) risk premium of the year is returned to the customer after - having paid it. => `PP.base.ZillmerRiskPremium` -* Expense profit is based on the sum insured, since most cost structures are - linear in the sum insured and contain certain loadings, which are returned - to the customer via this profit component. -* A sum profit of $sp_t$ of the sum insured is added, even if no interest profit - is distributed. The sum profit rate depends on the sum insured (as a function), - since the charges expenses increase linearly in the sum insured while the actual - cost do increase only sub-linear. So for higher sums typically more expenses - are returned. => The sum profit rate will be a function rather than a single - value each year. -* Only a part $(1-tbf_t)$ of the profit assignment in year $t$ is added to the - accrued profits $G_t$, while the rest $tbf_t$ is stored in the terminal bonus - fund $TBF_t$, which is partially lost on surrender or premium waiver. - -The values of $Res_t$, $P^r_t$, $SumInsured$ and the guaranteed interest $i^g_t$ are -prescribed by the tariff or contract, while the profit participation rates -$ip_t$, $rp_t$, $ep_t$ and $sp_t$ are decided on a year-by-year basis by the management boards. - -The benefits for death, maturity, surrender and premium waivers are: - -* In case of death, the existing cumulated profits yield one additional year of interest => `PP.benefit.ProfitPlusInterestMinGuaranteeTotal` -* At maturity of the contract, the existing cumulated profits are paid out in - addition to the guaranteed benefits of the contract. => `PP.benefit.Profit` -* In case of surrender (on average half a year after the contract's anniversary), - half a year of interest is added to the existing cumulated profits from the - last anniversary => `PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal` -* When premiums are waived, the existing accrued profits are taken into account - without any additional interest. => `PP.benefit.Profit` -* The terminal bonus fund is paid out fully on death and at maturity, while half - of the TBF is lost on surrender or premium waiver. - -This profit scheme can be easily be implemented as a `ProfitParticipation` -object, where one can pass the functions for bases and calculation and also -provide default profit rates: - -```{r Example.ProfitParticipation} -ProfitScheme.example = ProfitParticipation$new( - name = "Example Profit Scheme, V 1.0", - profitComponents = c("interest", "risk", "expense", "sum", "TBF"), - - getInterestOnProfits = PP.rate.interestProfitPlusGuarantee, - getInterestProfitBase = PP.base.meanContractualReserve, - getRiskProfitBase = PP.base.ZillmerRiskPremium, - getExpenseProfitBase = PP.base.sumInsured, - getSumProfitBase = PP.base.sumInsured, - getTerminalBonusFundBase = PP.base.totalProfitAssignment, - - mortalityProfitRate = 0.15, - expenseProfitRate = 0.01, - sumProfitRate = function(params, ...) {if (params$ContractData$sumInsured > 1000000) 0.005 else 0;}, - terminalBonusFundRate = 0.3, - - calculateSurvivalBenefit = PP.benefit.ProfitPlusTerminalBonusReserve, - - calculateDeathBenefitAccrued = PP.benefit.ProfitPlusInterestMinGuaranteeTotal, - calculateDeathBenefitTerminal = PP.benefit.TerminalBonus, - calculateSurrenderBenefitAccrued = PP.benefit.ProfitPlusHalfInterestMinGuaranteeTotal, - calculateSurrenderBenefitTerminal = function(profits, ...) { profits[, "TBF"] / 2 }, - calculatePremiumWaiverBenefitAccrued = PP.benefit.Profit, - calculatePremiumWaiverBenefitTerminal = function(profits, ...) { profits[, "TBF"] / 2 }, - - profitClass = NULL -) -``` - -The calculation functions are not given, as they default to the correct -`PP.calculate.RateOnBase` anyway. The interest profit rates are not given, as -they will vary over time with no default value. Rathery, they need to be passed -to the call to `InsuranceContract$addProfitScenario()` to calculate one particular -profit scenario with given rates. -In contrast, the mortality, expense and sum profit rates are initialized with -some default values, which will be used if a profit scenario does not explicitly -give those profit rates. - - -### Using the profit scheme in a tariff or contract - -The profit scheme defined above can now be used with the `profitParticipationScheme` -parameter in a tariff or a contract. Usually, the profit scheme is a property of -the product, so it should be specified in the tariff, but can be overridden in -a contract. - -As an example, let us create an endowment contract with 500\% death benefit -that uses this profit scheme: - -```{r Example.PP.Endowment} -contract.Endow.PP = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - deathBenefit = 5, - age = 50, policyPeriod = 15, - - profitParticipationScheme = ProfitScheme.example, - contractClosing = as.Date("2020-09-01") -) -``` - -In contrast to the guaranteed values, which can and will be calculated as soon -as the contract is created, the profit participation needs to be explicitly -called with the desired rates. A contract can store multiple different profit -scenarios, which can be added with the `addProfitScenario()` method. This method -can also be chained to add multiple scenarios (e.g. ) -```{r ExamplePP.Endowment.addScenario} -contract.Endow.PP$ - addProfitScenario(id = "Current total credited rate", guaranteedInterest = 0.005, interestProfitRate = 0.02, totalInterest = 0.025)$ - addProfitScenario(id = "Current TCR-1%", guaranteedInterest = 0.005, interestProfitRate = 0.01, totalInterest = 0.015)$ - addProfitScenario(id = "Current TCR+1%", guaranteedInterest = 0.005, interestProfitRate = 0.03, totalInterest = 0.035) - -``` -All profit scenarios are stored in the `InsuranceContract$Values$profitScenarios` -list indexed with the id given in the call. - -The array containing all values of the profit scenario first holds the calculation -basis and the rate for each of the profit components: -```{r ExamplePP.Endowment.Scenarios} -contract.Endow.PP$Values$profitScenarios$`Current total credited rate` %>% - as.data.frame() %>% - select(ends_with("Base"), ends_with("Interest"), ends_with("Rate"), -TBFRate, -TBFBase, -totalInterest) %>% - rowid_to_column("t") %>% mutate(t = t - 1) %>% kable() -``` - -The base for interest profit is the average of the reserve: -```{r ExPP.End.reserve, echo = F} -contract.Endow.PP$Values$reserves %>% as.data.frame() %>% - rownames_to_column("t") %>% - select(t, SumInsured, Zillmer) %>% - mutate(AvgZillmer = rollingmean(c(0,Zillmer))) %>% - pander() -``` - -From the bases and rates, the calculation function (in our case simply the multiplication of rate and base) is applied to arrive at the yearly profit allocation of each component: - -```{r ExamplePP.Endowment.ScenariosAttib} -contract.Endow.PP$Values$profitScenarios$`Current total credited rate` %>% - as.data.frame() %>% - select(ends_with("Profit"), totalProfitAssignment, -totalProfit) %>% - rowid_to_column("t") %>% mutate(t = t - 1) %>% - pander - -``` - -The `totalProfitAssignment` column is the sum of all component allocations in the given year (the $Prof_t$ in the formulas above). - -After all components are calculated, the yearly profit assignment is split into the part that is accrued in the regular bonus and the part that is placed in the terminal bonus fund, using the terminal bonus fund rate. Finally, the yearly regular and terminal bonus assignments can be summed up to the regular and the terminal bonus: - -```{r ExamplePP.Endowment.ScenariosTBFTotal} -contract.Endow.PP$Values$profitScenarios$`Current total credited rate` %>% - as.data.frame() %>% - select(TBFBase, TBFRate, TBFBonusAssignment, regularBonusAssignment, TBF, regularBonus, totalProfit) %>% - rowid_to_column("t") %>% mutate(t = t - 1) %>% - pander -``` - - -The last step in the calculation of a scenario is to calculate the benefits for -each of the possible types of payout: - -```{r ExamplePP.Endowment.ScenariosBenefits} -contract.Endow.PP$Values$profitScenarios$`Current total credited rate` %>% - as.data.frame() %>% - select(survival, deathAccrued, death, surrenderAccrued, surrender, premiumWaiverAccrued, premiumWaiver) %>% - rowid_to_column("t") %>% mutate(t = t - 1) %>% - pander -``` - -One can add as many profit scenarios as desired. Each of the rates in the -`addProfitScenario`-call can also be a vector giving the corresponding rate -for each year of the contract: - -```{r ExamplePP.Endowment.Scenario.Decr} -contract.Endow.PP$ - addProfitScenario(id = "decreasing TCR", guaranteedInterest = 0.005, - interestProfitRate = (15:0)/15 * 0.02, - expenseProfitRate = c(rep(0.01, 5), rep(0.005, 5), rep(0, 6))) - -contract.Endow.PP$Values$profitScenarios$`decreasing TCR` %>% - as.data.frame() %>% - select(interestBase, expenseBase, interestProfitRate, expenseProfitRate, interestOnProfitRate, interestProfit, expenseProfit, totalProfit) %>% - rowid_to_column("t") %>% mutate(t = t - 1) %>% - kable -``` - -In the Excel export, a separate tab of the Excel file will hold all profit scenarios added to the contract. - - - -# Modifying the default calculation approach - -While the cash-flow approach described above and based on the `type` parameter of the -`InsuranceTarif` works very well for all standart types of life insurance, sometimes -a tariff does not follow the standard behaviour exactly. The valuation approach -with all-determining cash flows is still correct, but the cash flows might need -to be adjusted. For this, some hook functions are provided that allow modification -of the contract's internals (e.g. cash flows) before all other calculations commence. - -Two hooks are provided, which allow modifications of the cash flow profiles before -present values, premiums and reserves are calculated: - -| | | -|:---|:-----| -|`adjustCashFlows` | Adjust the premium and benefit cash flows of the contract | -|`adjustCashFlowsCosts` | Adjust the cost cash flows | -|`adjustPremiumCoefficients` | Adjust the coefficients of the premium calculation formulas | - -The function signature is `function(x, params, values, ...)`, where `x` is the -object holding the standard cash flows determined for the contract. The return -value of the hook function will be used instead of `x`. - -The \code{adjustPremiumCoefficients} hook has a slightly extended function signature -\code{function(coeff, type, premiums, params, values, premiumCalculationTime)}. - -An example where the cash-flow-approach solely based on `type` does not immediately -work is a waiting period of 3 years for the death benefit. In particular, -if a person dies during the first 3 years of the contract, no death benefit is paid out. - -The easiest way to implement such cash flows is to let the `InsuranceTarif` first -create the standard cash flows (with benefits during the first three years) and then -provide a hook function that nullifies the benefits in the waiting period, before -all present values, premiums and reserves are calculated. - -```{r WaitingPeriod.Hook} -contract.Endow.Waiting = InsuranceContract$new( - tarif = Tarif.Endowment, - sumInsured = 10000, - age = 50, policyPeriod = 15, - - contractClosing = as.Date("2020-09-01"), - adjustCashFlows = function(x, ...) { x[1:3, "death_SumInsured"] = 0; x } -) - -contract.Endow.Waiting$Values$cashFlows[,c("premiums_advance", "survival_advance", "death_SumInsured")] %>% pander - -contractGridPremium( - axes = list(age = seq(20, 80, 10), adjustCashFlows = c(function(x, ...) x, function(x, ...) { x[1:3, "death_SumInsured"] = 0; x })), - tarif = Tarif.Endowment, - sumInsured = 10000, - policyPeriod = 15, - - contractClosing = as.Date("2020-09-01") -) %>% `colnames<-`(c("Full benefit", "Waiting period")) - -``` - -Another example are term-fixe insurances where the Zillmer premium also includes the administration (gamma) costs over the whole contract period. - -```{r termfix.Zillmeradjust.Hook, eval=FALSE} - costs = initializeCosts(alpha = 0.04, Zillmer = 0.035, gamma = 0.0015, gamma.fullcontract = 0.001), - adjustPremiumCoefficients = function(coeff, type, premiums, params, values, premiumCalculationTime) { - if (type == "Zillmer") { - coeff[["SumInsured"]][["costs"]]["gamma", "SumInsured", "guaranteed"] = 1 - } - coeff - }, -``` +For the documentation, see https://cran.r-project.org/web/packages/LifeInsureR/vignettes/using-the-lifeinsurer-package.html! -- GitLab