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

Add alphaRefundPeriod parameter to indicate how long acquisition costs are...

Add alphaRefundPeriod parameter to indicate how long acquisition costs are refunded in case of surrender / premium waiver
parent cc00efac
No related branches found
No related tags found
No related merge requests found
......@@ -293,6 +293,8 @@ InsuranceContract.Values = list(
#' \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.}
#' }
#'
#'
......@@ -412,7 +414,8 @@ InsuranceContract.ParameterDefaults = list(
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 = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0), # TODO: Properly implement this as a function
premiumFrequencyLoading = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0) # TODO: Properly implement this as a function
premiumFrequencyLoading = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0), # TODO: Properly implement this as a function
alphaRefundPeriod = 5 # How long acquisition costs should be refunded in case of surrender
),
Features = list( # Special cases for the calculations
betaGammaInZillmer = FALSE, # Whether beta and gamma-costs should be included in the Zillmer premium calculation
......
......@@ -988,7 +988,7 @@ InsuranceTarif = R6Class(
if (params$ContractState$alphaRefunded) {
alphaRefund = 0
} else {
r = min(params$ContractData$policyPeriod, 5);
r = min(params$ContractData$policyPeriod, params$Loadings$alphaRefundPeriod);
ZillmerSoFar = Reduce("+", values$absCashFlows$Zillmer, accumulate = TRUE);
ZillmerTotal = sum(values$absCashFlows$Zillmer);
len = length(ZillmerSoFar);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment