SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
LTC insurance with markovchain
Giorgio A. Spedicato, Ph.D FCAS FSA
12 giugno, 2017
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 1 / 24
Disclaimer
The opinions expressed in this presentation and on the following slides are
solely those of the presenter and not necessarily those of his Employer (the
Unipol Group). The Unipol Group neither does not guarantee the accuracy
or reliability of the information provided herein nor takes position on.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 2 / 24
Intro
LTC insurance
As well known, Long Term Care (LTC) policies guarantee annuity
benefits as long as a disability status is present.
The actuarial approach to model LTC insurances have been
traditionally based on the multi - state approach.
The demographic assumptions are represented by tables that model the
transition between (A)ctive (healthy), disabled/(I)ll and (D)ead status
across ages.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 3 / 24
The lump-sum premium for a yearly benefit C is
U = ω−x
h=1 phh
x,h−1 ∗ qhi
x+h−1 ∗ vh ∗ ¨a
(i)
x+h = P ∗ ¨a
(h)
x .
The annual premium is conventionally paid when the policyholder is
(H)ealthy.
Reserves depends by the attained status (H or I) at the evaluation
period.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 4 / 24
Empirical data
We used assumptions for the Italian population taken from (Paolo de
Angelis 2016).
In particular, this exercise is based on the transition probabilities for
Italian male population estimated for the 2016 calendar year.
Possible states are (A)ctive, (I)ll and (D)ead. Modeled transitions are
from A -> I, from A -> D and I -> D.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 5 / 24
Figure 1: Italian Males Transition Probabilities 2016
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 6 / 24
The markovchain package
Purpose
The markovchain package (Spedicato 2016) has been developed for
easily handling Discrete Time Markov Chains (DTMC) in R by S4
classes for homogeneous and not DTMCs.
Also used to perform structural analysis (e.g. states classification),
statistical inference, estimation and simulation.
The functions written to perform the actuarial analysis on LTC data
heavily relies on the markovchain package’s simulation functions.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 7 / 24
Package history
On Cran since mid 2013.
Development sponsored by Google within the Google Summer of Code
2015, 2016 and 2017.
Core parts written in Rcpp (Eddelbuettel 2013). The simulation
function also uses RcppParallel (Allaire et al. 2016).
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 8 / 24
Application to LTC insurance
The stochastic process underlying a LTC insurance can be considered a
non - homogeneous DTMC, since transition probabilities vary by age.
#defining the transition diagram for age 80
mc80<-createAgeMarkovChain(80)
mc80
80
A 3 - dimensional discrete Markov Chain defined by the following states:
active, ill, dead
The transition matrix (by rows) is defined as follows:
active ill dead
active 0.9432764 0.02541479 0.03130879
ill 0.0000000 0.77097391 0.22902609
dead 0.0000000 0.00000000 1.00000000
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 9 / 24
#summarizing the structural proprieties of
#the transition diagram
summary(mc80)
80 Markov chain that is composed by:
Closed classes:
dead
Recurrent classes:
{dead}
Transient classes:
{active},{ill}
The Markov chain is not irreducible
The absorbing states are: dead
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 10 / 24
#plotting
plot(mc80,main="Transitions for age 80")
Transitions for age 80
0.94
0.77
1
0.03
0.03
0.23
active
ill
dead
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 11 / 24
The markovchain package allows to draw samples from non -
homogenous DTMC.
# simulating life trajectories
table90 <- getTable(age = 90)
simulateLifeTrajectiories(transitionTable = table90, numSim =
91 92 93 94 95 96 97 9
1 "active" "active" "active" "active" "active" "dead" "dead" "
100 101 102 103 104 105 106 107 108
1 "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dea
110 111 112 113 114 115 116 117 118
1 "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dea
120 121 122
1 "dead" "dead" "dead"
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 12 / 24
Actuarial analysis of LTC coverages with R
Assumptions
A simulation approach is used to actuarially evaluate the LTC coverage.
The (fictionary) policyholder age is 75, the real interest rate is i = 0.01.
we will compute benefit premiums (lump sum and yearly) and reserves.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 13 / 24
A large number of random life trajectories is sampled.
Cash flows depends by the status at the beginning of the year, 1 when
(D)isabled, 0 otherwise.
The yearly benefit is set to 12K.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 14 / 24
Simulating life trajectories
## retrieving transition since age 75
table.75<-getTable(75)
## simulating life trajectories
lifetrajectories.75<-simulateLifeTrajectiories(transitionTable
numSim = 1000,
include_start_age = FALSE,
begin_status = "active")
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 15 / 24
#sampled life trajectories for a policyholder aged 75
lifetrajectories.75[1:5,10:15]
85 86 87 88 89 90
1 "dead" "dead" "dead" "dead" "dead" "dead"
2 "active" "active" "active" "active" "active" "active"
3 "active" "active" "active" "dead" "dead" "dead"
4 "dead" "dead" "dead" "dead" "dead" "dead"
5 "active" "active" "active" "active" "active" "active"
#computing expected future years disabled
disabled01<-matrix(0,nrow=nrow(lifetrajectories.75),
ncol=ncol(lifetrajectories.75))
disabled01[which(lifetrajectories.75=="ill")]=1
mean(rowSums(disabled01))
[1] 1.475
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 16 / 24
Computing premiums
#PV of a policy paying 12K euro at the beginning of the year
#if the policyholder is disabled
##simulating
pvbenefits.75<-getPVDistribution(lifetrajectoriesMatrix
= lifetrajectories.75, target = "ill",CF = 1000*12,
real_interest_rate = 0.01,
begin = 1)
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 17 / 24
## computing APV of lump sum benefits
U<-mean(pvbenefits.75); U
[1] 15775.39
## yearly premium
annuity.75.healthy<-mean(getPVDistribution(lifetrajectoriesMatrix =
lifetrajectories.75, target = "active", CF = 1, real_interest_rate = 0.01,
P <- U/ annuity.75.healthy;P
[1] 1604.241
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 18 / 24
It is also possible to perform a stochastic analysis of the future benefits
distribution
qplot(pvbenefits.75,main = "LTC benefits PV",xlab="Euros")
0
200
400
0 50000 100000 150000
count
LTC benefits PV
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 19 / 24
Computing reserves
A prospective approach is used.
Reserves depend by attained status (Healthy or Ill)
Calculations performed at example age of 80.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 20 / 24
## retrieving transition from age 80
table.80<-getTable(80)
## simulating life trajectories (for healthy insureds)
lifetrajectories.80.healthy<-simulateLifeTrajectiories(transitionTable = ta
numSim = 1000,
include_start_age = FALSE,
begin_status = "active")
## (for ill insureds)
lifetrajectories.80.ill<-simulateLifeTrajectiories(transitionTable = table.
numSim = 1000,
include_start_age = FALSE,
begin_status = "ill")
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 21 / 24
## benefit reserve distribution, 80 yo healthy
reserve.80.active.distr<-
getReserveDistribution(lifetrajectoriesMatrix = lifetrajectories.80.healt
CF_active = -P,CF_ill = +12000,CF_dead = 0,real_interest_rate = 0.01,begi
mean(reserve.80.active.distr)
[1] -287.0605
## benefit reserve distribution, 80 yo ill
reserve.80.ill.distr<-
getReserveDistribution(lifetrajectoriesMatrix = lifetrajectories.80.ill,
CF_active = -P,CF_ill = +12000,CF_dead = 0,real_interest_rate = 0.01,begi
mean(reserve.80.ill.distr)
[1] 35549.81
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 22 / 24
It is also possible to quantify reserves’ variability
healthy ill
−50000 0 50000 100000 150000 200000−50000 0 50000 100000 150000 200000
0
50
100
150
200
amount
count
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 23 / 24
References
Allaire, JJ, Romain Francois, Kevin Ushey, Gregory Vandenbrouck, Marcus
Geelnard, and Intel. 2016. RcppParallel: Parallel Programming Tools for
’Rcpp’. https://CRAN.R-project.org/package=RcppParallel.
Eddelbuettel, Dirk. 2013. Seamless R and C++ Integration with Rcpp.
New York: Springer.
Paolo de Angelis, Luigi di Falco. 2016. Assicurazioni Sulla Salute:
Caratteristiche, Modelli E Basi Tecniche. Il mulino.
Spedicato, Giorgio Alfredo. 2016. Markovchain: Discrete Time Markov
Chains Made Easy.
Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 24 / 24

Mais conteúdo relacionado

Mais de Giorgio Alfredo Spedicato (14)

Machine Learning - Unsupervised Learning
Machine Learning - Unsupervised LearningMachine Learning - Unsupervised Learning
Machine Learning - Unsupervised Learning
 
Machine Learning - Principles
Machine Learning - PrinciplesMachine Learning - Principles
Machine Learning - Principles
 
Machine Learning - Intro
Machine Learning - IntroMachine Learning - Intro
Machine Learning - Intro
 
Meta analysis essentials
Meta analysis essentialsMeta analysis essentials
Meta analysis essentials
 
The markovchain package use r2016
The markovchain package use r2016The markovchain package use r2016
The markovchain package use r2016
 
Cat Bond and Traditional Insurance
Cat Bond and Traditional InsuranceCat Bond and Traditional Insurance
Cat Bond and Traditional Insurance
 
It skills for actuaries
It skills for actuariesIt skills for actuaries
It skills for actuaries
 
Statistics in insurance business
Statistics in insurance businessStatistics in insurance business
Statistics in insurance business
 
R in Insurance 2014
R in Insurance 2014R in Insurance 2014
R in Insurance 2014
 
L'assicurazione rca gs
L'assicurazione rca   gsL'assicurazione rca   gs
L'assicurazione rca gs
 
P & C Reserving Using GAMLSS
P & C Reserving Using GAMLSSP & C Reserving Using GAMLSS
P & C Reserving Using GAMLSS
 
Princing insurance contracts with R
Princing insurance contracts with RPrincing insurance contracts with R
Princing insurance contracts with R
 
Pricing and modelling under the Italian Direct Compensation Card Scheme
Pricing and modelling under the Italian Direct Compensation Card SchemePricing and modelling under the Italian Direct Compensation Card Scheme
Pricing and modelling under the Italian Direct Compensation Card Scheme
 
Actuarial modeling of general practictioners' drug prescriptions costs
Actuarial modeling of general practictioners' drug prescriptions costsActuarial modeling of general practictioners' drug prescriptions costs
Actuarial modeling of general practictioners' drug prescriptions costs
 

Último

Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxolyaivanovalion
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 

Último (20)

Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptx
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 

Long term care insurance with markovchain package

  • 1. LTC insurance with markovchain Giorgio A. Spedicato, Ph.D FCAS FSA 12 giugno, 2017 Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 1 / 24
  • 2. Disclaimer The opinions expressed in this presentation and on the following slides are solely those of the presenter and not necessarily those of his Employer (the Unipol Group). The Unipol Group neither does not guarantee the accuracy or reliability of the information provided herein nor takes position on. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 2 / 24
  • 3. Intro LTC insurance As well known, Long Term Care (LTC) policies guarantee annuity benefits as long as a disability status is present. The actuarial approach to model LTC insurances have been traditionally based on the multi - state approach. The demographic assumptions are represented by tables that model the transition between (A)ctive (healthy), disabled/(I)ll and (D)ead status across ages. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 3 / 24
  • 4. The lump-sum premium for a yearly benefit C is U = ω−x h=1 phh x,h−1 ∗ qhi x+h−1 ∗ vh ∗ ¨a (i) x+h = P ∗ ¨a (h) x . The annual premium is conventionally paid when the policyholder is (H)ealthy. Reserves depends by the attained status (H or I) at the evaluation period. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 4 / 24
  • 5. Empirical data We used assumptions for the Italian population taken from (Paolo de Angelis 2016). In particular, this exercise is based on the transition probabilities for Italian male population estimated for the 2016 calendar year. Possible states are (A)ctive, (I)ll and (D)ead. Modeled transitions are from A -> I, from A -> D and I -> D. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 5 / 24
  • 6. Figure 1: Italian Males Transition Probabilities 2016 Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 6 / 24
  • 7. The markovchain package Purpose The markovchain package (Spedicato 2016) has been developed for easily handling Discrete Time Markov Chains (DTMC) in R by S4 classes for homogeneous and not DTMCs. Also used to perform structural analysis (e.g. states classification), statistical inference, estimation and simulation. The functions written to perform the actuarial analysis on LTC data heavily relies on the markovchain package’s simulation functions. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 7 / 24
  • 8. Package history On Cran since mid 2013. Development sponsored by Google within the Google Summer of Code 2015, 2016 and 2017. Core parts written in Rcpp (Eddelbuettel 2013). The simulation function also uses RcppParallel (Allaire et al. 2016). Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 8 / 24
  • 9. Application to LTC insurance The stochastic process underlying a LTC insurance can be considered a non - homogeneous DTMC, since transition probabilities vary by age. #defining the transition diagram for age 80 mc80<-createAgeMarkovChain(80) mc80 80 A 3 - dimensional discrete Markov Chain defined by the following states: active, ill, dead The transition matrix (by rows) is defined as follows: active ill dead active 0.9432764 0.02541479 0.03130879 ill 0.0000000 0.77097391 0.22902609 dead 0.0000000 0.00000000 1.00000000 Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 9 / 24
  • 10. #summarizing the structural proprieties of #the transition diagram summary(mc80) 80 Markov chain that is composed by: Closed classes: dead Recurrent classes: {dead} Transient classes: {active},{ill} The Markov chain is not irreducible The absorbing states are: dead Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 10 / 24
  • 11. #plotting plot(mc80,main="Transitions for age 80") Transitions for age 80 0.94 0.77 1 0.03 0.03 0.23 active ill dead Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 11 / 24
  • 12. The markovchain package allows to draw samples from non - homogenous DTMC. # simulating life trajectories table90 <- getTable(age = 90) simulateLifeTrajectiories(transitionTable = table90, numSim = 91 92 93 94 95 96 97 9 1 "active" "active" "active" "active" "active" "dead" "dead" " 100 101 102 103 104 105 106 107 108 1 "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dea 110 111 112 113 114 115 116 117 118 1 "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dead" "dea 120 121 122 1 "dead" "dead" "dead" Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 12 / 24
  • 13. Actuarial analysis of LTC coverages with R Assumptions A simulation approach is used to actuarially evaluate the LTC coverage. The (fictionary) policyholder age is 75, the real interest rate is i = 0.01. we will compute benefit premiums (lump sum and yearly) and reserves. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 13 / 24
  • 14. A large number of random life trajectories is sampled. Cash flows depends by the status at the beginning of the year, 1 when (D)isabled, 0 otherwise. The yearly benefit is set to 12K. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 14 / 24
  • 15. Simulating life trajectories ## retrieving transition since age 75 table.75<-getTable(75) ## simulating life trajectories lifetrajectories.75<-simulateLifeTrajectiories(transitionTable numSim = 1000, include_start_age = FALSE, begin_status = "active") Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 15 / 24
  • 16. #sampled life trajectories for a policyholder aged 75 lifetrajectories.75[1:5,10:15] 85 86 87 88 89 90 1 "dead" "dead" "dead" "dead" "dead" "dead" 2 "active" "active" "active" "active" "active" "active" 3 "active" "active" "active" "dead" "dead" "dead" 4 "dead" "dead" "dead" "dead" "dead" "dead" 5 "active" "active" "active" "active" "active" "active" #computing expected future years disabled disabled01<-matrix(0,nrow=nrow(lifetrajectories.75), ncol=ncol(lifetrajectories.75)) disabled01[which(lifetrajectories.75=="ill")]=1 mean(rowSums(disabled01)) [1] 1.475 Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 16 / 24
  • 17. Computing premiums #PV of a policy paying 12K euro at the beginning of the year #if the policyholder is disabled ##simulating pvbenefits.75<-getPVDistribution(lifetrajectoriesMatrix = lifetrajectories.75, target = "ill",CF = 1000*12, real_interest_rate = 0.01, begin = 1) Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 17 / 24
  • 18. ## computing APV of lump sum benefits U<-mean(pvbenefits.75); U [1] 15775.39 ## yearly premium annuity.75.healthy<-mean(getPVDistribution(lifetrajectoriesMatrix = lifetrajectories.75, target = "active", CF = 1, real_interest_rate = 0.01, P <- U/ annuity.75.healthy;P [1] 1604.241 Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 18 / 24
  • 19. It is also possible to perform a stochastic analysis of the future benefits distribution qplot(pvbenefits.75,main = "LTC benefits PV",xlab="Euros") 0 200 400 0 50000 100000 150000 count LTC benefits PV Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 19 / 24
  • 20. Computing reserves A prospective approach is used. Reserves depend by attained status (Healthy or Ill) Calculations performed at example age of 80. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 20 / 24
  • 21. ## retrieving transition from age 80 table.80<-getTable(80) ## simulating life trajectories (for healthy insureds) lifetrajectories.80.healthy<-simulateLifeTrajectiories(transitionTable = ta numSim = 1000, include_start_age = FALSE, begin_status = "active") ## (for ill insureds) lifetrajectories.80.ill<-simulateLifeTrajectiories(transitionTable = table. numSim = 1000, include_start_age = FALSE, begin_status = "ill") Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 21 / 24
  • 22. ## benefit reserve distribution, 80 yo healthy reserve.80.active.distr<- getReserveDistribution(lifetrajectoriesMatrix = lifetrajectories.80.healt CF_active = -P,CF_ill = +12000,CF_dead = 0,real_interest_rate = 0.01,begi mean(reserve.80.active.distr) [1] -287.0605 ## benefit reserve distribution, 80 yo ill reserve.80.ill.distr<- getReserveDistribution(lifetrajectoriesMatrix = lifetrajectories.80.ill, CF_active = -P,CF_ill = +12000,CF_dead = 0,real_interest_rate = 0.01,begi mean(reserve.80.ill.distr) [1] 35549.81 Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 22 / 24
  • 23. It is also possible to quantify reserves’ variability healthy ill −50000 0 50000 100000 150000 200000−50000 0 50000 100000 150000 200000 0 50 100 150 200 amount count Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 23 / 24
  • 24. References Allaire, JJ, Romain Francois, Kevin Ushey, Gregory Vandenbrouck, Marcus Geelnard, and Intel. 2016. RcppParallel: Parallel Programming Tools for ’Rcpp’. https://CRAN.R-project.org/package=RcppParallel. Eddelbuettel, Dirk. 2013. Seamless R and C++ Integration with Rcpp. New York: Springer. Paolo de Angelis, Luigi di Falco. 2016. Assicurazioni Sulla Salute: Caratteristiche, Modelli E Basi Tecniche. Il mulino. Spedicato, Giorgio Alfredo. 2016. Markovchain: Discrete Time Markov Chains Made Easy. Giorgio A. Spedicato, Ph.D FCAS FSA LTC insurance with markovchain 12 giugno, 2017 24 / 24