Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
opt
/
alt
/
python27
/
lib64
/
python2.7
/
site-packages
/
numpy
/
lib
/
tests
/
File Content:
test_financial.py
from __future__ import division, absolute_import, print_function import numpy as np from numpy.testing import ( run_module_suite, TestCase, assert_, assert_almost_equal, assert_allclose ) class TestFinancial(TestCase): def test_rate(self): assert_almost_equal(np.rate(10, 0, -3500, 10000), 0.1107, 4) def test_irr(self): v = [-150000, 15000, 25000, 35000, 45000, 60000] assert_almost_equal(np.irr(v), 0.0524, 2) v = [-100, 0, 0, 74] assert_almost_equal(np.irr(v), -0.0955, 2) v = [-100, 39, 59, 55, 20] assert_almost_equal(np.irr(v), 0.28095, 2) v = [-100, 100, 0, -7] assert_almost_equal(np.irr(v), -0.0833, 2) v = [-100, 100, 0, 7] assert_almost_equal(np.irr(v), 0.06206, 2) v = [-5, 10.5, 1, -8, 1] assert_almost_equal(np.irr(v), 0.0886, 2) def test_pv(self): assert_almost_equal(np.pv(0.07, 20, 12000, 0), -127128.17, 2) def test_fv(self): assert_almost_equal(np.fv(0.075, 20, -2000, 0, 0), 86609.36, 2) def test_pmt(self): res = np.pmt(0.08/12, 5*12, 15000) tgt = -304.145914 assert_allclose(res, tgt) # Test the edge case where rate == 0.0 res = np.pmt(0.0, 5*12, 15000) tgt = -250.0 assert_allclose(res, tgt) # Test the case where we use broadcast and # the arguments passed in are arrays. res = np.pmt([[0.0, 0.8],[0.3, 0.8]],[12, 3],[2000, 20000]) tgt = np.array([[-166.66667, -19311.258],[-626.90814, -19311.258]]) assert_allclose(res, tgt) def test_ppmt(self): np.round(np.ppmt(0.1/12, 1, 60, 55000), 2) == 710.25 def test_ipmt(self): np.round(np.ipmt(0.1/12, 1, 24, 2000), 2) == 16.67 def test_nper(self): assert_almost_equal(np.nper(0.075, -2000, 0, 100000.), 21.54, 2) def test_nper2(self): assert_almost_equal(np.nper(0.0, -2000, 0, 100000.), 50.0, 1) def test_npv(self): assert_almost_equal( np.npv(0.05, [-15000, 1500, 2500, 3500, 4500, 6000]), 122.89, 2) def test_mirr(self): val = [-4500, -800, 800, 800, 600, 600, 800, 800, 700, 3000] assert_almost_equal(np.mirr(val, 0.08, 0.055), 0.0666, 4) val = [-120000, 39000, 30000, 21000, 37000, 46000] assert_almost_equal(np.mirr(val, 0.10, 0.12), 0.126094, 6) val = [100, 200, -50, 300, -200] assert_almost_equal(np.mirr(val, 0.05, 0.06), 0.3428, 4) val = [39000, 30000, 21000, 37000, 46000] assert_(np.isnan(np.mirr(val, 0.10, 0.12))) def test_when(self): #begin assert_almost_equal(np.rate(10, 20, -3500, 10000, 1), np.rate(10, 20, -3500, 10000, 'begin'), 4) #end assert_almost_equal(np.rate(10, 20, -3500, 10000), np.rate(10, 20, -3500, 10000, 'end'), 4) assert_almost_equal(np.rate(10, 20, -3500, 10000, 0), np.rate(10, 20, -3500, 10000, 'end'), 4) # begin assert_almost_equal(np.pv(0.07, 20, 12000, 0, 1), np.pv(0.07, 20, 12000, 0, 'begin'), 2) # end assert_almost_equal(np.pv(0.07, 20, 12000, 0), np.pv(0.07, 20, 12000, 0, 'end'), 2) assert_almost_equal(np.pv(0.07, 20, 12000, 0, 0), np.pv(0.07, 20, 12000, 0, 'end'), 2) # begin assert_almost_equal(np.fv(0.075, 20, -2000, 0, 1), np.fv(0.075, 20, -2000, 0, 'begin'), 4) # end assert_almost_equal(np.fv(0.075, 20, -2000, 0), np.fv(0.075, 20, -2000, 0, 'end'), 4) assert_almost_equal(np.fv(0.075, 20, -2000, 0, 0), np.fv(0.075, 20, -2000, 0, 'end'), 4) # begin assert_almost_equal(np.pmt(0.08/12, 5*12, 15000., 0, 1), np.pmt(0.08/12, 5*12, 15000., 0, 'begin'), 4) # end assert_almost_equal(np.pmt(0.08/12, 5*12, 15000., 0), np.pmt(0.08/12, 5*12, 15000., 0, 'end'), 4) assert_almost_equal(np.pmt(0.08/12, 5*12, 15000., 0, 0), np.pmt(0.08/12, 5*12, 15000., 0, 'end'), 4) # begin assert_almost_equal(np.ppmt(0.1/12, 1, 60, 55000, 0, 1), np.ppmt(0.1/12, 1, 60, 55000, 0, 'begin'), 4) # end assert_almost_equal(np.ppmt(0.1/12, 1, 60, 55000, 0), np.ppmt(0.1/12, 1, 60, 55000, 0, 'end'), 4) assert_almost_equal(np.ppmt(0.1/12, 1, 60, 55000, 0, 0), np.ppmt(0.1/12, 1, 60, 55000, 0, 'end'), 4) # begin assert_almost_equal(np.ipmt(0.1/12, 1, 24, 2000, 0, 1), np.ipmt(0.1/12, 1, 24, 2000, 0, 'begin'), 4) # end assert_almost_equal(np.ipmt(0.1/12, 1, 24, 2000, 0), np.ipmt(0.1/12, 1, 24, 2000, 0, 'end'), 4) assert_almost_equal(np.ipmt(0.1/12, 1, 24, 2000, 0, 0), np.ipmt(0.1/12, 1, 24, 2000, 0, 'end'), 4) # begin assert_almost_equal(np.nper(0.075, -2000, 0, 100000., 1), np.nper(0.075, -2000, 0, 100000., 'begin'), 4) # end assert_almost_equal(np.nper(0.075, -2000, 0, 100000.), np.nper(0.075, -2000, 0, 100000., 'end'), 4) assert_almost_equal(np.nper(0.075, -2000, 0, 100000., 0), np.nper(0.075, -2000, 0, 100000., 'end'), 4) def test_broadcast(self): assert_almost_equal(np.nper(0.075, -2000, 0, 100000., [0, 1]), [21.5449442, 20.76156441], 4) assert_almost_equal(np.ipmt(0.1/12, list(range(5)), 24, 2000), [-17.29165168, -16.66666667, -16.03647345, -15.40102862, -14.76028842], 4) assert_almost_equal(np.ppmt(0.1/12, list(range(5)), 24, 2000), [-74.998201, -75.62318601, -76.25337923, -76.88882405, -77.52956425], 4) assert_almost_equal(np.ppmt(0.1/12, list(range(5)), 24, 2000, 0, [0, 0, 1, 'end', 'begin']), [-74.998201, -75.62318601, -75.62318601, -76.88882405, -76.88882405], 4) if __name__ == "__main__": run_module_suite()
Submit
FILE
FOLDER
Name
Size
Permission
Action
data
---
0755
test__datasource.py
10445 bytes
0644
test__datasource.pyc
17373 bytes
0644
test__datasource.pyo
17373 bytes
0644
test__iotools.py
14018 bytes
0644
test__iotools.pyc
15415 bytes
0644
test__iotools.pyo
15415 bytes
0644
test__version.py
2125 bytes
0644
test__version.pyc
3588 bytes
0644
test__version.pyo
3588 bytes
0644
test_arraypad.py
42647 bytes
0644
test_arraypad.pyc
59406 bytes
0644
test_arraypad.pyo
59406 bytes
0644
test_arraysetops.py
10084 bytes
0644
test_arraysetops.pyc
10269 bytes
0644
test_arraysetops.pyo
10269 bytes
0644
test_arrayterator.py
1455 bytes
0644
test_arrayterator.pyc
2119 bytes
0644
test_arrayterator.pyo
2119 bytes
0644
test_financial.py
6607 bytes
0644
test_financial.pyc
7518 bytes
0644
test_financial.pyo
7518 bytes
0644
test_format.py
34230 bytes
0644
test_format.pyc
17334 bytes
0644
test_format.pyo
17334 bytes
0644
test_function_base.py
109003 bytes
0644
test_function_base.pyc
136810 bytes
0644
test_function_base.pyo
136810 bytes
0644
test_index_tricks.py
11462 bytes
0644
test_index_tricks.pyc
15671 bytes
0644
test_index_tricks.pyo
15671 bytes
0644
test_io.py
72111 bytes
0644
test_io.pyc
85752 bytes
0644
test_io.pyo
85752 bytes
0644
test_nanfunctions.py
28230 bytes
0644
test_nanfunctions.pyc
33706 bytes
0644
test_nanfunctions.pyo
33706 bytes
0644
test_packbits.py
951 bytes
0644
test_packbits.pyc
1529 bytes
0644
test_packbits.pyo
1529 bytes
0644
test_polynomial.py
5092 bytes
0644
test_polynomial.pyc
5581 bytes
0644
test_polynomial.pyo
5581 bytes
0644
test_recfunctions.py
30630 bytes
0644
test_recfunctions.pyc
37164 bytes
0644
test_recfunctions.pyo
37164 bytes
0644
test_regression.py
8829 bytes
0644
test_regression.pyc
14182 bytes
0644
test_regression.pyo
14182 bytes
0644
test_shape_base.py
12714 bytes
0644
test_shape_base.pyc
19247 bytes
0644
test_shape_base.pyo
19247 bytes
0644
test_stride_tricks.py
14199 bytes
0644
test_stride_tricks.pyc
16602 bytes
0644
test_stride_tricks.pyo
16602 bytes
0644
test_twodim_base.py
17996 bytes
0644
test_twodim_base.pyc
22472 bytes
0644
test_twodim_base.pyo
22472 bytes
0644
test_type_check.py
10247 bytes
0644
test_type_check.pyc
20646 bytes
0644
test_type_check.pyo
20646 bytes
0644
test_ufunclike.py
2024 bytes
0644
test_ufunclike.pyc
3633 bytes
0644
test_ufunclike.pyo
3633 bytes
0644
test_utils.py
1466 bytes
0644
test_utils.pyc
3279 bytes
0644
test_utils.pyo
3279 bytes
0644
N4ST4R_ID | Naxtarrr