Моделирование периодических платежей (II)
Вы решили расширить программу из предыдущего упражнения: теперь она будет сохранять выплаты по основному долгу и процентам за каждый период, а также строить график вместо простого вывода результатов.
Код для построения графика уже готов — вам нужно лишь завершить логику внутри цикла for и инициализировать переменные, которые будут обновляться на каждой итерации.
Это упражнение является частью курса
Введение в финансовые концепции на Python
Инструкции к упражнению
- Сохраните значения
interest_paidиprincipal_paidдля каждого периода. - Вычислите
principal_remainingдля каждого периода на основе выплаты по основному долгу и текущего остатка. - Запустите готовый код, чтобы построить график ежемесячных выплат процентов и основного долга.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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 = mortgage_loan
else:
previous_principal_remaining = principal_remaining[i-1]
# Calculate the interest based on the previous principal
interest_payment = round(previous_principal_remaining*mortgage_rate_periodic, 2)
principal_payment = round(periodic_mortgage_payment - interest_payment, 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 historical values
interest_paid[i] = ____
principal_paid[i] = ____
principal_remaining[i] = ____
# Plot the interest vs principal
plt.plot(interest_paid, color="red")
plt.plot(principal_paid, color="blue")
plt.legend(handles=[interest_plot, principal_plot], loc=2)
plt.show()