Package: modelo-risco
Modelo de Risco AtuarialModelo de Risco Individual.Installpip install modelo_riscoTestando a classe ModeloRiscoIndImportando o modelo de Risco Individualfrom modelo_risco.modelo_risco_individual import *Apenas 1 riscoVamos inicializar um objeto com apenas um risco.informações:n = 100q_i = 0.1Distribuição BP(Bi= B)Bi0.41220.354520.22100.051000# criando os dados para qtd_riscos = 1n=100qi=0.1B={'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 modelomod=ModeloRiscoInd(n,qi,B)# mostrando o modeloprint(mod)Modelo de Risco Individual:
n = 100
E[I] = 0.1
V[I] = 0.09000000000000001
E[B] = 299.0
V[B] = 46879.0Esperança do Sinistro# calculando esperança do modeloprint(mod.esperanca())2990.0Variância do Sinistro# calculando variancia do modeloprint(mod.variancia())1273399.0Desvio padrão do Sinistro# calculando desvio padprint(mod.desv_pad())1128.4498216580123Coeficiente de variaçãocoeficiente de variacaoprint(mod.coef_var())Prêmio puro pelo princípio do valor esperado com carregamento de segurança# premio puroprint(mod.premio_puro(0.1))3289.0Prêmio comercial com carregamento de segurança e comercial# premio comercialprint(mod.premio_comercial(0.1,0.3))4698.57Prêmio pela aproximação normal com probabilidade alfa de o Sinistro superar o Prêmio total# premio aprox_normalalfa=0.05print(mod.premio_aprox_normal(alfa))4846.134781986923Carregamento de segurança com probabilidade alfa de o Sinistro superar o prêmio total# carreg seg aprox normalalfa=0.025print(mod.carreg_seg(alfa))0.7397060230134953Mais de um riscoNecessário utilizar NumPy arrays.n = [200, 150, 50]q_i = [0.12, 0.1, 0.05]Distribuição BRisco n. 1BiP(Bi = B)1000.63400.33900.1Risco n. 2B_iP(B_i = B)5000.88000.159500.05Risco n. 3B_iP(B_i = B)10000.815000.125000.1importnumpyasnp### Qtd_riscos = 2n=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.  ]## checandoes=(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**2print(vb1)16336.5
201.0
15489.0# esperançaprint(mod.esperanca())16336.5# varianciaprint(mod.variancia())9803795.745000001# desvio padrãoprint(mod.desv_pad())3131.1013629392455# coef variacaoprint(mod.coef_var())0.1916629243068739# premio puroprint(mod.premio_puro(0.1))17970.15# premio comercialprint(mod.premio_comercial(0.1,0.3))25671.64# premio aprox normalprint(mod.premio_aprox_normal(0.025))22473.3459033052# carreg segprint(mod.carreg_seg(0.025))0.37565242881309935Modelo de Risco ColetivoTestando a classe ModeloRiscoColImportando o modelo de Risco Coletivofrom modelo_risco.modelo_risco_coletivo import *Necessário importar NumPyinformações:Distribuição NP(N = n)N0.400.3510.220.053Distribuição XP(X = x)X0.310.520.1530.054importnumpyasnpN=[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 modeloprint(modelo)Modelo de Risco Coletivo:
E[N] = 0.9
V[N] = 0.79
E[X] = 1.95
V[X] = 0.6474999999999995Esperança do Sinistro# esperançamodelo.esperanca()1.755Variância do Sinistro# varianciamodelo.variancia()3.5867249999999995Desvio padrão do Sinistro# desvio padraomodelo.desv_pad()1.8938650955123493Coeficiente de variação do Sinistro# coeficiente de variaçãomodelo.coef_var()1.0791254105483472Prêmio Puro pelo princípio do valor esperado com carregamento de segurança# premio purocarreg_seg=0.1modelo.premio_puro(carreg_seg)1.93Prêmio Comercial com carregamento de segurança e carregamento comercial# premio comercialcarreg_comercial=0.3modelo.premio_comercial(carreg_seg,carreg_comercial)2.76Prêmio pela aproximação normal com probabilidade alfa de o Sinistro coletivo superar o Prêmio total# premio aprox normalalfa=0.025modelo.premio_aprox_normal(alfa)5.466907378781714Carregamento 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 normalmodelo.carreg_seg(alfa)2.1150469394767604