Mensimulasikan pembayaran berkala (II)
Anda memutuskan untuk mengembangkan program dari latihan sebelumnya untuk menyimpan pembayaran pokok dan bunga yang dilakukan pada setiap periode, serta memvisualisasikan hasilnya alih-alih hanya mencetaknya.
Untuk contoh ini, kode plotting sudah tersedia, sehingga Anda hanya perlu menyelesaikan logika di dalam for loop dan inisialisasi variabel yang akan diperbarui pada setiap iterasi.
Latihan ini adalah bagian dari kursus
Pengantar Konsep Keuangan dengan Python
Petunjuk latihan
- Simpan saja
interest_paiddanprincipal_paiduntuk setiap periode. - Hitung
principal_remaininguntuk setiap periode berdasarkan pembayaran pokok dan pokok yang tersisa. - Jalankan kode yang disediakan untuk membuat plot pembayaran bunga vs pokok bulanan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()