Dönemsel ödemeleri simüle etme (I)
Zaman içinde ipotek ödemelerini simüle etmek için ihtiyaç duyduğun tüm araçlara sahipsin.
Her ipotek ödemesi yapıldığında, bir sonraki ödemede faize giden yüzde biraz daha düşük olur. Bu da, kalan tutarın daha büyük bir kısmının bankaya değil, evin sana ait olan bölümüne gitmesi demektir. Bu, ipoteğini tamamen kapatmadan önce evi satarak ne kadar kazanacağını ya da ipoteğinin su altında kalıp kalmadığını belirlemek için önemlidir. Ama buna birazdan döneceğiz.
Şimdi, zaman içinde her ödemenin faiz ve ipotek (anapara) parçalarını hesaplayan basit bir program yazacaksın.
Üçüncü egzersizden gelen mortgage_loan, mortgage_rate_periodic ve periodic_mortgage_payment değişkenleri kullanımına hazır.
principal_remaining değişkeni, ödeme dönemi sayısına eşit uzunlukta, 0'lardan oluşan bir dizi olarak başlatılmıştır.
Bu egzersiz, kursun bir parçasıdır
Python ile Finansal Kavramlara Giriş
Egzersiz talimatları
- İlk dönem için, yani
(i == 0)olduğunda,previous_principal_remainingdeğerini ipotek kredi tutarına eşitle. - Diğer tüm dönemler için,
previous_principal_remainingdeğerini bir önceki dönemin kalan anaparasına ([i - 1]) eşitle. - Her dönem için faiz ödemesini (önceki kalan anapara ile dönemsel ipotek faiz oranının çarpımı) ve anapara ödemesini (dönemsel ipotek ödemesi ile ödenen faiz arasındaki fark) hesapla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)