Skip to main content

CalculateGIC interets and payout with comparison and plots.

Project description

gic_calculator

ci-cd Python 3.9.0 Documentation Status License: MIT version release

Summary

Project Summary

This project involves developing a Python package designed to assist users in understanding and analyzing the financial returns from Guaranteed Investment Certificates (GICs). This link explains what a GIC is in more detail. The package focuses on calculating the interest returns over different investment periods, comparing these returns, and providing a visual representation of the differences. This utility will be particularly useful for investors and financial advisors who need to make informed decisions regarding GIC investments.

Website: https://gic-calculator.readthedocs.io/en/latest/

Functions Included in the Package

interest_calc(principal, term_length, gic_rate=None): Calculates the interest earned on a GIC after a specified number of years.

calculate_gic_difference(term_length_n1, term_length_n2, principal, interest_rate1=None, interest_rate2=None): Calculates the difference in total returns (interest + principal) of a GIC between two different investment periods.

gic_plotting(principal, term_lengths, gic_rates=None): Generates a bar plot to visually represent the difference in returns as calculated by interest_calc.

Fit into the Python Ecosystem

There are several Python packages focused on financial calculations and investment analysis, such as numpy-financial or pandas, which are used for a wide range of financial computations and data analysis. However, a specialized package focusing exclusively on GIC investment analysis, particularly one that compares returns over different investment periods and visualizes these comparisons appears to be unique. This package would thus fill a niche for those specifically interested in GIC investments.

By providing targeted functionality, the proposed package offers a more user-friendly and focused approach for individuals specifically dealing with GIC investments, setting it apart from more general financial analysis tools.

Contributors

gic_calculator was created by Tony Shum(@tonyshumlh), Ruocong Sun (@sungg888), Alysen Townsley (@AlysenTownsley).

Installation

  1. Clone this GitHub repository down to your local computer.

  2. Create and activate a virtual environment using conda

$ conda create --name <your-env-name> python=3.9 poetry -y
$ conda activate <your-env-name>
  1. Navigate to the root directory of the package and install the package
$ poetry install

Usage

gic_calculator can be used to calculate interest accrual on a GIC of varying term lengths or GIC rates, as follows:

from gic_calculator.interest_calculator import interest_calc
interest_calc(5000, 1)
interest_calc(5000, 1, 5.5)

gic_calculator can be used to calculate the difference in total return (interest + principal) of a GIC between two different investment periods, as follows:

from gic_calculator.gic_difference import calculate_gic_difference
calculate_gic_difference(1, 3, 5000)
calculate_gic_difference(1, 3, 5000, 5.5, 3.5)

gic_calculator can be used to create a bar plot to visually represent the difference in returns as calculated by interest_calc, as follows:

from gic_calculator.gic_plotting import gic_plotting
gic_plotting(5000, [1, 3])

Developer notes

Tests

We have included tests and test data for functions used in our analysis in the tests folder. The test suite can be run at the root directory of the project using the pytest command below:

pytest tests/*

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

gic_calculator is licensed under the terms of the MIT license.

Credits

gic_calculator was created with cookiecutter and the py-pkgs-cookiecutter template.

References

  1. Jacob VanderPlas, Brian Granger, Jeffrey Heer, Dominik Moritz, Kanit Wongsuphasawat, Arvind Satyanarayan, Eitan Lees, Ilia Timofeev, Ben Welsh, and Scott Sievert. Altair: interactive statistical visualizations for python. Journal of open source software, 3(32):1057, 2018.
  2. Guido Van Rossum and Fred L. Drake. Python 3 Reference Manual. CreateSpace, Scotts Valley, CA, 2009. ISBN 1441412697.
  3. Krekel et al., pytest 7.4, 2004. https://github.com/pytest-dev/pytest
  4. TD Canada Trust. (n.d.). What is a GIC? Retrieved January 30, 2024, from https://www.td.com/ca/en/personal-banking/personal-investing/products/gic/what-is-a-gic
  5. UBC MDS. (n.d.). Collaborative Software Development Course Notes Retrieved from https://pages.github.ubc.ca/MDS-2023-24/DSCI_524_collab-sw-dev_book/materials/lectures/

Project details


Download files

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

Source Distribution

gic_calculator-2.0.3.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gic_calculator-2.0.3-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file gic_calculator-2.0.3.tar.gz.

File metadata

  • Download URL: gic_calculator-2.0.3.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for gic_calculator-2.0.3.tar.gz
Algorithm Hash digest
SHA256 88893b8ed4ab5d34dced33a194d3d5fa354ed6c00b1097d4e09a70a54b7b7ec1
MD5 141088e0daf3cac268b47ca4c243ce84
BLAKE2b-256 040006023168ab907567f6a65d0b4caea856d87f906b64702daf0d60036da7aa

See more details on using hashes here.

File details

Details for the file gic_calculator-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: gic_calculator-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for gic_calculator-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e7cabbdc32ee57d503ccd7d719c3618f92e40941399e1a01fa5fbf5547f7a5f8
MD5 e90d3d1d67be4aa713ecba9b0c6f5ad5
BLAKE2b-256 829550b86afda4496bc204d4db413f3eb94b3ef8d3d65238478df6cbd2b162d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page