CommencerCommencer gratuitement

Simuler les paiements périodiques (I)

Vous disposez de tous les éléments nécessaires pour simuler les paiements hypothécaires dans le temps.

À chaque paiement, la part consacrée aux intérêts diminue légèrement. Autrement dit, une plus grande partie du versement sert à rembourser le capital, donc à augmenter la part du logement dont vous êtes propriétaire plutôt que ce qui revient à la banque. C’est essentiel pour estimer ce que vous gagnerez en vendant le bien avant la fin du prêt, ou pour savoir quand votre prêt est « sous l’eau ». Nous y reviendrons plus tard.

Vous allez maintenant écrire un petit programme pour calculer, au fil du temps, les parts d’intérêts et de capital de chaque paiement.

Les variables mortgage_loan, mortgage_rate_periodic et periodic_mortgage_payment de l’exercice 3 sont disponibles.

La variable principal_remaining est initialisée comme un tableau de zéros dont la longueur est égale au nombre de périodes de paiement.

Cet exercice fait partie du cours

Introduction aux concepts financiers en Python

Afficher le cours

Instructions

  • Pour la première période, c’est-à-dire lorsque (i == 0), affectez à previous_principal_remaining la valeur du prêt hypothécaire.
  • Pour toutes les autres périodes, affectez à previous_principal_remaining le capital restant dû de la période précédente ([i - 1]).
  • Calculez, pour chaque période, le paiement d’intérêts (le produit du capital restant dû précédent et du taux hypothécaire périodique) et le remboursement du capital (la différence entre le paiement hypothécaire périodique et les intérêts payés).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
Modifier et exécuter le code