/mortgauge

forecast mortgage payments

Primary LanguagePython

mortgauge

forecast mortgage payments

Usage

  • pip install pandas tabulate decimal moneyed
  • python3 mortgauge.py

Description

  • As input takes parameters which describe a mortgage
    • Loan Amount
    • Interest Rate
    • Product Fee
    • Fallback rate
    • Fixed term period (set to zero for variable rate)
    • Term
  • Iterates through the mortgage payment by payment, breaking the monthly payment down into components, and showing useful statistics. Components include:
    • principal payment
    • interest payment
    • overpayment
  • Features include:
    • Interest rate forecast. Set predicted fixed rate values throughout the payment schedule and mortgauge will interpolate
    • Overpayment schedule. Set predicted overpayment values and mortgauge will similarly interpolate.

Sample output

+-----------+-------------+--------+-----------+------------+-------------+---------------+----------------+-----------------+-------------------+
|   payment | balance     |   rate | monthly   | interest   | principal   | overpayment   | cum_interest   | cum_principal   | cum_overpayment   |
|-----------+-------------+--------+-----------+------------+-------------+---------------+----------------+-----------------+-------------------+
|         1 | £ 498660.38 |   0.05 | £ 3422.95 | £ 2083.33  | £ 839.62    | £ 500.00      | £ 2083.33      | £ 839.62        | £ 500.00          |
|         2 | £ 497315.18 |   0.05 | £ 3422.95 | £ 2077.75  | £ 845.20    | £ 500.00      | £ 4161.08      | £ 1684.82       | £ 1000.00         |
|         3 | £ 495964.38 |   0.05 | £ 3422.95 | £ 2072.15  | £ 850.80    | £ 500.00      | £ 6233.23      | £ 2535.62       | £ 1500.00         |
|         4 | £ 494607.95 |   0.05 | £ 3422.95 | £ 2066.52  | £ 856.43    | £ 500.00      | £ 8299.75      | £ 3392.05       | £ 2000.00         |
|         5 | £ 493245.87 |   0.05 | £ 3422.95 | £ 2060.87  | £ 862.08    | £ 500.00      | £ 10360.62     | £ 4254.13       | £ 2500.00         |
|         6 | £ 491878.11 |   0.05 | £ 3422.95 | £ 2055.19  | £ 867.76    | £ 500.00      | £ 12415.81     | £ 5121.89       | £ 3000.00         |
|         7 | £ 490504.65 |   0.05 | £ 3422.95 | £ 2049.49  | £ 873.46    | £ 500.00      | £ 14465.30     | £ 5995.35       | £ 3500.00         |
|         8 | £ 489125.47 |   0.05 | £ 3422.95 | £ 2043.77  | £ 879.18    | £ 500.00      | £ 16509.07     | £ 6874.53       | £ 4000.00         |
|         9 | £ 487740.54 |   0.05 | £ 3422.95 | £ 2038.02  | £ 884.93    | £ 500.00      | £ 18547.09     | £ 7759.46       | £ 4500.00         |
|        10 | £ 486349.84 |   0.05 | £ 3422.95 | £ 2032.25  | £ 890.70    | £ 500.00      | £ 20579.34     | £ 8650.16       | £ 5000.00         |
|        11 | £ 484953.35 |   0.05 | £ 3422.95 | £ 2026.46  | £ 896.49    | £ 500.00      | £ 22605.80     | £ 9546.65       | £ 5500.00         |
|        12 | £ 483551.04 |   0.05 | £ 3422.95 | £ 2020.64  | £ 902.31    | £ 500.00      | £ 24626.44     | £ 10448.96      | £ 6000.00         |
|        13 | £ 482401.02 |   0.07 | £ 3970.73 | £ 2820.71  | £ 650.02    | £ 500.00      | £ 27447.15     | £ 11098.98      | £ 6500.00         |
|       294 | £ 5991.49   |   0.07 | £ 1604.11 | £ 44.05    | £ 1060.06   | £ 500.00      | £ 468965.72    | £ 347008.51     | £ 147000.00       |
|       295 | £ 4507.37   |   0.07 | £ 1519.07 | £ 34.95    | £ 984.12    | £ 500.00      | £ 469000.67    | £ 347992.63     | £ 147500.00       |
|       296 | £ 3116.35   |   0.07 | £ 1417.31 | £ 26.29    | £ 891.02    | £ 500.00      | £ 469026.96    | £ 348883.65     | £ 148000.00       |
|       297 | £ 1844.05   |   0.07 | £ 1290.48 | £ 18.18    | £ 772.30    | £ 500.00      | £ 469045.14    | £ 349655.95     | £ 148500.00       |
|       298 | £ 732.94    |   0.07 | £ 1121.87 | £ 10.76    | £ 611.11    | £ 500.00      | £ 469055.90    | £ 350267.06     | £ 149000.00       |
|       299 | £ 0.00      |   0.07 | £ 737.21  | £ 4.28     | £ 365.40    | £ 367.53      | £ 469060.17    | £ 350632.47     | £ 149367.53       |
+-----------+-------------+--------+-----------+------------+-------------+---------------+----------------+-----------------+-------------------+