File size: 1,027 Bytes
d83fd7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import matplotlib.pyplot as plt
def calcular_valor_presente(flujos_de_efectivo, tasa_de_descuento):
    valor_presente = sum([flujo / (1 + tasa_de_descuento) ** n for n, flujo in enumerate(flujos_de_efectivo, start=1)])
    return valor_presente

def main():
    st.title("Calculadora de Valor Presente")
    
    flujos_de_efectivo = []
    for i in range(10):
        flujo = st.number_input(f"Ingrese el flujo de efectivo {i+1}:", value=0.0)
        flujos_de_efectivo.append(flujo)
    
    tasa_de_descuento = st.number_input("Ingrese la tasa de descuento (en decimal):", value=0.1)
    
    valor_presente = calcular_valor_presente(flujos_de_efectivo, tasa_de_descuento)
    
    st.write(f"El valor presente es: {valor_presente}")
    
    # Graficar flujos de efectivo
    plt.plot(range(1, 11), flujos_de_efectivo, marker='o', linestyle='-')
    plt.xlabel('Periodo')
    plt.ylabel('Flujo de Efectivo')
    plt.title('Flujos de Efectivo')
    st.pyplot()

if __name__ == "__main__":
    main()