Periodische Zahlungen simulieren (I)
Du hast jetzt alle Werkzeuge, um die Hypothekenzahlungen über die Zeit zu simulieren.
Bei jeder Hypothekenzahlung sinkt der prozentuale Anteil, der für Zinsen verwendet wird, leicht. Das bedeutet, dass mehr vom Rest in den Anteil des Hauses fließt, der dir gehört, statt zur Bank. Das ist wichtig, um zu bestimmen, wie viel du beim Verkauf des Hauses vor vollständiger Rückzahlung deiner Hypothek erhältst oder wann deine Hypothek „unter Wasser“ ist. Aber dazu später mehr.
Du schreibst nun ein kleines Programm, um die Zins- und Tilgungsanteile jeder Zahlung im Zeitverlauf zu berechnen.
Die Variablen mortgage_loan, mortgage_rate_periodic und periodic_mortgage_payment aus der dritten Übung stehen zur Verfügung.
Die Variable principal_remaining ist als Array aus Nullen initialisiert, dessen Länge der Anzahl der Zahlungsperioden entspricht.
Diese Übung ist Teil des Kurses
Einführung in finanzielle Konzepte mit Python
Anleitung zur Übung
- Setze
previous_principal_remainingfür die erste Periode, d. h. wenn(i == 0), auf den Wert des Hypothekendarlehens. - Setze
previous_principal_remainingfür alle anderen Perioden auf den verbleibenden Kreditbetrag aus der vorherigen Periode ([i - 1]). - Berechne für jede Periode die Zinszahlung (das Produkt aus verbleibendem Kreditbetrag und periodischem Hypothekenzinssatz) und die Tilgungszahlung (die Differenz zwischen periodischer Hypothekenzahlung und den gezahlten Zinsen).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)