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

Add documentation, move dependency handling to roxygen

parent 9b3b5cc8
No related branches found
No related tags found
No related merge requests found
...@@ -6,3 +6,4 @@ R/Companies/ ...@@ -6,3 +6,4 @@ R/Companies/
Formulas_Reference/2013*.xls* Formulas_Reference/2013*.xls*
LifeInsuranceContracts.Rproj LifeInsuranceContracts.Rproj
Vergleichsrechnung_Excel Vergleichsrechnung_Excel
inst/doc
...@@ -18,7 +18,12 @@ RoxygenNote: 5.0.1 ...@@ -18,7 +18,12 @@ RoxygenNote: 5.0.1
Collate: Collate:
'HelperFunctions.R' 'HelperFunctions.R'
'InsuranceParameters.R' 'InsuranceParameters.R'
'ProfitParticipation.R'
'InsuranceTarif.R' 'InsuranceTarif.R'
'InsuranceContract.R' 'InsuranceContract.R'
'ProfitParticipation.R' 'LifeInsuranceContracts.R'
'exportInsuranceContract_xlsx.R' 'exportInsuranceContract_xlsx.R'
Suggests:
knitr,
rmarkdown
VignetteBuilder: knitr
# Generated by roxygen2: do not edit by hand # Generated by roxygen2: do not edit by hand
export(InsuranceContract)
export(InsuranceContract.ParameterDefaults)
export(InsuranceContract.ParametersFallback)
export(InsuranceContract.ParametersFill)
export(InsuranceContract.Values)
export(InsuranceTarif)
export(ProfitParticipation)
export(exportInsuranceContract.xlsx)
export(initializeCosts)
import(R6) import(R6)
import(ValuationTables) import(ValuationTables)
import(lubridate) import(lubridate)
import(openxlsx)
library(R6) #' @include HelperFunctions.R InsuranceParameters.R InsuranceTarif.R ProfitParticipation.R
library(openxlsx); #'
library(ValuationTables); #' @import ValuationTables
#' @import R6
#' @include HelperFunctions.R #' @import lubridate
#' @include InsuranceTarif.R NULL
#' Base Class for Insurance Contracts
#'
#' R6 class that models a complete, general insurance contract.
#' The corresponding tariff and the profit participation scheme, as well as
#' all other relevant contract parameters (if not defined by the tariff or
#' explicitly overridden by the contract) can be given in the constructor.
#'
#' Immediately upon construction, all premiums, reserves and cash flows for the
#' whole contract period are calculated.
#'
#' @export
InsuranceContract = R6Class( InsuranceContract = R6Class(
"InsuranceContract", "InsuranceContract",
......
# @include #' @import lubridate
NULL
#' Initialize a cost matrix with dimensions: [CostType, Basis, Period], with:
# Initialize a cost matrix with dimensions: [CostType, Basis, Period], with: #' CostType: alpha, Zillmer, beta, gamma, gamma_nopremiums
# CostType: alpha, Zillmer, beta, gamma, gamma_nopremiums #' Basis: SumInsured, SumPremiums, GrossPremium
# Basis: SumInsured, SumPremiums, GrossPremium #' Period: once, PremiumPeriod, PremiumFree, PolicyPeriod
# Period: once, PremiumPeriod, PremiumFree, PolicyPeriod #' TODO: gamma an Erlebensleistungen?
# TODO: gamma an Erlebensleistungen? #' @export
initializeCosts = function() { initializeCosts = function() {
dimnm=list( dimnm=list(
c("alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums"), c("alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums"),
...@@ -20,6 +21,7 @@ initializeCosts = function() { ...@@ -20,6 +21,7 @@ initializeCosts = function() {
} }
#' @export
InsuranceContract.Values = list( InsuranceContract.Values = list(
basicData = NULL, basicData = NULL,
transitionProbabilities = NULL, transitionProbabilities = NULL,
...@@ -45,7 +47,8 @@ InsuranceContract.Values = list( ...@@ -45,7 +47,8 @@ InsuranceContract.Values = list(
InsuranceContract.ParameterStructure = list( #' @export
InsuranceContract.ParameterDefaults = list(
ContractData = list ( ContractData = list (
sumInsured = NULL, sumInsured = NULL,
YOB = NULL, YOB = NULL,
...@@ -138,6 +141,17 @@ InsuranceContract.ParametersFill = function(params=InsuranceContract.ParameterSt ...@@ -138,6 +141,17 @@ InsuranceContract.ParametersFill = function(params=InsuranceContract.ParameterSt
params params
} }
#' InsuranceContract.ParametersFallback
#'
#' Provide default values for the insurance contract parameters if any of the
#' parameters is not explicitly set.
#'
#' @param params Current, explicitly set contract parameters. All NULL values
#' will be filled with the corresponding entry from \code{fallback}.
#' @param fallback Fallback values that will be used when the corresponding
#' entry in \code{params} is NULL.
#'
#' @export
InsuranceContract.ParametersFallback = function(params, fallback) { InsuranceContract.ParametersFallback = function(params, fallback) {
# params = InsuranceContract.ParameterStructure; # params = InsuranceContract.ParameterStructure;
params$ContractData = fallbackFields(params$ContractData, fallback$ContractData); params$ContractData = fallbackFields(params$ContractData, fallback$ContractData);
......
...@@ -5,19 +5,20 @@ ...@@ -5,19 +5,20 @@
#' @import lubridate #' @import lubridate
NULL NULL
# library(R6)
# library(lifecontingencies)
# library(objectProperties)
# library(lubridate)
TariffTypeEnum = setSingleEnum("TariffType", levels = c("annuity", "wholelife", "endowment", "pureendowment", "terme-fix", "dread-disease")) TariffTypeEnum = setSingleEnum("TariffType", levels = c("annuity", "wholelife", "endowment", "pureendowment", "terme-fix", "dread-disease"))
# base class for Insurance Tarifs (holding contrat-independent values and #' Base class for Insurance Tarifs, providing calculation functions to the contract
# providing methods to calculate cash flows, premiums, etc.). Objects of this #'
# class do NOT contain contract-specific values like age, death probabilities, #' This is a base class for holding contract-independent values and
# premiums, reserves, etc. #' providing methods to calculate cash flows, premiums, etc. Objects of this
#' class do NOT contain contract-specific values like age, death probabilities,
#' premiums, reserves, etc. Rather, they are the calculation kernels that will
#' be called by the \code{\link{InsuranceContract}} objects to make the actual,
#' tariff-specific calculations.
#'
#' @export
InsuranceTarif = R6Class( InsuranceTarif = R6Class(
"InsuranceTarif", "InsuranceTarif",
public = list( public = list(
......
...@@ -3,11 +3,15 @@ ...@@ -3,11 +3,15 @@
#' @import R6 #' @import R6
NULL NULL
# library(R6)
# base class for Profit Participation schemes (holding contract-independent values and
# providing methods to calculate the profit participation values from the given #' Base Class for Profit Participation Schemes
# reserves). #'
#' base class for Profit Participation schemes (holding contract-independent values and
#' providing methods to calculate the profit participation values from the given
#' reserves).
#'
#' @export
ProfitParticipation = R6Class( ProfitParticipation = R6Class(
"ProfitParticipation", "ProfitParticipation",
public = list( public = list(
......
#' @include HelperFunctions.R #' @include HelperFunctions.R InsuranceContract.R InsuranceParameters.R InsuranceTarif.R ProfitParticipation.R
library(openxlsx) #'
#' @import openxlsx
#' @import ValuationTables
#' @import R6
#' @import lubridate
NULL
################################################ ################################################
# Helper Functions # Helper Functions
...@@ -180,6 +187,7 @@ setInsuranceValuesLabels = function(vals) { ...@@ -180,6 +187,7 @@ setInsuranceValuesLabels = function(vals) {
################################################################################ ################################################################################
#' @export
exportInsuranceContract.xlsx = function(contract, filename) { exportInsuranceContract.xlsx = function(contract, filename) {
# TODO: argument checking for contract and filename # TODO: argument checking for contract and filename
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment