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
Oefeninstructies
- Stel voor de eerste periode, dus wanneer
(i == 0),previous_principal_remaininggelijk aan de hypotheekhoofdsom. - Stel voor alle andere perioden
previous_principal_remaininggelijk 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)