@@ -100,40 +100,6 @@ def test_npv_decimal(self):
100
100
npf .npv (Decimal ('0.05' ), [- 15000 , 1500 , 2500 , 3500 , 4500 , 6000 ]),
101
101
Decimal ('122.894854950942692161628715' ))
102
102
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
-
137
103
def test_when (self ):
138
104
# begin
139
105
assert_equal (npf .rate (10 , 20 , - 3500 , 10000 , 1 ),
@@ -206,6 +172,42 @@ def test_decimal_with_when(self):
206
172
Decimal ('0' ), 'end' ))
207
173
208
174
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
+
209
211
class TestNper :
210
212
def test_basic_values (self ):
211
213
assert_allclose (
0 commit comments