MulaiMulai sekarang secara gratis

Mensimulasikan pembayaran berkala (I)

Anda telah memiliki semua alat yang diperlukan untuk mensimulasikan pembayaran hipotek dari waktu ke waktu.

Setiap kali pembayaran hipotek dilakukan, pembayaran berikutnya akan memiliki porsi bunga yang sedikit lebih rendah. Artinya, lebih banyak sisanya akan digunakan untuk menambah porsi kepemilikan rumah Anda alih-alih ke bank. Hal ini penting untuk menentukan berapa banyak yang akan Anda peroleh jika menjual rumah sebelum melunasi hipotek, atau untuk menentukan kapan hipotek Anda berada dalam kondisi underwater. Namun hal itu akan dibahas nanti.

Sekarang Anda akan menulis program sederhana untuk menghitung komponen bunga dan pokok dari setiap pembayaran seiring waktu.

Variabel mortgage_loan, mortgage_rate_periodic, dan periodic_mortgage_payment dari latihan ketiga tersedia untuk digunakan.

Variabel principal_remaining diinisialisasi sebagai array berisi 0 dengan panjang sama dengan jumlah periode pembayaran.

Latihan ini adalah bagian dari kursus

Pengantar Konsep Keuangan dengan Python

Lihat Kursus

Petunjuk latihan

  • Atur previous_principal_remaining untuk periode pertama, yaitu ketika (i == 0), sama dengan nilai pinjaman hipotek.
  • Atur previous_principal_remaining untuk semua periode lainnya sama dengan sisa pokok dari periode sebelumnya ([i - 1]).
  • Hitung pembayaran bunga (hasil kali sisa pokok sebelumnya dan suku bunga hipotek berkala) dan pembayaran pokok (selisih antara pembayaran hipotek berkala dan bunga yang dibayar) untuk setiap periode.

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 = ____
    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)
Edit dan Jalankan Kode