MyNixOS website logo
Description

Simulation of Life Reinsurance with Profit Commission.

Simulates and evaluates stochastic scenarios of death and lapse events in life reinsurance contracts with profit commissions. The methodology builds on materials published by the Institute of Actuaries of Japan <https://www.actuaries.jp/examin/textbook/pdf/modeling.pdf>. A paper describing the detailed algorithms will be published by the author within a few months after the initial release of this package.

volrisk

The volrisk package provides simulation tools for modeling stochastic cash flows in life reinsurance contracts with profit commission provisions.

Features

  • Create insurance portfolios with validation
  • Simulate death and lapse events under stochastic assumptions
  • Calculate profit commissions from simulated cash flows
  • Quantify risk using Value-at-Risk (VaR) and Tail Value-at-Risk (TVaR)

Installation

# Install from GitHub
devtools::install_github("taku1094/volrisk")
library(volrisk)

Example Usage

1. Generate Portfolio

port <- make_portfolio(example_portfolio, cols = list(
  unique_id = "POL_ID",
  client_id = "CLIENT_ID",
  duration = "DURATION",
  mortality = "MORTALITY",
  lapse = "LAPSE",
  nar = "NAR",
  rate = "RATE"
))

2. Run Simulation

simulation(
  port, 
  n_sim = 10, 
  split = 100,
  seed = 12345,
  output_format = "csv", 
  output_path = tempdir()
)

3. Calculate Profit Commission

data(example_simulation)

example_simulation_with_PC <- example_simulation %>%
  dplyr::group_by(split, sim_n) %>%
  dplyr::mutate(
    PC = calc_pc(PREM, CLAIM,
                 pc_rate = 0.9,
                 me = 0.05,
                 loss_carry = "N",
                 duration = DURATION)
  ) %>%
  dplyr::ungroup()

4. Evaluate Risk

result <- risk(
  example_simulation,
  time_horizon = c(1, 10),
  level = c(0.01, 0.99),
  discount = 0.02,
  output = "BAL"
)
Metadata

Version

0.1.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows