@@ -733,7 +733,7 @@ def test_excess_sharpe_trans(self, returns, add_noise, translation):
733
733
@parameterized .expand ([
734
734
(empty_returns , simple_benchmark , (np .nan , np .nan )),
735
735
(one_return , one_return , (np .nan , np .nan )),
736
- (mixed_returns , negative_returns [1 :], (- 8.306666666666668 ,
736
+ (mixed_returns , negative_returns [1 :], (- 0.9997853834885004 ,
737
737
- 0.71296296296296313 )),
738
738
(mixed_returns , mixed_returns , (0.0 , 1.0 )),
739
739
(mixed_returns , - mixed_returns , (0.0 , - 1.0 )),
@@ -801,6 +801,7 @@ def test_alpha_beta_translation(self, mean_returns, translation):
801
801
benchmark = pd .Series (
802
802
bench ,
803
803
index = pd .date_range ('2000-1-30' , periods = 1000 , freq = 'D' ))
804
+
804
805
# Translate returns and generate alphas and betas.
805
806
returns_depressed = returns - translation
806
807
returns_raised = returns + translation
@@ -814,11 +815,13 @@ def test_alpha_beta_translation(self, mean_returns, translation):
814
815
# Alpha should change proportionally to how much returns were
815
816
# translated.
816
817
assert_almost_equal (
817
- (alpha_standard - alpha_depressed )/ 252 ,
818
+ ((alpha_standard + 1 ) ** (1 / 252 )) -
819
+ ((alpha_depressed + 1 ) ** (1 / 252 )),
818
820
translation ,
819
821
DECIMAL_PLACES )
820
822
assert_almost_equal (
821
- (alpha_raised - alpha_standard )/ 252 ,
823
+ ((alpha_raised + 1 ) ** (1 / 252 )) -
824
+ ((alpha_standard + 1 ) ** (1 / 252 )),
822
825
translation ,
823
826
DECIMAL_PLACES )
824
827
# Beta remains constant.
@@ -1108,8 +1111,8 @@ def test_down_capture(self, returns, factor_returns, expected):
1108
1111
[(np .nan , np .nan )] * len (simple_benchmark )),
1109
1112
(one_return , one_return , 1 , [(np .nan , np .nan )]),
1110
1113
(mixed_returns , negative_returns ,
1111
- 6 , [(- 3.81286957 , - 0.7826087 ), (- 4.03558719 , - 0.76156584 ),
1112
- (- 2.66915888 , - 0.61682243 ), (- 7.8987541 , - 0.41311475 )]),
1114
+ 6 , [(- 0.97854954 , - 0.7826087 ), (- 0.9828927 , - 0.76156584 ),
1115
+ (- 0.93166924 , - 0.61682243 ), (- 0.99967288 , - 0.41311475 )]),
1113
1116
(mixed_returns , mixed_returns ,
1114
1117
6 , [(0.0 , 1.0 ), (0.0 , 1.0 ), (0.0 , 1.0 ), (0.0 , 1.0 )]),
1115
1118
(mixed_returns , - mixed_returns ,
@@ -1209,7 +1212,7 @@ def test_roll_up_capture(self, returns, factor_returns, window, expected):
1209
1212
(empty_returns , simple_benchmark , (np .nan , np .nan )),
1210
1213
(one_return , one_return , (np .nan , np .nan )),
1211
1214
(mixed_returns [1 :], negative_returns [1 :],
1212
- (- 8.306666666666668 , - 0.71296296296296313 )),
1215
+ (- 0.9997853834885004 , - 0.71296296296296313 )),
1213
1216
(mixed_returns , mixed_returns , (0.0 , 1.0 )),
1214
1217
(mixed_returns , - mixed_returns , (0.0 , - 1.0 ))
1215
1218
])
@@ -1231,7 +1234,7 @@ def test_down_alpha_beta(self, returns, benchmark, expected):
1231
1234
(empty_returns , simple_benchmark , (np .nan , np .nan )),
1232
1235
(one_return , one_return , (np .nan , np .nan )),
1233
1236
(mixed_returns [1 :], positive_returns [1 :],
1234
- (0.3599999999999995 , 0.4285714285 )),
1237
+ (0.432961242076658 , 0.4285714285 )),
1235
1238
(mixed_returns , mixed_returns , (0.0 , 1.0 )),
1236
1239
(mixed_returns , - mixed_returns , (0.0 , - 1.0 ))
1237
1240
])
0 commit comments