ComenzarEmpieza gratis

Simular pagos periódicos (II)

Has decidido ampliar tu programa del ejercicio anterior para almacenar los pagos al principal y los intereses abonados en cada período, y para representarlos en un gráfico en lugar de simplemente imprimirlos.

En este ejemplo, el código de visualización ya está hecho, así que solo tienes que completar la lógica dentro del bucle for y la inicialización de las variables que se actualizarán en cada iteración.

Este ejercicio forma parte del curso

Introducción a los conceptos financieros en Python

Ver curso

Instrucciones del ejercicio

  • Simplemente guarda interest_paid y principal_paid para cada período.
  • Calcula el principal_remaining de cada período en función del pago al principal y el principal restante.
  • Ejecuta el código proporcionado para representar el pago mensual de intereses frente al de principal.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Loop through each mortgage payment period
for i in range(0, mortgage_payment_periods):
    
    # Handle the case for the first iteration
    if i == 0:
        previous_principal_remaining = mortgage_loan
    else:
        previous_principal_remaining = principal_remaining[i-1]
        
    # Calculate the interest based on the previous principal
    interest_payment = round(previous_principal_remaining*mortgage_rate_periodic, 2)
    principal_payment = round(periodic_mortgage_payment - interest_payment, 2)
    
    # Catch the case where all principal is paid off in the final period
    if previous_principal_remaining - principal_payment < 0:
        principal_payment = previous_principal_remaining
        
    # Collect the historical values
    interest_paid[i] = ____
    principal_paid[i] = ____
    principal_remaining[i] = ____
    
# Plot the interest vs principal
plt.plot(interest_paid, color="red")
plt.plot(principal_paid, color="blue")
plt.legend(handles=[interest_plot, principal_plot], loc=2)
plt.show()
Editar y ejecutar código