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

Add gammaInZillmer Parameter as a feature (i.e. gamma costs included in...

Add gammaInZillmer Parameter as a feature (i.e. gamma costs included in Zillmer premium, but not beta costs)
parent 78cdcfc7
No related branches found
No related tags found
No related merge requests found
...@@ -492,6 +492,8 @@ InsuranceContract.Values = list( ...@@ -492,6 +492,8 @@ InsuranceContract.Values = list(
#' reserve) (default: TRUE)} #' reserve) (default: TRUE)}
#' \item{\code{$betaGammaInZillmer}}{Whether beta and gamma-costs should be #' \item{\code{$betaGammaInZillmer}}{Whether beta and gamma-costs should be
#' included in the Zillmer premium calculation} #' included in the Zillmer premium calculation}
#' \item{\code{$gammaInZillmer}}{Whether gamma- (but not beta-) costs should be
#' included in the Zillmer premium calculation}
#' \item{\code{$alphaRefundLinear}}{Whether the refund of alpha-costs on #' \item{\code{$alphaRefundLinear}}{Whether the refund of alpha-costs on
#' surrender is linear in t or follows the NPV of an annuity} #' surrender is linear in t or follows the NPV of an annuity}
#' \item{\code{$useUnearnedPremiums}}{Whether unearned premiums should be #' \item{\code{$useUnearnedPremiums}}{Whether unearned premiums should be
...@@ -649,6 +651,7 @@ InsuranceContract.ParameterDefaults = list( ...@@ -649,6 +651,7 @@ InsuranceContract.ParameterDefaults = list(
Features = list( # Special cases for the calculations 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) 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 betaGammaInZillmer = FALSE, # Whether beta and gamma-costs should be included in the Zillmer premium calculation
gammaInZillmer = FALSE, # Whether gamma- (but not beta-) 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 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. 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) surrenderIncludesCostsReserves = TRUE, # Whether (administration) cost reserves are paid out on surrender (i.e. included in the surrender value before surrender penalties are applied)
......
...@@ -1018,6 +1018,9 @@ InsuranceTarif = R6Class( ...@@ -1018,6 +1018,9 @@ InsuranceTarif = R6Class(
if (params$Features$betaGammaInZillmer) { if (params$Features$betaGammaInZillmer) {
affected = c(affected, "beta", "gamma") affected = c(affected, "beta", "gamma")
} }
if (params$Features$gammaInZillmer) {
affected = c(affected, "gamma")
}
coeff[["SumInsured"]][["costs"]][affected,"SumInsured", ] = 1; coeff[["SumInsured"]][["costs"]][affected,"SumInsured", ] = 1;
coeff[["SumInsured"]][["costs"]][affected,"SumPremiums", ] = values$unitPremiumSum * premiums[["unit.gross"]]; coeff[["SumInsured"]][["costs"]][affected,"SumPremiums", ] = values$unitPremiumSum * premiums[["unit.gross"]];
coeff[["SumInsured"]][["costs"]][affected,"GrossPremium",] = premiums[["unit.gross"]]; coeff[["SumInsured"]][["costs"]][affected,"GrossPremium",] = premiums[["unit.gross"]];
......
...@@ -243,6 +243,8 @@ reserves on the Zillmer reserve as opposed to the adequate ...@@ -243,6 +243,8 @@ reserves on the Zillmer reserve as opposed to the adequate
reserve) (default: TRUE)} reserve) (default: TRUE)}
\item{\code{$betaGammaInZillmer}}{Whether beta and gamma-costs should be \item{\code{$betaGammaInZillmer}}{Whether beta and gamma-costs should be
included in the Zillmer premium calculation} included in the Zillmer premium calculation}
\item{\code{$gammaInZillmer}}{Whether gamma- (but not beta-) costs should be
included in the Zillmer premium calculation}
\item{\code{$alphaRefundLinear}}{Whether the refund of alpha-costs on \item{\code{$alphaRefundLinear}}{Whether the refund of alpha-costs on
surrender is linear in t or follows the NPV of an annuity} surrender is linear in t or follows the NPV of an annuity}
\item{\code{$useUnearnedPremiums}}{Whether unearned premiums should be \item{\code{$useUnearnedPremiums}}{Whether unearned premiums should be
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment