File size: 1,703 Bytes
ba92102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186d638
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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)