Simularea plăților periodice (I)
Acum ai toate instrumentele necesare pentru a simula plățile ipotecare în timp.
De fiecare dată când se efectuează o plată ipotecară, plata următoare va avea un procent ușor mai mic alocat pentru acoperirea dobânzii. Asta înseamnă că o parte tot mai mare din sumă va merge către cota din locuință pe care o deții efectiv, nu către bancă. Acest lucru este important pentru a estima cât ai câștiga dacă ai vinde locuința înainte de achitarea completă a creditului sau pentru a determina când creditul devine „underwater". Dar despre asta vom vorbi mai târziu.
Vei scrie acum un program simplu pentru a calcula componentele de dobândă și de principal ale fiecărei plăți de-a lungul timpului.
Variabilele mortgage_loan, mortgage_rate_periodic și periodic_mortgage_payment din al treilea exercițiu sunt disponibile pentru utilizare.
Variabila principal_remaining este inițializată ca un array de 0-uri cu lungimea egală cu numărul de perioade de plată.
Acest exercițiu face parte din cursul
Introducere în concepte financiare în Python
Instrucțiuni pentru exercițiu
- Setează
previous_principal_remainingpentru prima perioadă, adică atunci când(i == 0), egal cu valoarea creditului ipotecar. - Setează
previous_principal_remainingpentru toate celelalte perioade egal cu principalul rămas din perioada anterioară ([i - 1]). - Calculează plata dobânzii (produsul dintre principalul rămas anterior și rata periodică a dobânzii) și plata principalului (diferența dintre plata ipotecară periodică și dobânda plătită) pentru fiecare perioadă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)