Skip to main content

Modelo de Risco Atuarial

Modelo de Risco Individual.

Install

pip install modelo_risco

Testando a classe ModeloRiscoInd

Importando o modelo de Risco Individual

from modelo_risco.modelo_risco_individual import *

Apenas 1 risco

Vamos inicializar um objeto com apenas um risco.

informações:

  • n = 100
  • q_i = 0.1
  • Distribuição B
P(Bi= B) Bi
0.4 122
0.35 452
0.2 210
0.05 1000
# criando os dados para qtd_riscos = 1
n = 100
qi = 0.1

B = {
    'PBi': [0.4, 0.35, 0.2, 0.05],
    'Bi': [122, 452, 210, 1000],
}

Criando o objeto ModeloRiscoInd com os parâemtros gerados:

# criando o modelo
mod = ModeloRiscoInd(n, qi, B)

# mostrando o modelo
print(mod)
Modelo de Risco Individual:
n = 100
E[I] = 0.1
V[I] = 0.09000000000000001
E[B] = 299.0
V[B] = 46879.0

Esperança do Sinistro

# calculando esperança do modelo
print(mod.esperanca())
2990.0

Variância do Sinistro

# calculando variancia do modelo
print(mod.variancia())
1273399.0

Desvio padrão do Sinistro

# calculando desvio pad
print(mod.desv_pad())
1128.4498216580123

Coeficiente de variação

coeficiente de variacao

print(mod.coef_var())

Prêmio puro pelo princípio do valor esperado com carregamento de segurança

# premio puro
print(mod.premio_puro(0.1))
3289.0

Prêmio comercial com carregamento de segurança e comercial

# premio comercial
print(mod.premio_comercial(0.1, 0.3))
4698.57

Prêmio pela aproximação normal com probabilidade alfa de o Sinistro superar o Prêmio total

# premio aprox_normal
alfa = 0.05
print(mod.premio_aprox_normal(alfa))
4846.134781986923

Carregamento de segurança com probabilidade alfa de o Sinistro superar o prêmio total

# carreg seg aprox normal
alfa = 0.025
print(mod.carreg_seg(alfa))
0.7397060230134953

Mais de um risco

Necessário utilizar NumPy arrays.

  • n = [200, 150, 50]
  • q_i = [0.12, 0.1, 0.05]
  • Distribuição B

Risco n. 1

Bi P(Bi = B)
100 0.6
340 0.3
390 0.1

Risco n. 2

B_i P(B_i = B)
500 0.8
800 0.15
950 0.05

Risco n. 3

B_i P(B_i = B)
1000 0.8
1500 0.1
2500 0.1
import numpy as np

### Qtd_riscos = 2
n = np.array([200, 150, 50])

qi = np.array([0.12, 0.1, 0.05])

PBi = np.array([[0.6, 0.3, 0.1], [0.8, 0.15, 0.05], [0.8, 0.1, 0.1]])
Bi = np.array([[100, 340, 390], [500, 800, 950], [1000, 1500, 2500]])

B = {
    'PBi': PBi,
    'Bi': Bi
}

mod = ModeloRiscoInd(n, qi, B, qtd_riscos = 3)

print(mod)
Modelo de Risco Individual:
n = [200 150  50]
E[I] = [0.12 0.1  0.05]
V[I] = [0.1056 0.09   0.0475]
E[B] = [ 201.   567.5 1200. ]
V[B] = [ 15489.    19068.75 210000.  ]
## checando
es = (200 * 0.12 * 201) + (150 * 0.1 * 567.5) + (50 * 0.05 * 1200)
print(es)
eb1 = np.dot([0.6, 0.3, 0.1], [100, 340, 390])
print(eb1)
vb1 = np.dot(np.array([0.6, 0.3, 0.1]),np.array([100, 340, 390])**2) - eb1**2
print(vb1)
16336.5
201.0
15489.0
# esperança
print(mod.esperanca())
16336.5
# variancia
print(mod.variancia())
9803795.745000001
# desvio padrão
print(mod.desv_pad())
3131.1013629392455
# coef variacao
print(mod.coef_var())
0.1916629243068739
# premio puro
print(mod.premio_puro(0.1))
17970.15
# premio comercial
print(mod.premio_comercial(0.1, 0.3))
25671.64
# premio aprox normal
print(mod.premio_aprox_normal(0.025))
22473.3459033052
# carreg seg
print(mod.carreg_seg(0.025))
0.37565242881309935

Modelo de Risco Coletivo

Testando a classe ModeloRiscoCol

Importando o modelo de Risco Coletivo

from modelo_risco.modelo_risco_coletivo import *

Necessário importar NumPy

informações:

  • Distribuição N
P(N = n) N
0.4 0
0.35 1
0.2 2
0.05 3
  • Distribuição X
P(X = x) X
0.3 1
0.5 2
0.15 3
0.05 4
import numpy as np

N = [0,1,2,3]
PN = [0.4, 0.35, 0.2, 0.05]

X = [1, 2, 3, 4]
PX = [0.3, 0.5, 0.15, 0.05]

modelo = ModeloRiscoCol(N, PN, X, PX)

Inicialização do modelo

print(modelo)
Modelo de Risco Coletivo:
E[N] = 0.9
V[N] = 0.79
E[X] = 1.95
V[X] = 0.6474999999999995

Esperança do Sinistro

# esperança
modelo.esperanca()
1.755

Variância do Sinistro

# variancia
modelo.variancia()
3.5867249999999995

Desvio padrão do Sinistro

# desvio padrao
modelo.desv_pad()
1.8938650955123493

Coeficiente de variação do Sinistro

# coeficiente de variação
modelo.coef_var()
1.0791254105483472

Prêmio Puro pelo princípio do valor esperado com carregamento de segurança

# premio puro
carreg_seg = 0.1
modelo.premio_puro(carreg_seg)
1.93

Prêmio Comercial com carregamento de segurança e carregamento comercial

# premio comercial
carreg_comercial = 0.3
modelo.premio_comercial(carreg_seg, carreg_comercial)
2.76

Prêmio pela aproximação normal com probabilidade alfa de o Sinistro coletivo superar o Prêmio total

# premio aprox normal
alfa = 0.025
modelo.premio_aprox_normal(alfa)
5.466907378781714

Carregamento de segurança pela aproximação normal com probabilidade alfa de o Sinistro coletivo superar o Prêmio total

# carreg seg a partir da aprox normal
modelo.carreg_seg(alfa)
2.1150469394767604

Metadata

Release files for modelo-risco 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for modelo-risco 0.0.4
File Size Uploaded
modelo_risco-0.0.4.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for modelo-risco 0.0.4
File Interpreter ABI Platform
modelo_risco-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 22.2 kB

Release files / modelo_risco-0.0.4.tar.gz

Download URL modelo_risco-0.0.4.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
dbe2167e76968652378fe37a5e9a8ee6388860ad0644aa9243bd5d4aff94119a
BLAKE2b-256 checksum
How to use checksums
2c6734c2ed17c5452252cf0349bc3bb437f94f4a95c35b5bba93a99183af339e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.6

Release files / modelo_risco-0.0.4-py3-none-any.whl

Download URL modelo_risco-0.0.4-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a91e730144ccf9dad53a8d317374f6228dcc166eb535fc6688846de156a71512
BLAKE2b-256 checksum
How to use checksums
b118917b7aa8225e3750441ed64414fa89fa6a5f20482969019873985089a1ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.0.post20200714 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page