Spaces:
Sleeping
Sleeping
import streamlit as st | |
import numpy as np | |
import matplotlib.pyplot as plt | |
# Función para calcular el VPN | |
def calcular_vpn(costos, tasa_descuento): | |
vpn = 0 | |
for t, flujo in enumerate(costos): | |
vpn += flujo / ((1 + tasa_descuento) ** (t + 1)) | |
return vpn | |
# Calcular el VPN para cada proyecto | |
vpns = {proyecto: calcular_vpn(flujos, tasa_descuento) for proyecto, flujos in costos.items()} | |
# Imprimir los resultados | |
for proyecto, vpn in vpns.items(): | |
print(f"VPN del Proyecto {proyecto}: {vpn:.2f}") | |
# Calcular el promedio de los VPN | |
promedio_vpn = sum(vpns.values()) / len(vpns) | |
# Imprimir el promedio | |
print(f"Promedio de los VPN: {promedio_vpn:.2f}") | |
# Button to calculate PV | |
if st.button('Calculate Present Value'): | |
if len(cashflows) != num_years: | |
st.warning(f"Please enter {num_years} cashflows.") | |
else: | |
present_value = calculate_present_value(cashflows, discount_rate) | |
st.success(f'The Present Value is: ${present_value:,.2f}') | |
# Plot cashflow diagram | |
plt.figure(figsize=(10, 6)) | |
colors = ['green' if cf > 0 else 'red' for cf in cashflows] | |
plt.bar(range(1, num_years + 1), cashflows, color=colors) | |
plt.title('Cashflow Diagram') | |
plt.xlabel('Year') | |
plt.ylabel('Cashflow') | |
plt.grid(True) | |
st.pyplot(plt) | |