25.5 C
London
Thursday, June 19, 2025
HomePythonDescriptive Statistics in PythonHow to Calculate Compound Interest in Python (3 Examples)

How to Calculate Compound Interest in Python (3 Examples)

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

We can use the following compound interest formula to find the ending value of some investment after a certain amount of time:

A = P(1 + r/n)nt

where:

  • A: Final Amount
  • P: Initial Principal
  • r: Annual Interest Rate
  • n: Number of compounding periods per year
  • t: Number of years

We can use the following formula to calculate the ending value of some investment in Python:

P*(pow((1+r/n), n*t))

And we can use the following function to display the ending value of some investment at the end of each period:

def each_year(P, r, n, t):

    for period in range(t):
        amount = P*(pow((1+r/n), n*(period+1)))
        print('Period:', period+1, amount)

    return amount

The following examples show how to use these formulas in Python to calculate the ending value of investments in different scenarios.

Example 1: Compound Interest Formula with Annual Compounding

Suppose we invest $5,000 into an investment that compounds at 6% annually.

The following code shows how to calculate the ending value of this investment after 10 years:

#define principal, interest rate, compounding periods per year, and total years
P = 5000
r = .06
n = 1
t = 10

#calculate final amount
P*(pow((1+r/n), n*t))

8954.238482714272

This investment will be worth $8,954.24 after 10 years.

We can use the function we defined earlier to display the ending investment after each year during the 10-year period:

#display ending investment after each year during 10-year period
each_year(P, r, n, t)

Period: 1 5300.0
Period: 2 5618.000000000001
Period: 3 5955.08
Period: 4 6312.384800000002
Period: 5 6691.127888000002
Period: 6 7092.595561280002
Period: 7 7518.151294956803
Period: 8 7969.240372654212
Period: 9 8447.394795013464
Period: 10 8954.238482714272

This tells us:

  • The ending value after year 1 was $5,300.
  • The ending value after year 2 was $5,618.
  • The ending value after year 3 was $5,955.08.

And so on.

Example 2: Compound Interest Formula with Monthly Compounding

Suppose we invest $1,000 into an investment that compounds at 6% annually and is compounded on a monthly basis (12 times per year).

The following code shows how to calculate the ending value of this investment after 5 years:

#define principal, interest rate, compounding periods per year, and total years
P = 1000
r = .06
n = 12
t = 5

#calculate final amount
P*(pow((1+r/n), n*t))

1348.8501525493075

This investment will be worth $1,348.85 after 5 years.

Example 3: Compound Interest Formula with Daily Compounding

Suppose we invest $5,000 into an investment that compounds at 8% annually and is compounded on a daily basis (365 times per year).

The following code shows how to calculate the ending value of this investment after 15 years:

#define principal, interest rate, compounding periods per year, and total years
P = 5000
r = .08
n = 365
t = 15

#calculate final amount
P*(pow((1+r/n), n*t))

16598.40198554521

This investment will be worth $16,598.40 after 15 years.

Additional Resources

The following tutorials explain how to perform other common tasks in Python:

How to Calculate Z-Scores in Python
How to Calculate Correlation in Python
How to Calculate a Trimmed Mean in Python

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories