Socket
Book a DemoInstallSign in
Socket

finance_math

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

finance_math

1.0.6
bundlerRubygems
Version published
Maintainers
1
Created
Source

Gem Version Code Climate

What is FinanceMath?

FinanceMath is a Ruby library for mapping Loan based Exel functions. It deals with problem of calculating the PMT and APR functions. It implements advanced usage, taking into account bank fees, fee for for each payment and currency protection (if currency other than $ USD). Highly precise with high speed of execution.

Installation

FinanceMath is available as a gem, to install it just install the gem:

gem install finance_math

If you're using Bundler, add the gem to Gemfile.

gem 'finance_math'

Run bundle install.

Running tests

bundle exec rspec spec/

Basic Usage

Create an instance, and pass parameters for nominal annual rate, duration (in months), and amount of loan. Defaults are structure_fee = 5, currency protection = 3, so please update if you need other values.


FinanceMath::Loan.new(nominal_rate: 10.5, duration: 12, amount: 15000)

Advanced Usage

Create an instance, and pass parameters for nominal annual rate, duration (in months), and amount of loan, and additional values such as bank fee, currency protection, and fee for each monthly payment.

Defaults are structure_fee = 5, currency protection = 3, so please update if you need other values.


FinanceMath::Loan.new(nominal_rate: 10.5, duration: 12, amount: 15000, structure_fee: 5.1, currency_protection: 2.75, fee: 25)

Functions

This is the list of available functions.

FinanceMath::Loan.pmt

Calculates the periodic payment for an annuity investment based on constant-amount periodic payments and a constant interest rate.


loan = FinanceMath::Loan.new(nominal_rate: 10, duration: 12, amount: 1000)
loan.pmt
# 87.9158872300099

FinanceMath::Loan.apr

Calculates the Annual Percentage Rate.


loan = FinanceMath::Loan.new(nominal_rate: 13, duration: 12, amount: 10000)
loan.apr
#29.179538647635006

loan = FinanceMath::Loan.new(nominal_rate: 15, duration: 36, amount: 10000, structure_fee: 5, currency_protection: 3, fee: 10)
loan.apr
#23.964418264624054

Contributing

  • Fork it ( https://github.com/kolosek/finance_math/fork )
  • Create your feature branch (git checkout -b my-new-feature)
  • Commit your changes (git commit -am 'Add some feature')
  • Push to the branch (git push origin my-new-feature)
  • Create a new Pull Request

Tests

Please cover with tests your pull requests

Ruby versions

Currently supported version of 2.x and 3.x

Credits

Finance Math is maintained and sponsored by [Kolosek] (http://kolosek.com).

Kolosek

Initially developed by Nesha Zoric

###Follow up @kolosek

License

MIT License. See LICENSE for details.

FAQs

Package last updated on 19 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.