จำลองการชำระเงินรายงวด (I)
ตอนนี้มีเครื่องมือครบแล้วสำหรับการจำลองการชำระเงินจำนองตลอดช่วงเวลา
ทุกครั้งที่มีการชำระเงินจำนอง สัดส่วนที่ใช้ชำระดอกเบี้ยจะลดลงเล็กน้อยในแต่ละงวด ซึ่งหมายความว่าเงินส่วนที่เหลือจะถูกนำไปลดยอดเงินต้นมากขึ้น แทนที่จะจ่ายให้ธนาคาร สิ่งนี้มีความสำคัญในการประเมินว่าจะได้กำไรเท่าไรหากขายบ้านก่อนชำระจำนองหมด หรือเพื่อตรวจสอบว่าเมื่อใดที่มูลค่าจำนองติดลบ แต่จะกล่าวถึงเรื่องนั้นในภายหลัง
ตอนนี้จะเขียนโปรแกรมอย่างง่ายเพื่อคำนวณส่วนดอกเบี้ยและส่วนเงินต้นของการชำระแต่ละงวดตลอดช่วงเวลา
ตัวแปร mortgage_loan, mortgage_rate_periodic และ periodic_mortgage_payment จากแบบฝึกหัดที่สามพร้อมใช้งานแล้ว
ตัวแปร principal_remaining ถูกกำหนดค่าเริ่มต้นเป็นอาร์เรย์ของเลข 0 โดยมีความยาวเท่ากับจำนวนงวดการชำระ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
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)