R/Passif-gestion_fin_projection.R

##' Fonction \code{gestion_fin_projection_passif}
##'
##' Cette fonction permet de gerer la fin de projection du modele sur le passif de la compagnie d'assurance.
##'
##' @name gestion_fin_projection_passif
##' @docType methods
##' @param passif est un objet de type \code{\link{Passif}}.
##' @author Damien Tichit pour Sia Partners
##' @export
##' @include Passif-class.R
##'
setGeneric(name = "gestion_fin_projection_passif", def = function(passif) {standardGeneric("gestion_fin_projection_passif")})
setMethod(
    f = "gestion_fin_projection_passif",
    signature = c(passif = "Passif"),
    definition = function(passif){



        ## ######################################################
        ## ######################################################
        ##
        ##    Extraction des differentes provisions techniques
        ##
        ## ######################################################
        ## ######################################################

        # Appel de la fonction
        provisions_techniques <- calcul_pt(passif = passif)


        # Extraction des PM
        pm <- sum_list(provisions_techniques[["pt"]][["pm"]], 1L)

        # Extraction de la PPE
        ppe <- provisions_techniques[["pt"]][["ppe"]]

        # Extraction de la PRE
        pre <- provisions_techniques[["pt"]][["pre"]]

        # Extraction de la reserve de capitalisation
        reserve_capi <- provisions_techniques[["pt"]][["reserve_capi"]]




        ## ######################################################
        ## ######################################################
        ##
        ##              Extraction des fonds propres
        ##
        ## ######################################################
        ## ######################################################

        # Appel de la fonction
        fp <- calcul_fonds_propres(fp = passif@fonds_propres)





        ## ######################################################
        ## ######################################################
        ##
        ##              Mise a jour des attributs
        ##
        ## ######################################################
        ## ######################################################

        # Mise a 0 des PM
        passif@ptf_passif@epargne@ptf$pm <- rep(0, nrow(passif@ptf_passif@epargne@ptf))

        # Mise a 0 des PTs
        passif@provision@ppe@ppe <- rep(0, 8L)







        ## ######################################################
        ## ######################################################
        ##
        ##              Agregation des donnees
        ##
        ## ######################################################
        ## ######################################################

        # Montant a verser en fin de projection
        fin_projection_assureurs    <- fp[["total"]] + reserve_capi + pre
        fin_projection_assures      <- pm + ppe





        # Output
        return(list(passif = passif,
                    fin_projection = list(assures = fin_projection_assures,
                                          assureurs = fin_projection_assureurs)))
    }
)
DTichit/ALModel documentation built on Feb. 11, 2021, 12:32 a.m.