1---
2app_version: 0.1.0
3precision: 2
4form_title: Mortgage Calculator
5form_description: Calculate your monthly mortgage payment. Enter loan amount, interest rate and term to see payment, total interest and amortization schedule.
6form_inputs: Loan amount|loan{€}, Interest rate|rate{%}, Term (years)|term
7form_outputs: Monthly payment|monthly, Total repayment|total, Total interest|interest, First year interest|interest_year1
8---
9# Mortgage Calculator
10// How much will your mortgage cost per month?
11
12# Loan parameters
13loan = 300000 € // loan amount
14rate = 3.5 % // annual interest rate
15term = 25 // loan term (years)
16
17# Calculations
18months = term * 12
19monthly_rate = rate / 12
20
21// Monthly payment (annuity formula)
22monthly = loan * monthly_rate * (1 + monthly_rate)^months / ((1 + monthly_rate)^months - 1)
23
24// Total repayment
25total = monthly * months
26
27// Total interest paid
28interest = total - loan
29
30// Amortization: remaining principal after each year
31remaining_after_year(n) = loan * (1 + monthly_rate)^(n * 12) - monthly * ((1 + monthly_rate)^(n * 12) - 1) / monthly_rate
32
33// Principal in first year (what the remaining principal dropped by)
34principal_year1 = loan - remaining_after_year(1)
35
36// Interest in first year: payments minus principal repaid
37interest_year1 = monthly * 12 - principal_year1
38
39# Results
40"Loan amount": loan
41"Interest rate (%)": rate * 100
42"Term": term
43
44"Monthly payment": monthly
45"Total repayment": total
46"Total interest paid": interest
47
48"Interest in year 1": interest_year1
49"Principal paid in year 1": principal_year1
50
51"Remaining after 5 years": remaining_after_year(5)
52"Remaining after 10 years": remaining_after_year(10)
53"Remaining after 15 years": remaining_after_year(15)
54