@@ -44,8 +44,7 @@ def annualize_return(
4444
4545 @staticmethod
4646 def annualize_risk (
47- risk : Union [float , pd .Series , pd .DataFrame ],
48- mean_return : Union [float , pd .Series , pd .DataFrame ]
47+ risk : Union [float , pd .Series , pd .DataFrame ], mean_return : Union [float , pd .Series , pd .DataFrame ]
4948 ) -> Union [float , pd .Series , pd .DataFrame ]:
5049 """
5150 Annualizes Risk.
@@ -168,11 +167,10 @@ def get_annual_return_ts_from_monthly(
168167 if isinstance (ts , pd .Series ):
169168 ts .rename (ror_monthly .name , inplace = True )
170169 return ts
171-
170+
172171 @staticmethod
173172 def get_wealth_indexes (
174- ror : Union [pd .Series , pd .DataFrame ],
175- initial_amount : float = 1000.
173+ ror : Union [pd .Series , pd .DataFrame ], initial_amount : float = 1000.0
176174 ) -> Union [pd .Series , pd .DataFrame ]:
177175 """
178176 Returns wealth indexes for a list of assets (or for portfolio).
@@ -189,11 +187,11 @@ def get_wealth_indexes(
189187
190188 @staticmethod
191189 def get_wealth_indexes_with_cashflow (
192- ror : Union [pd .Series , pd .DataFrame ],
190+ ror : Union [pd .Series , pd .DataFrame ],
193191 portfolio_symbol : Optional [str ],
194192 inflation_symbol : Optional [str ],
195193 discount_rate : float ,
196- initial_amount : float = 1000. ,
194+ initial_amount : float = 1000.0 ,
197195 cashflow : float = 0 ,
198196 ) -> Union [pd .Series , pd .DataFrame ]:
199197 """
@@ -222,8 +220,7 @@ def get_wealth_indexes_with_cashflow(
222220 s .iloc [0 ] = initial_amount # replaces NaN with the first period return
223221 if inflation_symbol :
224222 cum_inflation = Frame .get_wealth_indexes (
225- ror = ror .loc [:, inflation_symbol ],
226- initial_amount = initial_amount
223+ ror = ror .loc [:, inflation_symbol ], initial_amount = initial_amount
227224 )
228225 wealth_index = pd .concat ([s , cum_inflation ], axis = "columns" )
229226 else :
@@ -336,7 +333,7 @@ def skewness(ror: Union[pd.DataFrame, pd.Series]) -> Union[pd.Series, float]:
336333 The shape of time series should be at least 12. In the opposite case empty time series is returned.
337334 """
338335 sk = ror .expanding (min_periods = 1 ).skew ()
339- return sk .iloc [settings ._MONTHS_PER_YEAR :]
336+ return sk .iloc [settings ._MONTHS_PER_YEAR :]
340337
341338 @staticmethod
342339 def skewness_rolling (ror : Union [pd .DataFrame , pd .Series ], window : int = 60 ) -> Union [pd .Series , float ]:
@@ -356,7 +353,7 @@ def kurtosis(ror: Union[pd.Series, pd.DataFrame]):
356353 Kurtosis should be close to zero for normal distribution.
357354 """
358355 kt = ror .expanding (min_periods = 1 ).kurt ()
359- return kt .iloc [settings ._MONTHS_PER_YEAR :]
356+ return kt .iloc [settings ._MONTHS_PER_YEAR :]
360357
361358 @staticmethod
362359 def kurtosis_rolling (ror : Union [pd .Series , pd .DataFrame ], window : int = 60 ):
@@ -566,7 +563,7 @@ def tracking_difference_annualized(tracking_diff: pd.DataFrame) -> pd.DataFrame:
566563 y = abs (tracking_diff )
567564 diff = (y + 1.0 ).pow (pwr , axis = 0 ) - 1.0
568565 diff = np .sign (tracking_diff ) * diff
569- return diff .iloc [settings ._MONTHS_PER_YEAR - 1 :] # returns for the first 11 months can't be annualized
566+ return diff .iloc [settings ._MONTHS_PER_YEAR - 1 :] # returns for the first 11 months can't be annualized
570567
571568 @staticmethod
572569 def tracking_error (ror : pd .DataFrame ) -> pd .DataFrame :
@@ -597,7 +594,7 @@ def expanding_cov_cor(ror: pd.DataFrame, fn: str) -> pd.DataFrame:
597594 cov_matrix_ts = getattr (ror .expanding (), fn )()
598595 cov_matrix_ts = cov_matrix_ts .drop (index = ror .columns [1 :], level = 1 ).droplevel (1 )
599596 cov_matrix_ts .drop (columns = ror .columns [0 ], inplace = True )
600- return cov_matrix_ts .iloc [settings ._MONTHS_PER_YEAR :]
597+ return cov_matrix_ts .iloc [settings ._MONTHS_PER_YEAR :]
601598
602599 @staticmethod
603600 def rolling_cov_cor (ror : pd .DataFrame , window : int = 60 , fn : str = "corr" ) -> pd .DataFrame :
@@ -629,7 +626,7 @@ def beta(ror: pd.DataFrame) -> pd.DataFrame:
629626 raise ValueError ("Beta coefficient is not defined for time periods < 1 year" )
630627 cov = Index .expanding_cov_cor (ror , fn = "cov" )
631628 benchmark_var = ror .loc [:, ror .columns [0 ]].expanding ().var ()
632- benchmark_var = benchmark_var .iloc [settings ._MONTHS_PER_YEAR :]
629+ benchmark_var = benchmark_var .iloc [settings ._MONTHS_PER_YEAR :]
633630 return cov .divide (benchmark_var , axis = 0 )
634631
635632 @staticmethod
0 commit comments