16 de junho de 2023

Aula de Hoje

  • Cálculo de Reservas para Ramo Não-Vida

  • Triângulos de Desenvolvimento

  • Métodos determinísticos para cálculo de reserva

    • Método Chain-Ladder

Seguros

  • Uma apólice de seguro é uma promessa feita pela seguradora de pagar ao segurado por futuras perdas em troca de um prêmio recebido antecipadamente.

  • Por isso, seguradoras não sabem antecipadamente qual será o custo do seu serviço. Para determinar esse custo, precisam confiar na análise de dados históricos para predizer um prêmio sustentável.

  • Em seguros do Ramo Não-Vida (ex: carro, propriedade, acidente), a maioria das apólices tem duração de 12 meses. No entanto, o processo de pagamento das indenizações pode durar anos. Assim, muitas vezes a data de pagamento também é desconhecida para a seguradora.

Reservas

  • Em particular, os processos de indenizações decorrentes de seguros de acidentes podem demorar muito tempo para serem finalizados.

  • Esse aspecto da operação de seguros faz com que o maior item do passivo da seguradora seja o das Provisões ou Reservas.

  • As Reservas podem ser quebradas em dois casos:

    • reservas de sinistros que já foram reportados;

    • reservas de sinistros já ocorridos mas não reportados (IBNR - Incurred but not reported).

Cálculo de Reservas

  • Historicamente, as reservas eram calculadas de maneira determinística na mão, e combinadas com o julgamento de um especialista.

  • Com o surgimento dos computadores pessoais, tornou-se possível calcular as reservas através de planilhas, de uma maneira mais rápida e eficiente que antes.

  • Com isso, os atuários puderam considerar diferentes cenários e analisar a sensibilidade e os efeitos das previsões.

Cálculo de Reservas

  • E à medida que a capacidade dos computadores foi aumentando, modelos mais sofisticados para as reservas passaram a ser considerados.

  • Algumas mudanças em legislações e regulamentos, como a diretiva Solvency II da União Européia em 2009, passaram a promover também métodos estatísticos e estocásticos para o cálculo de reservas.

  • Vários métodos vem sendo desenvolvidos para estimar tanto o valor como a variabilidade de reservas. Vamos ver alguns desses métodos.

Triângulos de Desenvolvimento

Triângulos de Desenvolvimento

  • Dados históricos de seguros normalmente são apresentados em forma de triângulos, mostrando o desenvolvimento (tempo até o pagamento) de indenizações de acordo com o período de origem do seguro.

  • O período de origem do seguro pode ser tanto com relação à emissão da apólice, quanto em relação ao período de ocorrência do sinistro.

  • O período de desenvolvimento de um seguro também pode ser chamado de duração, ou tempo até o pagamento.

  • O triângulo pode ser feito para períodos anuais, mensais, semestrais…

Triângulos de Desenvolvimento

Exemplo

  • Vamos considerar os dados de um triângulo de desenvolvimento para indenizações de um seguro automobilístico contra terceiros de uma seguradora no Reino Unido.

  • Os períodos de origem estão entre 2007 e 2013.

  • Os dados estão organizados em uma tabela com os períodos de origem na primeira coluna, os períodos de desenvolvimento na segunda coluna, e os pagamentos/transações na terceira coluna.

Triângulos de Desenvolvimento

Exemplo

##    originf dev inc.paid
## 1     2007   1     3511
## 2     2007   2     3215
## 3     2007   3     2266
## 4     2007   4     1712
## 5     2007   5     1059
## 6     2007   6      587
## 7     2007   7      340
## 8     2008   1     4001
## 9     2008   2     3702
## 10    2008   3     2278
## 11    2008   4     1180
## 12    2008   5      956
## 13    2008   6      629
## 14    2009   1     4355
## 15    2009   2     3932
## 16    2009   3     1946
## 17    2009   4     1522
## 18    2009   5     1238
## 19    2010   1     4295
## 20    2010   2     3455
## 21    2010   3     2023
## 22    2010   4     1320
## 23    2011   1     4150
## 24    2011   2     3747
## 25    2011   3     2320
## 26    2012   1     5102
## 27    2012   2     4548
## 28    2013   1     6283

Triângulos de Desenvolvimento

Exemplo

## transformando em triângulo de desenvolvimento
(inc.triangle <- with(Claims, {
  M <- matrix(nrow=n, ncol=n,
              dimnames=list(origin=levels(originf), dev=1:n))
  M[cbind(originf, dev)] <- inc.paid
  M
}))

Triângulos de Desenvolvimento

Exemplo

##       dev
## origin    1    2    3    4    5   6   7
##   2007 3511 3215 2266 1712 1059 587 340
##   2008 4001 3702 2278 1180  956 629  NA
##   2009 4355 3932 1946 1522 1238  NA  NA
##   2010 4295 3455 2023 1320   NA  NA  NA
##   2011 4150 3747 2320   NA   NA  NA  NA
##   2012 5102 4548   NA   NA   NA  NA  NA
##   2013 6283   NA   NA   NA   NA  NA  NA

Triângulos de Desenvolvimento

  • Objetivo: estimar o desenvolvimento futuro das indenizações para formar uma reserva.

  • Eventualmente, todas as indenizações serão quitadas, mas nem sempre é fácil estimar quando tempo isso irá levar.

  • Vamos falar de seguros de cauda leve ou pesada dependendo de quanto tempo leva até que todos os pagamentos sejam feitos.

Triângulos Cumulativos

  • Será mais útil trabalhar com os triângulos de indenizações/sinistros acumulados.
## triângulo acumulado
(cum.triangle <- t(apply(inc.triangle, 1, cumsum)))
##       dev
## origin    1    2     3     4     5     6     7
##   2007 3511 6726  8992 10704 11763 12350 12690
##   2008 4001 7703  9981 11161 12117 12746    NA
##   2009 4355 8287 10233 11755 12993    NA    NA
##   2010 4295 7750  9773 11093    NA    NA    NA
##   2011 4150 7897 10217    NA    NA    NA    NA
##   2012 5102 9650    NA    NA    NA    NA    NA
##   2013 6283   NA    NA    NA    NA    NA    NA

Triângulos Cumulativos

  • A última diagonal preenchida do triângulo acumulado apresenta os valores acumulados pagos no último ano para cada ano de origem.
## diagonal - pagamentos acumulados de cada período de origem
(latest.paid <- cum.triangle[row(cum.triangle) == n - col(cum.triangle) + 1])
## [1]  6283  9650 10217 11093 12993 12746 12690

Triângulos Cumulativos

  • Vamos incluir os dados de pagamentos acumulados à tabela original dos dados.
## pagamentos acumulados
Claims$cum.paid <- cum.triangle[with(Claims, cbind(originf, dev))]
head(Claims)
##   originf dev inc.paid cum.paid
## 1    2007   1     3511     3511
## 2    2007   2     3215     6726
## 3    2007   3     2266     8992
## 4    2007   4     1712    10704
## 5    2007   5     1059    11763
## 6    2007   6      587    12350

Visualizando os dados

Visualizando os dados

Visualizando os dados

  • De acordo com os gráficos, parece que não há nenhum comportamento anormal nos dados.

  • Os últimos anos (2012 e 2013) parecem ter pagamentos um pouco maiores do que os demais anos, enquanto 2007 parece ter os menores valores.

  • O último pagamento de 2009 (de 1.238) se destaca um pouco também do comportamento geral.

Modelos Determinísticos para Cálculo da Reserva

Modelos Determinísticos

  • O modelo mais estabelecido e mais antigo para estimar reservas é o Chain-Ladder.

  • O modelo Chain-Ladder clássico é um algoritmo determinístico para prever as indenizações baseado nos dados históricos.

  • Ele assume que o desenvolvimento proporcional de um período para o outro é o mesmo para todos os períodos de origem.

Algoritmo Chain-Ladder

  • Seja \(C_{i,j}\) os pagamentos acumulados para período de origem \(i\) e após um período de desenvolvimento \(j\).

  • 1º passo: Calcular os fatores de desenvolvimento \(f_k\) entre os períodos de desenvolvimento:

\[f_k = \frac{\sum_{i=1}^{n-k} C_{i,k+1}}{\sum_{i=1}^{n-k} C_{i,k}}\]

## fatores de desenvolvimento
f <- sapply( (n-1):1, function(i) {
  sum(cum.triangle[1:i, n-i+1])/sum(cum.triangle[1:i, n-i]) } )

Algoritmo Chain-Ladder

  • Por enquanto, não vamos considerar nenhum desenvolvimento após o ano 7. Assim, fixamos o último fator de desenvolvimento (tail factor) como 1.
tail <- 1   # último fator de desenvolvimento
(f <- c(f, tail))
## [1] 1.889234 1.282381 1.147105 1.096758 1.050921 1.027530 1.000000

Algoritmo Chain-Ladder

  • 2º passo: Aplicar os fatores \(f_k\) ao último pagamento acumulado de cada linha (\(C_{i,n-i+1}\)) para produzir as previsões de pagamentos para os anos futuros.

\[\hat{C}_{i,k+1} = f_k \cdot \hat{C}_{i,k} \]

começando por \(\hat{C}_{i, n-i+1} = C_{i,n-i+1}\)

Algoritmo Chain-Ladder

## completando o triângulo
full.triangle <- cum.triangle
for(k in 1:(n-1)){
  full.triangle[(n-k+1):n, k+1] <- full.triangle[(n-k+1):n,k]*f[k]
}
full.triangle
##       dev
## origin    1        2        3        4        5        6        7
##   2007 3511  6726.00  8992.00 10704.00 11763.00 12350.00 12690.00
##   2008 4001  7703.00  9981.00 11161.00 12117.00 12746.00 13096.90
##   2009 4355  8287.00 10233.00 11755.00 12993.00 13654.62 14030.54
##   2010 4295  7750.00  9773.00 11093.00 12166.34 12785.86 13137.86
##   2011 4150  7897.00 10217.00 11719.97 12853.97 13508.51 13880.40
##   2012 5102  9650.00 12374.98 14195.40 15568.92 16361.71 16812.15
##   2013 6283 11870.06 15221.94 17461.17 19150.67 20125.85 20679.92

Algoritmo Chain-Ladder

  • A última coluna contém o total de pagamentos previstos:
## total de pagamentos previstos
(ultimate.paid <- full.triangle[,n])
##     2007     2008     2009     2010     2011     2012     2013 
## 12690.00 13096.90 14030.54 13137.86 13880.40 16812.15 20679.92

Algoritmo Chain-Ladder

  • O produto cumulativo dos fatores de desenvolvimento fornece os fatores totais aplicados ao último valor observado até o final (“Loss Development Factors”):
## fatores de desenvolvimento totais
(ldf <- rev(cumprod(rev(f))))
## [1] 3.291408 1.742192 1.358560 1.184338 1.079854 1.027530 1.000000
  • O inverso dos fatores totais são a proporção do total de indenizações que foram “desenvolvidas” (estimadas) até o final:
## proporção de indenizações estimadas
(dev.pattern <- 1/ldf)
## [1] 0.3038213 0.5739896 0.7360737 0.8443537 0.9260515 0.9732072 1.0000000

Algoritmo Chain-Ladder

  • A Reserva total estimada é:
## reserva
(reserve <- sum (latest.paid * (ldf - 1)))
## [1] 28655.77
sum(ultimate.paid - latest.paid)
## [1] 28655.77