Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/croketillo/compoundercalc

Compound interest calculator python module
https://github.com/croketillo/compoundercalc

compound compound-interest compound-interest-calculator

Last synced: about 1 month ago
JSON representation

Compound interest calculator python module

Awesome Lists containing this project

README

        

# Compound Interest Calculator
![PyPI - Downloads](https://img.shields.io/pypi/dm/compoundercalc?color=%2360EE59) ![Pepy Total Downlods](https://img.shields.io/pepy/dt/compoundercalc)

This package provides a `CompoundInterestCalculator` class for calculating compound interest for various financial scenarios.

## Features

- Calculate the total amount with compound interest over a period of time.
- Determine the time needed to reach a target amount with compound interest.
- Calculate the required recurring deposit to reach a target amount.
- Calculate the required interest rate to reach a target amount.

## Installation

You can install the package using pip:

```bash
pip install compoundercalc
```

## Usage

### Importing the Calculator

```python
from compoundercalc.compounder import CompoundInterestCalculator
```

### Creating an Instance

```python
calc = CompoundInterestCalculator(initial_deposit=1000, recurring_deposit=150, num_recurring_per_year=12, interest_rate=0.08)
```

### Calculating the Final Amount

```python
result = calc.final_amount(time_years=10)
print(f"The final amount is: {result:.2f}")
```

### Determining the Time to Reach a Target Amount

```python
years, months, days = calc.time_goal(target_amount=100000)
print(f"Time needed to reach the goal: {years} years, {months} months, and {days} days")
```

### Calculating the Required Recurring Deposit

```python
required_deposit = calc.calc_recurring_deposit(target_amount=100000, total_years=10)
print(f"The required recurring deposit is: {required_deposit:.2f}")
```

### Calculating the Required Interest Rate

```python
try:
required_rate = calc.calc_interest_rate(target_amount=100000, total_years=10)
print(f"The required annual interest rate is: {required_rate:.4f}")
except ValueError as e:
print(e)
```

## Running Tests

To run the tests, use the following command:

```bash
python -m unittest discover -s test
```

## License

This project is licensed under GNU License. See the [LICENSE](LICENSE) file for details.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.