appdemo / demo.py
Skkinycalvs's picture
Update demo.py
186d638 verified
raw
history blame contribute delete
No virus
1.7 kB
import streamlit as st
import numpy as np
import pandas as pd
st.title('App de prueba 馃懟')
# Obtener la tasa de inter茅s inicial y la cantidad inicial
tasa_inicial = st.number_input("Escribe la tasa de inter茅s nominal inicial (%):")
A = st.number_input("Escribe la cantidad que ahorrar谩s ($):")
T = st.number_input("Escribe cuantos meses quieres ver:")
tasas_variables = []
# Permitir al usuario ingresar tasas variables
for i in range(int(T)):
tasa = st.number_input(f"Tasa de inter茅s nominal para el mes {i+1} (%):", key=f"tasa_{i}")
tasas_variables.append(tasa)
z = np.arange(T)
# Calcular los retornos para tasas variables
r_d = []
r_c = []
for i in range(int(T)):
retorno_discreto = A * (1 + tasas_variables[i]/(12*100))**i
retorno_continuo = A * np.exp(tasas_variables[i]/(12*100) * i)
print(f"Mes {i+1}: retorno_continuo = {retorno_continuo}")
r_d.append(retorno_discreto)
r_c.append(retorno_continuo)
print("Longitud de r_c:", len(r_c))
print("r_d:", r_d)
print("r_c:", r_c)
new_dict = {"Mes": z, "Retorno discreto": r_d, "Retorno continuo": r_c}
df = pd.DataFrame(new_dict)
st.dataframe(df)
st.write(f"En {T} meses tendr谩s $ {r_c[-1]}")
import matplotlib.pyplot as plt
# Crear la figura y los ejes
fig, ax = plt.subplots()
# Trazar la evoluci贸n del crecimiento de la inversi贸n
ax.plot(df["Mes"], df["Retorno discreto"], label="Retorno discreto", marker='o')
ax.plot(df["Mes"], df["Retorno continuo"], label="Retorno continuo", marker='x')
# Agregar etiquetas y leyenda
ax.set_xlabel('Mes')
ax.set_ylabel('Retorno')
ax.set_title('Evoluci贸n del crecimiento de la inversi贸n')
ax.legend()
# Mostrar la gr谩fica
st.pyplot(fig)