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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbe2167e76968652378fe37a5e9a8ee6388860ad0644aa9243bd5d4aff94119a
|
|
| MD5 |
2c0b64b6edb58cf853dfdc3c86cf548e
|
|
| BLAKE2b-256 |
2c6734c2ed17c5452252cf0349bc3bb437f94f4a95c35b5bba93a99183af339e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a91e730144ccf9dad53a8d317374f6228dcc166eb535fc6688846de156a71512
|
|
| MD5 |
67438b68389042313d948fec0f438c7a
|
|
| BLAKE2b-256 |
b118917b7aa8225e3750441ed64414fa89fa6a5f20482969019873985089a1ac
|