@@ -100,40 +100,6 @@ def test_npv_decimal(self):
100100 npf .npv (Decimal ('0.05' ), [- 15000 , 1500 , 2500 , 3500 , 4500 , 6000 ]),
101101 Decimal ('122.894854950942692161628715' ))
102102
103- def test_mirr (self ):
104- val = [- 4500 , - 800 , 800 , 800 , 600 , 600 , 800 , 800 , 700 , 3000 ]
105- assert_almost_equal (npf .mirr (val , 0.08 , 0.055 ), 0.0666 , 4 )
106-
107- val = [- 120000 , 39000 , 30000 , 21000 , 37000 , 46000 ]
108- assert_almost_equal (npf .mirr (val , 0.10 , 0.12 ), 0.126094 , 6 )
109-
110- val = [100 , 200 , - 50 , 300 , - 200 ]
111- assert_almost_equal (npf .mirr (val , 0.05 , 0.06 ), 0.3428 , 4 )
112-
113- val = [39000 , 30000 , 21000 , 37000 , 46000 ]
114- assert_ (numpy .isnan (npf .mirr (val , 0.10 , 0.12 )))
115-
116- def test_mirr_decimal (self ):
117- val = [Decimal ('-4500' ), Decimal ('-800' ), Decimal ('800' ),
118- Decimal ('800' ), Decimal ('600' ), Decimal ('600' ), Decimal ('800' ),
119- Decimal ('800' ), Decimal ('700' ), Decimal ('3000' )]
120- assert_equal (npf .mirr (val , Decimal ('0.08' ), Decimal ('0.055' )),
121- Decimal ('0.066597175031553548874239618' ))
122-
123- val = [Decimal ('-120000' ), Decimal ('39000' ), Decimal ('30000' ),
124- Decimal ('21000' ), Decimal ('37000' ), Decimal ('46000' )]
125- assert_equal (npf .mirr (val , Decimal ('0.10' ), Decimal ('0.12' )),
126- Decimal ('0.126094130365905145828421880' ))
127-
128- val = [Decimal ('100' ), Decimal ('200' ), Decimal ('-50' ),
129- Decimal ('300' ), Decimal ('-200' )]
130- assert_equal (npf .mirr (val , Decimal ('0.05' ), Decimal ('0.06' )),
131- Decimal ('0.342823387842176663647819868' ))
132-
133- val = [Decimal ('39000' ), Decimal ('30000' ), Decimal ('21000' ),
134- Decimal ('37000' ), Decimal ('46000' )]
135- assert_ (numpy .isnan (npf .mirr (val , Decimal ('0.10' ), Decimal ('0.12' ))))
136-
137103 def test_when (self ):
138104 # begin
139105 assert_equal (npf .rate (10 , 20 , - 3500 , 10000 , 1 ),
@@ -206,6 +172,42 @@ def test_decimal_with_when(self):
206172 Decimal ('0' ), 'end' ))
207173
208174
175+ class TestMirr :
176+ def test_mirr (self ):
177+ val = [- 4500 , - 800 , 800 , 800 , 600 , 600 , 800 , 800 , 700 , 3000 ]
178+ assert_almost_equal (npf .mirr (val , 0.08 , 0.055 ), 0.0666 , 4 )
179+
180+ val = [- 120000 , 39000 , 30000 , 21000 , 37000 , 46000 ]
181+ assert_almost_equal (npf .mirr (val , 0.10 , 0.12 ), 0.126094 , 6 )
182+
183+ val = [100 , 200 , - 50 , 300 , - 200 ]
184+ assert_almost_equal (npf .mirr (val , 0.05 , 0.06 ), 0.3428 , 4 )
185+
186+ val = [39000 , 30000 , 21000 , 37000 , 46000 ]
187+ assert_ (numpy .isnan (npf .mirr (val , 0.10 , 0.12 )))
188+
189+ def test_mirr_decimal (self ):
190+ val = [Decimal ('-4500' ), Decimal ('-800' ), Decimal ('800' ),
191+ Decimal ('800' ), Decimal ('600' ), Decimal ('600' ), Decimal ('800' ),
192+ Decimal ('800' ), Decimal ('700' ), Decimal ('3000' )]
193+ assert_equal (npf .mirr (val , Decimal ('0.08' ), Decimal ('0.055' )),
194+ Decimal ('0.066597175031553548874239618' ))
195+
196+ val = [Decimal ('-120000' ), Decimal ('39000' ), Decimal ('30000' ),
197+ Decimal ('21000' ), Decimal ('37000' ), Decimal ('46000' )]
198+ assert_equal (npf .mirr (val , Decimal ('0.10' ), Decimal ('0.12' )),
199+ Decimal ('0.126094130365905145828421880' ))
200+
201+ val = [Decimal ('100' ), Decimal ('200' ), Decimal ('-50' ),
202+ Decimal ('300' ), Decimal ('-200' )]
203+ assert_equal (npf .mirr (val , Decimal ('0.05' ), Decimal ('0.06' )),
204+ Decimal ('0.342823387842176663647819868' ))
205+
206+ val = [Decimal ('39000' ), Decimal ('30000' ), Decimal ('21000' ),
207+ Decimal ('37000' ), Decimal ('46000' )]
208+ assert_ (numpy .isnan (npf .mirr (val , Decimal ('0.10' ), Decimal ('0.12' ))))
209+
210+
209211class TestNper :
210212 def test_basic_values (self ):
211213 assert_allclose (
0 commit comments