Skip to main content

Desenvolvimento do Modelo de Risco Atuarial individual e coletivo.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modelo_risco-0.0.4.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modelo_risco-0.0.4-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file modelo_risco-0.0.4.tar.gz.

File metadata

  • Download URL: modelo_risco-0.0.4.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for modelo_risco-0.0.4.tar.gz
Algorithm Hash digest
SHA256 dbe2167e76968652378fe37a5e9a8ee6388860ad0644aa9243bd5d4aff94119a
MD5 2c0b64b6edb58cf853dfdc3c86cf548e
BLAKE2b-256 2c6734c2ed17c5452252cf0349bc3bb437f94f4a95c35b5bba93a99183af339e

See more details on using hashes here.

File details

Details for the file modelo_risco-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: modelo_risco-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for modelo_risco-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a91e730144ccf9dad53a8d317374f6228dcc166eb535fc6688846de156a71512
MD5 67438b68389042313d948fec0f438c7a
BLAKE2b-256 b118917b7aa8225e3750441ed64414fa89fa6a5f20482969019873985089a1ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page