Skip to content

Commit a363afe

Browse files
committed
Add current trade metrics
1 parent f4e52f3 commit a363afe

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

investing_algorithm_framework/services/metrics/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
get_worst_trade, get_average_trade_gain, get_median_trade_return, \
3636
get_average_trade_loss, get_current_average_trade_loss, \
3737
get_current_average_trade_duration, get_current_average_trade_gain, \
38-
get_current_average_trade_return
38+
get_current_average_trade_return, get_number_of_open_trades, \
39+
get_average_trade_duration
3940

4041
__all__ = [
4142
"get_annual_volatility",
@@ -106,4 +107,6 @@
106107
"get_current_average_trade_duration",
107108
"get_current_average_trade_gain",
108109
"get_current_average_trade_return",
110+
"get_number_of_open_trades",
111+
"get_average_trade_duration",
109112
]

investing_algorithm_framework/services/metrics/generate.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
from .sharpe_ratio import get_sharpe_ratio, get_rolling_sharpe_ratio
2424
from .sortino_ratio import get_sortino_ratio
2525
from .volatility import get_annual_volatility
26-
from .win_rate import get_win_rate, get_win_loss_ratio
26+
from .win_rate import get_win_rate, get_win_loss_ratio, get_current_win_rate, \
27+
get_current_win_loss_ratio
2728
from .trades import get_average_trade_duration, get_average_trade_size, \
2829
get_number_of_trades, get_positive_trades, get_number_of_closed_trades, \
2930
get_negative_trades, get_average_trade_return, get_number_of_open_trades, \
@@ -105,7 +106,9 @@ def create_backtest_metrics(
105106
"number_of_trades_opened",
106107
"number_of_trades_open_at_end",
107108
"win_rate",
109+
"current_win_rate",
108110
"win_loss_ratio",
111+
"current_win_loss_ratio",
109112
"percentage_winning_months",
110113
"percentage_winning_years",
111114
"average_monthly_return",
@@ -295,7 +298,9 @@ def safe_set(metric_name, func, *args, index=None):
295298
safe_set("best_trade", get_best_trade, backtest_run.trades)
296299
safe_set("worst_trade", get_worst_trade, backtest_run.trades)
297300
safe_set("win_rate", get_win_rate, backtest_run.trades)
301+
safe_set("current_win_rate", get_current_win_rate, backtest_run.trades, backtest_run)
298302
safe_set("win_loss_ratio", get_win_loss_ratio, backtest_run.trades)
303+
safe_set("current_win_loss_ratio", get_current_win_loss_ratio, backtest_run.trades, backtest_run)
299304
safe_set("percentage_winning_months", get_percentage_winning_months, backtest_run.portfolio_snapshots)
300305
safe_set("percentage_winning_years", get_percentage_winning_years, backtest_run.portfolio_snapshots)
301306
safe_set("average_monthly_return", get_average_monthly_return, backtest_run.portfolio_snapshots)

0 commit comments

Comments
 (0)