@@ -491,11 +491,12 @@ def load_exit_signal_candles(backtest_dir: Path) -> dict[str, dict[str, pd.DataF
491491 return load_backtest_analysis_data (backtest_dir , "exited" )
492492
493493
494- def analyze_trade_parallelism (results : pd .DataFrame , timeframe : str ) -> pd .DataFrame :
494+ def analyze_trade_parallelism (trades : pd .DataFrame , timeframe : str ) -> pd .DataFrame :
495495 """
496496 Find overlapping trades by expanding each trade once per period it was open
497497 and then counting overlaps.
498- :param results: Results Dataframe - can be loaded
498+ :param trades: Trades Dataframe - can be loaded from backtest, or created
499+ via trade_list_to_dataframe
499500 :param timeframe: Timeframe used for backtest
500501 :return: dataframe with open-counts per time-period in timeframe
501502 """
@@ -512,11 +513,11 @@ def analyze_trade_parallelism(results: pd.DataFrame, timeframe: str) -> pd.DataF
512513 inclusive = "left" ,
513514 )
514515 )
515- for row in results [["open_date" , "close_date" ]].iterrows ()
516+ for row in trades [["open_date" , "close_date" ]].iterrows ()
516517 ]
517518 deltas = [len (x ) for x in dates ]
518519 dates = pd .Series (pd .concat (dates ).values , name = "date" )
519- df2 = pd .DataFrame (np .repeat (results .values , deltas , axis = 0 ), columns = results .columns )
520+ df2 = pd .DataFrame (np .repeat (trades .values , deltas , axis = 0 ), columns = trades .columns )
520521
521522 df2 = pd .concat ([dates , df2 ], axis = 1 )
522523 df2 = df2 .set_index ("date" )
@@ -526,17 +527,18 @@ def analyze_trade_parallelism(results: pd.DataFrame, timeframe: str) -> pd.DataF
526527
527528
528529def evaluate_result_multi (
529- results : pd .DataFrame , timeframe : str , max_open_trades : IntOrInf
530+ trades : pd .DataFrame , timeframe : str , max_open_trades : IntOrInf
530531) -> pd .DataFrame :
531532 """
532533 Find overlapping trades by expanding each trade once per period it was open
533534 and then counting overlaps
534- :param results: Results Dataframe - can be loaded
535+ :param trades: Trades Dataframe - can be loaded from backtest, or created
536+ via trade_list_to_dataframe
535537 :param timeframe: Frequency used for the backtest
536538 :param max_open_trades: parameter max_open_trades used during backtest run
537539 :return: dataframe with open-counts per time-period in freq
538540 """
539- df_final = analyze_trade_parallelism (results , timeframe )
541+ df_final = analyze_trade_parallelism (trades , timeframe )
540542 return df_final [df_final ["open_trades" ] > max_open_trades ]
541543
542544
0 commit comments