summaryrefslogtreecommitdiff
path: root/numpy/lib/financial.py
Commit message (Collapse)AuthorAgeFilesLines
* DEP: lib: Remove the deprecated financial functions. (#17067)Warren Weckesser2020-08-121-967/+0
| | | | | | | | | As explained in NEP 32, the financial functions are to be removed from version 1.20. They are now replaced with module level `__getattr__` to give a useful error message for those surprised by the `AttributeError`. This only works for Python 3.7+, but it is expected that by the 1.20 release Python 3.6 will not be supported.
* DOC: Fix typos and cosmetic issuesMartin Michlmayr2020-05-171-1/+1
|
* MAINT: Remove unnecessary 'from __future__ import ...' statementsJon Dufresne2020-01-031-2/+0
| | | | | As numpy is Python 3 only, these import statements are now unnecessary and don't alter runtime behavior.
* DOC: lib: Fix deprecation markup in financial function docstrings.Warren Weckesser2019-10-191-74/+77
| | | | | | | The original version doesn't render correctly; see, for example, https://numpy.org/devdocs/reference/generated/numpy.mirr.html#numpy.mirr The HTML output for the updated markup looks much better.
* MAINT: deprecate financial functions.Warren Weckesser2019-10-161-0/+115
| | | | As per NEP-32, the financial functions are deprecated.
* TST: Move NPV-IRR congruence check to testskai-striega2019-09-141-7/+0
| | | | | | | | | | | The internal rate of return (irr) is defined as the rate of return required for the net present values of a series of cashflows to be zero. i.e the lowest rate of return required for a project to break even. This is currently checked by refering to the example output from the ``irr`` and ``npv`` function documentation. This commit adds a test to confirm the identity holds.
* DOC: Add warning message to np.npv docskai-striega2019-09-141-0/+28
| | | | | | | | | | | | | | | | ``np.npv`` calculates the present value of a series of cashflows starting in the present (t=0). Another common definition of NPV uses the future cashflows i.e. starting at the end of the first period. The difference in definition can lead to confusion for users moving between NumPy and other projects [1] and adds complexity for maintainers [2]. This commit adds a warning to the ``npv`` function's documentation and adds an example on how to find the npv of a project using the alternate definition. [1] https://github.com/numpy/numpy/issue/10877 [2] https://github.com/numpy/numpy/pull/3346
* TST, DOC: enable refguide_checkTyler Reddy2018-12-141-13/+13
| | | | | | | | * ported the refguide_check module from SciPy for usage in NumPy docstring execution/ verification; added the refguide_check run to Azure Mac OS CI * adjusted NumPy docstrings such that refguide_check passes
* MAINT: set preferred __module__ for numpy functionsStephan Hoyer2018-10-231-1/+6
|
* ENH: __array_function__ for np.lib, part 1Stephan Hoyer2018-10-081-0/+64
| | | | np.lib.arraypad through np.lib.nanfunctions
* ENH: add Decimal support to numpy.lib.financial (#9952)Garry Polley2017-11-111-35/+58
| | | | | Adds support for Decimal to the rate, pv, fv, pmt, ppmt, ipmt, mirr, npv functions Closes #9781
* BUG: financial.pmt modifies input #8055naveenarun2016-09-231-3/+4
| | | | | financial.pmt masked rate array in place, changing rate array. Changed to mask to a new array, preserving the original rate array.
* BUG : financial.pmt modifies input (issue #8055)KhaledTo2016-09-181-1/+1
|
* BUG: np.irr should return NaN if there are no real solutionsSimon Gibbons2016-02-291-1/+1
|
* DOC: Use print only as function when print_function is imported from __future__gfyoung2015-12-191-2/+2
| | | | Closes gh-6863.
* MAINT: Simplify fix for rate == 0 in financial.pmt.Charles Harris2015-02-171-8/+5
|
* BUG: Fix zero divide warning in financial.pmt.Fei Liu2015-02-171-2/+5
| | | | | | | | | The pmt function in financial.py does a zero divide when rate=0 because error because the alternatives in np.where() are evaluated befor the selection is made.first before going into the function however, the denominator can be zero at that time. Closes #4701.
* DOC : optional parenthesisThomas A Caswell2014-12-121-1/+1
|
* STY: Make files in numpy/lib PEP8 compliant.Charles Harris2014-07-311-27/+35
| | | | The rules enforced are the same as those used for scipy.
* MAINT: Fixes for problems in numpy/lib revealed by pyflakes.Charles Harris2014-07-311-6/+0
| | | | | | Some of those problems look like potential coding errors. In those cases a Fixme comment was made and the offending code, usually an unused variable, was commented out.
* BUG: IRR was returning nan instead of valid negative answer.Philip Eliot2014-02-011-6/+14
| | | | | | | | | | | | | | | | This change corrects the following two bugs in numpy.irr: * When the solution was negative, numpy.irr returned nan instead of the correct solution because of the mask applied to the roots. Corrected by removing the mask that 0 < res < 1. * When multiple roots were found, numpy.irr was returning an array of all roots rather than a single float. This bug was corrected by selecting the single root closest to zero (min(abs(root)). With these corrections, numpy.irr returns the same result as the corresponding spreadsheet function in LibreOffice Calc for all test cases (additional test cases were added to cover cases with multiple positive and negative roots)
* STY: Giant comma spacing fixup.Charles Harris2013-08-181-1/+1
| | | | | | | Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long and will need to be broken at some point. OTOH, some lines were already too long and need to be broken at some point. Now seems as good a time as any to do this with open PRs at a minimum.
* MAINT: Use np.errstate context manager.Charles Harris2013-07-111-4/+1
| | | | | | | | | | | | | Now that Python < 2.6 is no longer supported we can use the errstate context manager in places where constructs like ``` old = seterr(invalid='ignore') try: blah finally: seterr(**old) ``` were used.
* BUG: The npv function in financial.py was incorrectly implemented.bebert2182013-05-291-5/+5
| | | | | | | | | | | | | Correct the implementation of the npv function, its documentation, and the mirr function that depends on it. The test_financial.py is also corrected to take into account those modifications The npv function behavior was contrary to what the documentation stated as it summed indexes 1 to M instead of 0 to M-1. The mirr function used a corrective factor to get the correct result in spite of that error so that factor is removed. Closes #649
* 2to3: Apply `map` fixer.Charles Harris2013-04-101-5/+5
| | | | | | | | | | | | | | | | | | | In Python 3 `map` is an iterator while in Python 2 it returns a list. The simple fix applied by the fixer is to inclose all instances of map with `list(...)`. This is not needed in all cases, and even where appropriate list comprehensions may be preferred for their clarity. Consequently, this patch attempts to use list comprehensions where it makes sense. When the mapped function has two arguments there is another problem that can arise. In Python 3 map stops execution when the shortest argument list is exhausted, while in Python 2 it stops when the longest argument list is exhausted. Consequently the two argument case might need special care. However, we have been running Python3 converted versions of numpy since 1.5 without problems, so it is probably not something that affects us. Closes #3068
* 2to3: Apply `print` fixer.Charles Harris2013-04-061-1/+1
| | | | | | | Add `print_function` to all `from __future__ import ...` statements and use the python3 print function syntax everywhere. Closes #3078.
* 2to3: Use absolute imports.Charles Harris2013-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new import `absolute_import` is added the `from __future__ import` statement and The 2to3 `import` fixer is run to make the imports compatible. There are several things that need to be dealt with to make this work. 1) Files meant to be run as scripts run in a different environment than files imported as part of a package, and so changes to those files need to be skipped. The affected script files are: * all setup.py files * numpy/core/code_generators/generate_umath.py * numpy/core/code_generators/generate_numpy_api.py * numpy/core/code_generators/generate_ufunc_api.py 2) Some imported modules are not available as they are created during the build process and consequently 2to3 is unable to handle them correctly. Files that import those modules need a bit of extra work. The affected files are: * core/__init__.py, * core/numeric.py, * core/_internal.py, * core/arrayprint.py, * core/fromnumeric.py, * numpy/__init__.py, * lib/npyio.py, * lib/function_base.py, * fft/fftpack.py, * random/__init__.py Closes #3172
* 2to3: Put `from __future__ import division in every python file.Charles Harris2013-03-011-6/+11
| | | | | | | | This should be harmless, as we already are division clean. However, placement of this import takes some care. In the future a script can be used to append new features without worry, at least until such time as it exceeds a single line. Having that ability will make it easier to deal with absolute imports and printing updates.
* BUG: Changed ipmt to accept array_like arguments.Tim Cera2012-05-201-11/+17
| | | | | The ipmt function was also fixed to handle broadcasting. The tests were improved and extended to cover the broadcasting capability.
* Added ipmt (interest portion of payment) and ppmt (principal portion of ↵tim cera2012-02-121-5/+67
| | | | payment) functions. Added doctests and unit tests.
* WHT: Cleanup trailing whitespace.Charles Harris2011-04-021-1/+0
|
* BUG: fix div by zero handling in nper.David Cournapeau2010-03-311-8/+18
|
* more docstring updates from pydoc website (thanks to everyone who contributed!)Jarrod Millman2010-02-171-11/+13
|
* Docstring update: libPauli Virtanen2009-10-021-5/+14
|
* Fix mirr function and its test. Thanks go to Skipper and Josef.Charles Harris2009-08-261-8/+4
|
* Make some fixes in mirr implementation to avoid overflow inCharles Harris2009-08-261-5/+5
| | | | summing booleans. Do some whitespace cleanup.
* Add patch in ticket #1138 which fixes mirr function to be the same as Excel ↵Travis Oliphant2009-08-251-7/+11
| | | | and OO Calc.
* Merge from doc wikiPauli Virtanen2009-06-191-14/+170
|
* Merge from the doc wikiPauli Virtanen2009-03-241-1/+0
|
* Import documentation from doc wiki (part 2, work-in-progress docstrings, but ↵Pauli Virtanen2008-10-281-37/+172
| | | | they are still an improvement)
* Remove piece-by-piece docstring assembly; the full texts were inserted in ↵Pauli Virtanen2008-08-081-79/+0
| | | | the docstrings in r5610
* Merge from documentation editor.Stefan van der Walt2008-08-051-5/+184
|
* Use the implicit "import numpy as np" made available to all doctests instead Alan McIntyre2008-07-051-4/+4
| | | | | of explicit imports or dependency on the local scope where the doctest is defined..
* Merge documentation changes from wiki.Stefan van der Walt2008-05-191-4/+4
|
* ran reindent in preparation for the 1.1 releaseJarrod Millman2008-04-201-27/+27
|
* Fix doc-tests for financial.py so they don't rely on floating-point ↵Travis Oliphant2008-04-081-2/+4
| | | | exactness. Start filling in final function.
* Improve comments.Travis Oliphant2008-04-081-1/+10
|
* Add docs and examples for financial functions.Travis Oliphant2008-04-081-34/+94
|
* Add modified internal rate of return calculation which is more conservative ↵Travis Oliphant2008-04-041-1/+26
| | | | and takes into account re-investing profits and expense of financing losses.
* Add fromregex function (needs more testing) and some simple spreadsheet-like ↵Travis Oliphant2008-04-041-0/+151
financial calculations.