Simulace pravidelných splátek (I)
Máš k dispozici vše, co potřebuješ k simulaci hypotečních splátek v čase.
Každá splátka hypotéky mírně snižuje podíl, který jde na úhradu úroků. To znamená, že stále větší část splátky směřuje do tvého vlastního podílu na nemovitosti – nikoli do kapsy banky. Tato informace je důležitá například pro výpočet zisku při prodeji nemovitosti před splacením hypotéky nebo pro zjištění, kdy se hypotéka dostane „pod vodu". Ale o tom více později.
Nyní napíšeš jednoduchý program, který pro každou splátku v čase vypočítá její úrokovou a jistinovou část.
Proměnné mortgage_loan, mortgage_rate_periodic a periodic_mortgage_payment ze třetího cvičení jsou k dispozici.
Proměnná principal_remaining je inicializována jako pole nul o délce rovné počtu platebních období.
Toto cvičení je součástí kurzu
Introduction to Financial Concepts in Python
Pokyny k cvičení
- Nastav
previous_principal_remainingpro první období, tj. když(i == 0), na hodnotu hypotečního úvěru. - Pro všechna ostatní období nastav
previous_principal_remainingna zbývající jistinu z předchozího období ([i - 1]). - Pro každé období vypočítej platbu úroků (součin zbývající jistiny a periodické úrokové sazby) a platbu jistiny (rozdíl mezi periodickou splátkou hypotéky a zaplacenými úroky).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)