@@ -228,7 +228,7 @@ def gmv_monthly_weights(self) -> np.ndarray:
228228
229229 # Set the objective function
230230 def objective_function (w ):
231- risk = helpers .Rebalance .return_ts (w , ror , period = period ).std ()
231+ risk = helpers .Rebalance ( period = period ) .return_ts (w , ror ).std ()
232232 return risk
233233
234234 # construct the constraints
@@ -272,7 +272,7 @@ def gmv_annual_weights(self) -> np.ndarray:
272272
273273 # Set the objective function
274274 def objective_function (w ):
275- ts = helpers .Rebalance .return_ts (w , ror , period = period )
275+ ts = helpers .Rebalance ( period = period ) .return_ts (w , ror )
276276 mean_return = ts .mean ()
277277 risk = ts .std ()
278278 return helpers .Float .annualize_risk (risk = risk , mean_return = mean_return )
@@ -296,16 +296,18 @@ def _get_gmv_monthly(self) -> Tuple[float, float]:
296296 Global Minimum Volatility portfolio is a portfolio with the lowest risk of all possible.
297297 """
298298 return (
299- helpers .Rebalance .return_ts (
299+ helpers .Rebalance (period = self .rebalancing_period )
300+ .return_ts (
300301 self .gmv_monthly_weights ,
301302 self .assets_ror ,
302- period = self .rebalancing_period ,
303- ).std (),
304- helpers .Rebalance .return_ts (
303+ )
304+ .std (),
305+ helpers .Rebalance (period = self .rebalancing_period )
306+ .return_ts (
305307 self .gmv_monthly_weights ,
306308 self .assets_ror ,
307- period = self . rebalancing_period ,
308- ) .mean (),
309+ )
310+ .mean (),
309311 )
310312
311313 @property
@@ -330,7 +332,7 @@ def gmv_annual_values(self) -> Tuple[float, float]:
330332 >>> frontier.gmv_annual_values
331333 (0.03695845106087943, 0.04418318557516887)
332334 """
333- returns = helpers .Rebalance . return_ts (self .gmv_annual_weights , self .assets_ror , period = self . rebalancing_period )
335+ returns = helpers .Rebalance ( period = self . rebalancing_period ). return_ts (self .gmv_annual_weights , self .assets_ror )
334336 return (
335337 helpers .Float .annualize_risk (returns .std (), returns .mean ()),
336338 (returns + 1.0 ).prod () ** (settings ._MONTHS_PER_YEAR / returns .shape [0 ]) - 1.0 ,
@@ -367,7 +369,7 @@ def global_max_return_portfolio(self) -> dict:
367369 # Set the objective function
368370 def objective_function (w ):
369371 # Accumulated return for rebalanced portfolio time series
370- objective_function .returns = helpers .Rebalance .return_ts (w , ror , period = period )
372+ objective_function .returns = helpers .Rebalance ( period = period ) .return_ts (w , ror )
371373 accumulated_return = (objective_function .returns + 1.0 ).prod () - 1.0
372374 return - accumulated_return
373375
@@ -393,7 +395,7 @@ def objective_function(w):
393395 return point
394396
395397 def _get_cagr (self , weights ):
396- ts = helpers .Rebalance . return_ts (weights , self .assets_ror , period = self . rebalancing_period )
398+ ts = helpers .Rebalance ( period = self . rebalancing_period ). return_ts (weights , self .assets_ror )
397399 acc_return = (ts + 1.0 ).prod () - 1.0
398400 return (1.0 + acc_return ) ** (settings ._MONTHS_PER_YEAR / ts .shape [0 ]) - 1.0
399401
@@ -424,7 +426,7 @@ def minimize_risk(self, target_value: float) -> Dict[str, float]:
424426
425427 def objective_function (w ):
426428 # annual risk
427- ts = helpers .Rebalance . return_ts (w , self .assets_ror , period = self . rebalancing_period )
429+ ts = helpers .Rebalance ( period = self . rebalancing_period ). return_ts (w , self .assets_ror )
428430 risk_monthly = ts .std ()
429431 mean_return = ts .mean ()
430432 return helpers .Float .annualize_risk (risk_monthly , mean_return )
@@ -480,7 +482,7 @@ def _maximize_risk(self, target_return: float) -> Dict[str, float]:
480482
481483 def objective_function (w ):
482484 # annual risk
483- ts = helpers .Rebalance . return_ts (w , self .assets_ror , period = self . rebalancing_period )
485+ ts = helpers .Rebalance ( period = self . rebalancing_period ). return_ts (w , self .assets_ror )
484486 risk_monthly = ts .std ()
485487 mean_return = ts .mean ()
486488 result = - helpers .Float .annualize_risk (risk_monthly , mean_return )
@@ -797,9 +799,8 @@ def get_monte_carlo(self, n: int = 100) -> pd.DataFrame:
797799
798800 # Portfolio risk and cagr for each set of weights
799801 portfolios_ror = weights_df .aggregate (
800- helpers .Rebalance .return_ts ,
802+ helpers .Rebalance ( period = self . rebalancing_period ) .return_ts ,
801803 ror = self .assets_ror ,
802- period = self .rebalancing_period ,
803804 )
804805 random_portfolios = pd .DataFrame ()
805806 for _ , data in portfolios_ror .iterrows ():
0 commit comments