Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Parity with numpy-financial? #27

Open
3 of 10 tasks
alecloudenback opened this issue Oct 26, 2020 · 0 comments
Open
3 of 10 tasks

Feature Parity with numpy-financial? #27

alecloudenback opened this issue Oct 26, 2020 · 0 comments
Labels
discussion enhancement New feature or request good first issue Good for newcomers

Comments

@alecloudenback
Copy link
Member

alecloudenback commented Oct 26, 2020

Numpy-financial functions:

  • fv(rate, nper, pmt, pv[, when]) | Compute the future value.
  • ipmt(rate, per, nper, pv[, fv, when]) | Compute the interest portion of a payment.
  • irr(values) | Return the Internal Rate of Return (IRR).
  • mirr(values, finance_rate, reinvest_rate) | Modified internal rate of return.
  • nper(rate, pmt, pv[, fv, when]) | Compute the number of periodic payments.
  • npv(rate, values) | Returns the NPV (Net Present Value) of a cash flow series.
  • pmt(rate, nper, pv[, fv, when]) | Compute the payment against loan principal plus interest.
  • ppmt(rate, per, nper, pv[, fv, when]) | Compute the payment against loan principal.
  • pv(rate, nper, pmt[, fv, when]) | Compute the present value.
  • rate(nper, pmt, pv, fv[, when, guess, tol, …]) | Compute the rate of interest per period.

Not sure that we actually want to have all of these. ActuaryUtilities provides a more flexible interface, I think?

E.g. for present value, the above definition restricts you:

  • npv you can have a vector of rates, but not specify the timepoints. And the rate needs to be constant
  • pv is the old calculator bond formula. Great for doing a super simple bond calc, but for everything else...?

In contrast, with ActuaryUtilities present_value(rate,cfs,times) or pv:

  • rate can be a constant or a curve
  • cfs can vary
  • times lets you specify when cashflows occur and they can be of varying magnitude and at uneven times
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion enhancement New feature or request good first issue Good for newcomers
Projects
Status: New features
Development

No branches or pull requests

1 participant