Comece agoraComece grátis

Simulating periodic payments (I)

Você já tem todas as ferramentas de que precisa para simular os pagamentos da hipoteca ao longo do tempo.

Sempre que um pagamento da hipoteca é feito, o pagamento seguinte terá uma parcela ligeiramente menor destinada aos juros. Isso significa que mais do valor restante vai para a parte do imóvel que você possui, em vez do banco. Isso é importante para saber quanto você ganharia ao vender o imóvel antes de quitar a hipoteca, ou para identificar quando a sua hipoteca está underwater. Mas falaremos mais sobre isso depois.

Agora você vai escrever um programa simples para calcular, ao longo do tempo, as parcelas de juros e de principal em cada pagamento.

As variáveis mortgage_loan, mortgage_rate_periodic e periodic_mortgage_payment do terceiro exercício estão disponíveis para uso.

A variável principal_remaining é inicializada como um array de zeros, com comprimento igual ao número de períodos de pagamento.

Este exercicio faz parte do curso

Introdução a Conceitos Financeiros em Python

Ver curso

Instruções do exercicio

  • Defina previous_principal_remaining para o primeiro período, ou seja, quando (i == 0), igual ao valor do empréstimo hipotecário.
  • Defina previous_principal_remaining para todos os outros períodos igual ao principal remanescente do período anterior ([i - 1]).
  • Calcule o pagamento de juros (o produto do principal remanescente anterior pelo juro periódico da hipoteca) e o pagamento de principal (a diferença entre o pagamento hipotecário periódico e os juros pagos) para cada período.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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 = ____
    else:
        previous_principal_remaining = ____
        
    # Calculate the interest and principal payments
    interest_payment = round(____*____, 2)
    principal_payment = round(____-____, 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 principal remaining values in an array
    principal_remaining[i] = previous_principal_remaining - principal_payment
    
    # Print the payments for the first few periods
    print_payments(i, interest_payment, principal_payment, principal_remaining)
Editar e Executar Código