filipeclduarte's picture
Update app.py
b7c6414
raw
history blame
1.68 kB
import streamlit as st
import pandas as pd
import numpy as np
from modelo_risco.modelo_risco_coletivo import *
from util import string_to_list_int, string_to_list_float
st.title('Modelo de Risco Coletivo')
x = string_to_list_int(st.text_input('Valores de 1 sinistro', value="1,2,3"))
px = string_to_list_float(st.text_input('Probabilidades da distribuição Valor de 1 sinistro', value="0.5,0.3,0.2"))
n = string_to_list_int(st.text_input('Quantidade de sinistros', value="0,1,2"))
pn = string_to_list_float(st.text_input('Probabilidades da distribuição Frequência de sinistros',value="0.4,0.3,0.3"))
df = pd.DataFrame(
{
'X': x, 'PX': px, 'N': n, 'PN':pn
}
)
st.write(df)
modelo = ModeloRiscoCol(df['N'], df['PN'], df['X'], df['PX'])
option = st.selectbox(
'O que você gostaria de calcular?',
('Prêmio puro', 'Prêmio comercial', 'Prêmio puro pela aproximação normal', 'Probabiliade de insolvência'))
st.write('Você selecionou:', option)
if option == 'Prêmio puro':
number = st.number_input('Qual o valor do carregamento de segurança:', min_value=0.0, value=0.1)
st.write('carregamento de segurança de ', number)
premio = modelo.premio_puro(number)
st.write('Prêmio puro =', premio)
elif option == 'Prêmio comercial':
number = st.number_input('Qual o valor do carregamento de segurança:', min_value=0.0, value=0.1)
number2 = st.number_input('Qual o valor do carregamento administrativo:', min_value=0.0, value=0.1)
premio = modelo.premio_comercial(number, number2)
st.write('Prêmio comercial =', premio)