From b6a4fdeca7b191551ee3db73037139a2260dc597 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Sun, 3 Jan 2021 00:30:55 +0100 Subject: [PATCH] Contract: Switch order of value calculation (premium composition before balance sheet reserves) For the balance sheet reserves we might need the net/gamma/Zillmer premium components (for single-premium contracts no unearned premiums are reported, but the premium is included in the reserve!), so we need to calculate it before. --- R/InsuranceContract.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R index b74e310..4739898 100644 --- a/R/InsuranceContract.R +++ b/R/InsuranceContract.R @@ -618,7 +618,6 @@ InsuranceContract = R6Class( if (calculate == "absvalues") return(invisible(self)); self$Values$reserves = mergeValues(starting = self$Values$reserves, ending = private$calculateReserves(), t = valuesFrom); - self$Values$reservesBalanceSheet = mergeValues(starting = self$Values$reservesBalanceSheet,ending = private$calculateReservesBalanceSheet(), 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); @@ -626,6 +625,9 @@ InsuranceContract = R6Class( 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)); -- GitLab