Моделювання періодичних платежів (I)
У вас уже є всі інструменти, щоб змоделювати іпотечні виплати в часі.
Щоразу, коли ви сплачуєте іпотеку, у наступному платежі частка, яка йде на відсотки, трохи зменшується. Це означає, що більша частина решти суми піде на погашення вартості житла, яка належить вам, а не банку. Це важливо, щоб визначити, скільки ви отримаєте від продажу житла до повного погашення іпотеки, або щоб зрозуміти, коли ваша іпотека «під водою». Про це згодом.
Тепер ви напишете просту програму, яка обчислює відсоткову та основну частини кожного платежу в часі.
Змінні mortgage_loan, mortgage_rate_periodic і periodic_mortgage_payment з третьої вправи доступні для використання.
Змінна principal_remaining ініціалізована як масив з нулів довжиною, що дорівнює кількості платіжних періодів.
Ця вправа є частиною курсу
Вступ до фінансових концепцій у Python
Інструкції до вправи
- Встановіть
previous_principal_remainingдля першого періоду, тобто коли(i == 0), рівним значенню іпотечного кредиту. - Для всіх інших періодів встановіть
previous_principal_remainingрівним залишку основного боргу з попереднього періоду ([i - 1]). - Для кожного періоду обчисліть платіж за відсотками (добуток попереднього залишку основної суми та періодичної іпотечної ставки) і платіж за основною сумою (різниця між періодичним іпотечним платежем та сплаченими відсотками).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)