Tarea1 / app.py
AriaEs39's picture
Update app.py
499ffee verified
import streamlit as st
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
st.set_option('deprecation.showPyplotGlobalUse', False) # Desactivar la advertencia
st.title('App de prueba')
tasa_variable = st.checkbox("¿La tasa de interés es variable?")
if not tasa_variable:
# Tasa no es variable
y = st.number_input("Escribe la tasa de interés nominal (%):")
A = st.number_input("Escribe la cantidad que ahorrarás ($):")
T = st.number_input("Escribe cuántos meses quieres ver: ", step=1)
z = np.arange(T+1)
r_d = A * (1 + y/(12*100))**z
r_c = A * np.exp(y*z/(12*100))
new_dict = {"Mes": z,
"Retorno Discreto": r_d,
"Retorno Continuo": r_c}
df = pd.DataFrame(new_dict)
df.columns = new_dict.keys()
st.dataframe(df)
st.write(f"En {T} meses tendrás $ {r_c[-1]}")
# Gráfico
fig, ax = plt.subplots() # Crear la figura explícitamente
ax.plot(z, r_c)
ax.set_title('Crecimiento de la inversión a lo largo de los meses')
ax.set_xlabel('Mes')
ax.set_ylabel('Valor de la inversión ($)')
st.pyplot(fig)
else:
# Tasa es variable
A = st.number_input("Escribe la cantidad que ahorrarás ($):")
T = st.number_input("Escribe cuántos meses quieres ver: ", step=1)
tasas = []
for i in range(int(T)+1):
tasa = st.number_input(f"Tasa de interés para el mes {i} (%):", key=f"tasa_{i}")
tasas.append(tasa)
z = np.arange(T+1)
r_d = A * (1 + np.array(tasas)/(12*100))**z
r_c = A * np.exp(np.array(tasas)*z/(12*100))
new_dict = {"Mes": z,
"Retorno Discreto": r_d,
"Retorno Continuo": r_c}
df = pd.DataFrame(new_dict)
df.columns = new_dict.keys()
st.dataframe(df)
st.write(f"En {T} meses tendrás $ {r_c[-1]}")
# Gráfico
fig, ax = plt.subplots()
ax.plot(z, r_c)
ax.set_title('Crecimiento de la inversión a lo largo de los meses')
ax.set_xlabel('Mes')
ax.set_ylabel('Valor de la inversión ($)')
st.pyplot(fig)