Estimate for future annuities stemming from small claims
generate_small_claims_annuities_parameters.Rd
Payments for future annuities are an important part of the large claims simulation. But depending on the threshold
annuities may also be a part of the estimation for small claims. This could be the case if the annuity belongs to a
claim that has never exceeded the threshold or if the annuity has been created in the years before a claim
exceeds the threshold.
There may be several ways to estimate the future payments for this part. This implementation uses the historic
annuities that have been created for small claims to predict a number of future annuities per origin and development
year by an additive method. This number will then be multiplied with a mean annuity.
This function provides the parameters for this method using the input data that should be given anyway if large claims
are simulated.
In the second step, these parameters can be used by the function generate_small_claims_future_annuities()
.
Usage
generate_small_claims_annuities_parameters(
pool_of_annuities,
large_claims_list,
special_claims,
indices,
small_claims_reserved,
age_shift,
mortality
)
Arguments
- pool_of_annuities
Dataframe of all historic annuities, see description of
pool_of_annuities
in details ofprepare_data()
.- large_claims_list
Dataframe of large claims generated with
generate_claims_list()
.- special_claims
Dataframe with special claims, see details of
compute_special_claims()
.- indices
Dataframe for indexation, see details of
prepare_data()
.- small_claims_reserved
Numeric matrix of small claims reserves with origin years as rows and calendar years as columns. This matrix can be generated as difference from the all claims' triangle and the large and special claims triangle. Rownames must be the origin years. The reserves serve as volume measure for the additive method.
- age_shift
Dataframe, see description of age_shift_xmpl.
- mortality
Dataframe, see description of mortality_xmpl.
Value
A list of two numeric parameter vectors:
factors_additive_method
which can be applied to the small claims reserves to predict the future number of small claims' annuities.mean_small_claims_annuity
which is multiplied to the future number of small claims' annuities.
Examples
# this example uses data provided with this package.
# A few preparing steps are necessary to generate the needed arguments from the example
# objects provided with this package.
# The claims with claim_ids Claim#43, Claim#44 and Claim#68 are identified as special claims.
special_claims <- data.frame(Claim_id = c("Claim#43", "Claim#44", "Claim#68"),
Reserve2BE_percentage = c(0.8, 0.5, 1.2),
Rollout_type = c("linear", "constant", "external"),
Pattern_id = c(1,1,3))
external_patterns <- list(c(0.5, 0.3, 0.2),
c(1),
c(0.7, 0.3))
# Create large claims list
extended_claims_data <- prepare_data(claims_data = claims_data_xmpl,
indices = indices_xmpl,
threshold = 400000,
first_orig_year = 1989,
last_orig_year = 2023,
expected_year_of_growing_large = 3,
reserve_classes = c(1, 200001, 400001, 700001, 1400001),
pool_of_annuities = pool_of_annuities_xmpl)
# remove special claims from extended_claims_data
extended_large_claims_data <- extended_claims_data[
extended_claims_data$Claim_id %in% special_claims$Claim_id,]
large_claims_reserved <- generate_triangle(data = extended_large_claims_data,
col_name = "Cl_reserve",
first_orig_year = 1989,
last_orig_year = 2023)
large_claims_list <- generate_claims_list(extended_claims_data = extended_claims_data,
first_orig_year = 1989,
last_orig_year = 2023)
result_special_claims <- compute_special_claims(special_claims = special_claims,
extended_claims_data = extended_claims_data,
first_orig_year = 1989,
last_orig_year = 2023,
end_of_tail = 50,
external_patterns = external_patterns)
special_claims_reserved <- result_special_claims$special_claims_reserved
small_claims_reserved <- all_claims_reserved_xmpl -
large_claims_reserved - special_claims_reserved
# apply these objects as arguments to the function
generate_small_claims_annuities_parameters(
pool_of_annuities = pool_of_annuities_xmpl,
large_claims_list = large_claims_list,
special_claims = special_claims,
indices = indices_xmpl,
small_claims_reserved = small_claims_reserved,
age_shift = age_shift_xmpl,
mortality = mortality_xmpl)#'
#> $factors_additive_method
#> [1] 0.000000e+00 2.422744e-09 4.092246e-09 4.982780e-09 2.524585e-09
#> [6] 3.428258e-09 3.524056e-09 3.595645e-09 9.185317e-10 0.000000e+00
#> [11] 0.000000e+00 1.013291e-09 2.104959e-09 1.091693e-09 0.000000e+00
#> [16] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.396735e-09
#> [21] 1.471793e-09 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [26] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [31] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#>
#> $mean_small_claims_annuity
#> [1] 5.130901e+03 4.338298e+03 3.558303e+03 2.999005e+03 2.475677e+03
#> [6] 1.928619e+03 1.975292e+03 1.710160e+03 1.447696e+03 1.256395e+03
#> [11] 1.046982e+03 9.077445e+02 7.877919e+02 6.765069e+02 6.701865e+02
#> [16] 5.596239e+02 4.828530e+02 4.684175e+02 4.012094e+02 3.431339e+02
#> [21] 2.930073e+02 2.497965e+02 2.125984e+02 2.047202e+02 1.904248e+02
#> [26] 1.448504e+02 1.212692e+02 1.184317e+02 9.508415e+01 8.034766e+01
#> [31] 6.769978e+01 5.624445e+01 4.713921e+01 3.939037e+01 3.054556e+01
#> [36] 2.544054e+01 2.112368e+01 1.748476e+01 1.200090e+01 8.919841e+00
#> [41] 7.355948e+00 6.046673e+00 4.954224e+00 1.253242e-01 9.359556e-02
#> [46] 6.963949e-02 5.162699e-02 3.813234e-02 2.805016e-02 2.056652e-02
#> [51] 1.502370e-02 1.093412e-02 7.928328e-03 5.727561e-03 4.122323e-03
#> [56] 2.955908e-03 2.111804e-03 1.503158e-03 1.065965e-03 7.531253e-04
#> [61] 5.301217e-04 3.717626e-04 2.597375e-04 1.807919e-04 1.246172e-04
#> [66] 8.612648e-05 5.929872e-05 4.067222e-05 2.778992e-05 1.891498e-05
#> [71] 1.282008e-05 8.658823e-06 5.825389e-06 3.874950e-06 2.587054e-06
#> [76] 1.720297e-06 1.139321e-06 7.514819e-07 4.936335e-07 3.221606e-07
#> [81] 2.099067e-07 1.361868e-07 8.797930e-08 5.659049e-08 3.624144e-08
#> [86] 2.310710e-08 1.466705e-08 7.636305e-09 4.861432e-09 3.078705e-09
#> [91] 1.939469e-09 1.215336e-09 7.575225e-10 4.696450e-10 2.896045e-10
#> [96] 1.776194e-10 1.083450e-10 6.572872e-11 3.965588e-11 2.379449e-11
#> [101] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [106] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [111] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [116] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [121] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#> [126] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
#>