ПочатиПочніть безкоштовно

Моделювання періодичних платежів (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)
Редагувати та запускати код