Skip to main content

Python library for calculating amortizations and generating amortization schedules

Project description

License License Version Version
Github Actions Github Actions Coverage CodeCov
Supported versions Python Versions Wheel Wheel
Status Status Downloads Downloads

amortization

Python library for calculating amortizations and generating amortization schedules

Installation

pip install amortization

Usage

Python

Amortization Amount

from amortization.amount import calculate_amortization_amount

amount = calculate_amortization_amount(150000, 0.1, 36)

Amortization Period

from amortization.period import calculate_amortization_period

period = calculate_amortization_period(150000, 0.1, 4840.08)

Amortization Schedule

from amortization.schedule import amortization_schedule

for number, amount, interest, principal, balance in amortization_schedule(150000, 0.1, 36):
    print(number, amount, interest, principal, balance)

Amortization Schedule (using tabulate)

from amortization.schedule import amortization_schedule
from tabulate import tabulate

table = (x for x in amortization_schedule(150000, 0.1, 36))
print(
    tabulate(
        table,
        headers=["Number", "Amount", "Interest", "Principal", "Balance"],
        floatfmt=",.2f",
        numalign="right"
    )
)

Command line

amortize -h
usage: amortize [-h] -P PRINCIPAL -r INTEREST_RATE [-s] (-n PERIOD | -a AMOUNT)

Python library for calculating amortizations and generating amortization schedules

options:
  -h, --help            show this help message and exit
  -s, --schedule        Generate amortization schedule
  -n PERIOD, --period PERIOD
                        Total number of periods
  -a AMOUNT, --amount AMOUNT
                        Amortization amount per period

required arguments:
  -P PRINCIPAL, --principal PRINCIPAL
                        Principal amount
  -r INTEREST_RATE, --interest-rate INTEREST_RATE
                        Interest rate per period
amortize -P 150000 -n 36 -r 0.1         # period
amortize -P 150000 -n 36 -r 0.1 -s      # schedule
amortize -P 150000 -a 4840.08 -r 0.1    # amount
% amortize -P 150000 -n 36 -r 0.1 -s           
Number        Amount    Interest    Principal     Balance
--------  ----------  ----------  -----------  ----------
1           4,840.08    1,250.00     3,590.08  146,409.92
2           4,840.08    1,220.08     3,620.00  142,789.92
3           4,840.08    1,189.92     3,650.16  139,139.76
4           4,840.08    1,159.50     3,680.58  135,459.18
5           4,840.08    1,128.83     3,711.25  131,747.93
6           4,840.08    1,097.90     3,742.18  128,005.75
7           4,840.08    1,066.71     3,773.37  124,232.38
8           4,840.08    1,035.27     3,804.81  120,427.57
9           4,840.08    1,003.56     3,836.52  116,591.05
10          4,840.08      971.59     3,868.49  112,722.56
11          4,840.08      939.35     3,900.73  108,821.83
12          4,840.08      906.85     3,933.23  104,888.60
13          4,840.08      874.07     3,966.01  100,922.59
14          4,840.08      841.02     3,999.06   96,923.53
15          4,840.08      807.70     4,032.38   92,891.15
16          4,840.08      774.09     4,065.99   88,825.16
17          4,840.08      740.21     4,099.87   84,725.29
18          4,840.08      706.04     4,134.04   80,591.25
19          4,840.08      671.59     4,168.49   76,422.76
20          4,840.08      636.86     4,203.22   72,219.54
21          4,840.08      601.83     4,238.25   67,981.29
22          4,840.08      566.51     4,273.57   63,707.72
23          4,840.08      530.90     4,309.18   59,398.54
24          4,840.08      494.99     4,345.09   55,053.45
25          4,840.08      458.78     4,381.30   50,672.15
26          4,840.08      422.27     4,417.81   46,254.34
27          4,840.08      385.45     4,454.63   41,799.71
28          4,840.08      348.33     4,491.75   37,307.96
29          4,840.08      310.90     4,529.18   32,778.78
30          4,840.08      273.16     4,566.92   28,211.86
31          4,840.08      235.10     4,604.98   23,606.88
32          4,840.08      196.72     4,643.36   18,963.52
33          4,840.08      158.03     4,682.05   14,281.47
34          4,840.08      119.01     4,721.07    9,560.40
35          4,840.08       79.67     4,760.41    4,799.99
36          4,839.99       40.00     4,799.99        0.00
Totals    174,242.79   24,242.79   150,000.00

Dependencies

tabulate

Author

Ronie Martinez

References

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amortization-2.2.1.tar.gz (6.7 kB view hashes)

Uploaded source

Built Distribution

amortization-2.2.1-py3-none-any.whl (6.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page