summaryrefslogtreecommitdiff
path: root/numpy/lib/tests/test_financial.py
Commit message (Collapse)AuthorAgeFilesLines
* DEP: lib: Remove the deprecated financial functions. (#17067)Warren Weckesser2020-08-121-380/+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.
* MAINT: Remove implicit inheritance from object class (#15236)Jon Dufresne2020-01-051-1/+1
| | | | | | | Inheriting from object was necessary for Python 2 compatibility to use new-style classes. In Python 3, this is unnecessary as there are no old-style classes. Dropping the object is more idiomatic Python.
* 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.
* MAINT: deprecate financial functions.Warren Weckesser2019-10-161-0/+36
| | | | As per NEP-32, the financial functions are deprecated.
* TST: Move NPV-IRR congruence check to testskai-striega2019-09-141-0/+6
| | | | | | | | | | | 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.
* MAINT: Remove all uses of run_module_suite.Charles Harris2018-04-061-7/+2
| | | | | That function is nose specific and has not worked since `__init__` files were added to the tests directories.
* ENH: add Decimal support to numpy.lib.financial (#9952)Garry Polley2017-11-111-61/+238
| | | | | Adds support for Decimal to the rate, pv, fv, pmt, ppmt, ipmt, mirr, npv functions Closes #9781
* TST: Remove unittest dependencies in numpy/lib/tests.Charles Harris2017-07-241-3/+3
|
* BUG: np.irr should return NaN if there are no real solutionsSimon Gibbons2016-02-291-1/+6
|
* MAINT: Fix pmt test in numpy/lib/tests/test_financial.py.Charles Harris2015-02-171-24/+22
| | | | | | | The tests were using assert_almost_equal and setting the precision to 3 decimals. The reason for that low precision appears to have been the failure of the tests for a more reasonable precision. The fix was to use assert_allclose instead.
* BUG: Fix zero divide warning in financial.pmt.Fei Liu2015-02-171-0/+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.
* STY: PEP8 compliance for numpy/lib/tests.Charles Harris2014-07-311-1/+1
| | | | | | | The possibly controversial part of this is making the nested array value lists PEP8 compliant, as there is something to be said aligning the values for clarity. In the end, it seemed like the easiest thing to do was to make them PEP8 compliant. The eye can get used to that.
* MAINT: Fix problems noted by pyflakes in numpy/lib/tests.Charles Harris2014-07-311-1/+3
|
* BUG: IRR was returning nan instead of valid negative answer.Philip Eliot2014-02-011-0/+15
| | | | | | | | | | | | | | | | 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: Make numpy/lib/test/*.py PEP8 compliant.Charles Harris2013-09-031-4/+6
| | | | | | | Run autopep8 over the test files in numpy/lib/test and make fixes to the result. Also remove Python5 workaround.
* STY: Giant comma spacing fixup.Charles Harris2013-08-181-63/+63
| | | | | | | 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.
* BUG: The npv function in financial.py was incorrectly implemented.bebert2182013-05-291-1/+1
| | | | | | | | | | | | | 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 `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: Replace xrange by range and use list(range(...)) where neededCharles Harris2013-03-271-3/+3
| | | | | | | | | | | | | | | In python3 range is an iterator and `xrange` has been removed. This has two consequence for code: 1) Where a list is needed `list(range(...))` must be used. 2) `xrange` must be replaced by `range` Both of these changes also work in python2 and this patch makes both. There are three places fixed that do not need it, but I left them in so that the result would be `xrange` clean. Closes #3092
* 2to3: Put `from __future__ import division in every python file.Charles Harris2013-03-011-0/+2
| | | | | | | | 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-0/+80
| | | | | 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-9/+6
| | | | payment) functions. Added doctests and unit tests.
* BUG: fix div by zero handling in nper.David Cournapeau2010-03-311-1/+1
|
* Fix mirr function and its test. Thanks go to Skipper and Josef.Charles Harris2009-08-261-6/+10
|
* Comment out failing test until it is decided where the problem lies.Charles Harris2009-08-261-5/+3
|
* Make some fixes in mirr implementation to avoid overflow inCharles Harris2009-08-261-1/+1
| | | | summing booleans. Do some whitespace cleanup.
* Improve test and add a test to Python.Travis Oliphant2009-08-251-1/+4
|
* ran reindentJarrod Millman2008-08-081-2/+2
|
* Added tests to improve coverage.Alan McIntyre2008-07-241-25/+44
| | | | Converted tests from doctests to unit tests.
* Remove uses of set_package_path, set_local_path, restore_path.Alan McIntyre2008-07-031-11/+9
| | | | | Clean up and (somewhat) standardize test module imports. Removed unneeded reload calls.
* Restore old test framework classes.Alan McIntyre2008-06-211-1/+1
| | | | | | | | | | | Added numpy.testing.run_module_suite to simplify "if __name__ == '__main__'" boilerplate code in test modules. Removed numpy/testing/pkgtester.py since it just consisted of an import statement after porting SciPy r4424. Allow numpy.*.test() to accept the old keyword arguments (but issue a deprecation warning when old arguments are seen). numpy.*.test() returns a test result object as before. Fixed typo in distutils doc.
* Switched to use nose to run tests. Added test and bench functions to all ↵Alan McIntyre2008-06-171-3/+4
| | | | modules.
* Fix doc-tests for financial.py so they don't rely on floating-point ↵Travis Oliphant2008-04-081-19/+19
| | | | exactness. Start filling in final function.
* Add docs and examples for financial functions.Travis Oliphant2008-04-081-1/+1
|
* Add modified internal rate of return calculation which is more conservative ↵Travis Oliphant2008-04-041-0/+5
| | | | 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/+34
financial calculations.