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)