Aan de slagGa gratis aan de slag

Periodieke betalingen simuleren (I)

Je hebt nu alle tools die je nodig hebt om de hypotheekbetalingen in de tijd te simuleren.

Elke keer dat je een hypotheektermijn betaalt, zal het deel dat naar rente gaat bij de volgende betaling iets lager zijn. Daardoor gaat er meer van het restant naar het deel van het huis dat je zelf bezit in plaats van naar de bank. Dit is belangrijk om te bepalen hoeveel je overhoudt als je het huis verkoopt voordat je je hypotheek volledig hebt afgelost, of om te bepalen wanneer je hypotheek "onder water" staat. Maar daar komen we later op terug.

Je schrijft nu een eenvoudig programma om voor elke betaling in de tijd het rente- en aflossingsgedeelte te berekenen.

De variabelen mortgage_loan, mortgage_rate_periodic en periodic_mortgage_payment uit de derde oefening zijn beschikbaar.

De variabele principal_remaining is geïnitialiseerd als een array met 0'en met een lengte gelijk aan het aantal betalingsperioden.

Deze oefening maakt deel uit van de cursus

Inleiding tot financiële concepten in Python

Cursus bekijken

Oefeninstructies

  • Stel voor de eerste periode, dus wanneer (i == 0), previous_principal_remaining gelijk aan de hypotheekhoofdsom.
  • Stel voor alle andere perioden previous_principal_remaining gelijk aan de remaining principal uit de vorige periode ([i - 1]).
  • Bereken voor elke periode de rentebetaling (het product van de resterende hoofdsom en het periodieke hypotheekrendement) en de aflossing (het verschil tussen de periodic hypotheekbetaling en de betaalde rente).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren