investing-algorithm-framework 7.16.16__py3-none-any.whl → 7.16.18__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of investing-algorithm-framework might be problematic. Click here for more details.
- investing_algorithm_framework/domain/backtesting/backtest_metrics.py +2 -0
- investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py +2 -0
- investing_algorithm_framework/domain/backtesting/combine_backtests.py +5 -15
- {investing_algorithm_framework-7.16.16.dist-info → investing_algorithm_framework-7.16.18.dist-info}/METADATA +1 -1
- {investing_algorithm_framework-7.16.16.dist-info → investing_algorithm_framework-7.16.18.dist-info}/RECORD +8 -8
- {investing_algorithm_framework-7.16.16.dist-info → investing_algorithm_framework-7.16.18.dist-info}/LICENSE +0 -0
- {investing_algorithm_framework-7.16.16.dist-info → investing_algorithm_framework-7.16.18.dist-info}/WHEEL +0 -0
- {investing_algorithm_framework-7.16.16.dist-info → investing_algorithm_framework-7.16.18.dist-info}/entry_points.txt +0 -0
|
@@ -286,6 +286,8 @@ class BacktestMetrics:
|
|
|
286
286
|
"average_trade_duration": self.average_trade_duration,
|
|
287
287
|
"average_trade_size": self.average_trade_size,
|
|
288
288
|
"number_of_trades": self.number_of_trades,
|
|
289
|
+
"number_of_trades_closed": self.number_of_trades_closed,
|
|
290
|
+
"number_of_trades_opened": self.number_of_trades_opened,
|
|
289
291
|
"win_rate": self.win_rate,
|
|
290
292
|
"win_loss_ratio": self.win_loss_ratio,
|
|
291
293
|
"percentage_winning_months": self.percentage_winning_months,
|
|
@@ -83,6 +83,7 @@ class BacktestSummaryMetrics:
|
|
|
83
83
|
win_rate: float = None
|
|
84
84
|
win_loss_ratio: float = None
|
|
85
85
|
number_of_trades: int = None
|
|
86
|
+
number_of_trades_closed: int = None
|
|
86
87
|
cumulative_exposure: float = None
|
|
87
88
|
exposure_ratio: float = None
|
|
88
89
|
|
|
@@ -124,6 +125,7 @@ class BacktestSummaryMetrics:
|
|
|
124
125
|
"win_rate": self.win_rate,
|
|
125
126
|
"win_loss_ratio": self.win_loss_ratio,
|
|
126
127
|
"number_of_trades": self.number_of_trades,
|
|
128
|
+
"number_of_trades_closed": self.number_of_trades_closed,
|
|
127
129
|
"cumulative_exposure": self.cumulative_exposure,
|
|
128
130
|
"exposure_ratio": self.exposure_ratio,
|
|
129
131
|
}
|
|
@@ -192,6 +192,10 @@ def generate_backtest_summary_metrics(
|
|
|
192
192
|
b.number_of_trades for b in backtest_metrics
|
|
193
193
|
if b.number_of_trades is not None
|
|
194
194
|
)
|
|
195
|
+
number_of_trades_closed = sum(
|
|
196
|
+
b.number_of_trades_closed for b in backtest_metrics
|
|
197
|
+
if b.number_of_trades_closed is not None
|
|
198
|
+
)
|
|
195
199
|
cumulative_exposure = safe_weighted_mean(
|
|
196
200
|
[b.cumulative_exposure for b in backtest_metrics],
|
|
197
201
|
[b.total_number_of_days for b in backtest_metrics]
|
|
@@ -249,6 +253,7 @@ def generate_backtest_summary_metrics(
|
|
|
249
253
|
win_rate=win_rate,
|
|
250
254
|
win_loss_ratio=win_loss_ratio,
|
|
251
255
|
number_of_trades=number_of_trades,
|
|
256
|
+
number_of_trades_closed=number_of_trades_closed,
|
|
252
257
|
cumulative_exposure=cumulative_exposure,
|
|
253
258
|
exposure_ratio=exposure_ratio,
|
|
254
259
|
average_trade_return=average_trade_return,
|
|
@@ -258,18 +263,3 @@ def generate_backtest_summary_metrics(
|
|
|
258
263
|
average_trade_gain=average_trade_gain,
|
|
259
264
|
average_trade_gain_percentage=average_trade_gain_percentage
|
|
260
265
|
)
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
def create_backtest_summary_metrics(
|
|
264
|
-
backtest_metrics: List[BacktestMetrics]
|
|
265
|
-
) -> BacktestSummaryMetrics:
|
|
266
|
-
"""
|
|
267
|
-
Create a combined BacktestSummaryMetrics from multiple backtests.
|
|
268
|
-
|
|
269
|
-
Args:
|
|
270
|
-
backtest_metrics (List[BacktestMetrics]): List of BacktestMetrics
|
|
271
|
-
instances.
|
|
272
|
-
|
|
273
|
-
Returns:
|
|
274
|
-
BacktestSummaryMetrics: Combined summary metrics.
|
|
275
|
-
"""
|
|
@@ -87,11 +87,11 @@ investing_algorithm_framework/domain/backtesting/__init__.py,sha256=q-NejGHzE233
|
|
|
87
87
|
investing_algorithm_framework/domain/backtesting/backtest.py,sha256=mS7JdPTXhw5AQrQ-krXWtpNsBbVVYkxc1lBSoPhCqoQ,15617
|
|
88
88
|
investing_algorithm_framework/domain/backtesting/backtest_date_range.py,sha256=e_V7HMdtln4uu87jwwa_Yr7ZesgrpFqsEqtr0e0DTto,3186
|
|
89
89
|
investing_algorithm_framework/domain/backtesting/backtest_evaluation_focuss.py,sha256=D__3I_TSxDVnGtlddmWt4wHcqut8MGyYMf1IfQZXYJ0,7547
|
|
90
|
-
investing_algorithm_framework/domain/backtesting/backtest_metrics.py,sha256=
|
|
90
|
+
investing_algorithm_framework/domain/backtesting/backtest_metrics.py,sha256=Azg1VsoeQPbvaDJPp7efNsyRdWjnJ24DripizjnOG2s,19690
|
|
91
91
|
investing_algorithm_framework/domain/backtesting/backtest_permutation_test.py,sha256=8JXdu3EgFh2f2Yc41OYwIBwlYtjFiumyAJUrN5kL078,6703
|
|
92
92
|
investing_algorithm_framework/domain/backtesting/backtest_run.py,sha256=ffQgilEkyixGrGvKeCZF670OPoY3ljixlgsXPajHpZY,14310
|
|
93
|
-
investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py,sha256=
|
|
94
|
-
investing_algorithm_framework/domain/backtesting/combine_backtests.py,sha256=
|
|
93
|
+
investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py,sha256=OUZPh9uYPxorb45vlkrt5Sc2unx2hSzGmzqDrEu3w-I,6795
|
|
94
|
+
investing_algorithm_framework/domain/backtesting/combine_backtests.py,sha256=WLegkqPGiVGdw_XBTRLPZkRouXOij-ftnX_QcbRj8ZY,9555
|
|
95
95
|
investing_algorithm_framework/domain/config.py,sha256=_VkaJvrdqIKAT3_l-Y8XTEKNEaw5uVIwQ7vxomuCpUw,3003
|
|
96
96
|
investing_algorithm_framework/domain/constants.py,sha256=-ZU0z1DSgJaUQvkp_ELZslqD0D-scASz7uhdXRbR8Tc,2610
|
|
97
97
|
investing_algorithm_framework/domain/data_provider.py,sha256=PJPbG6qWbHoGqJskVX8oCB-1FKdf67AZ21eDjcmSNGc,10739
|
|
@@ -252,8 +252,8 @@ investing_algorithm_framework/services/trade_order_evaluator/default_trade_order
|
|
|
252
252
|
investing_algorithm_framework/services/trade_order_evaluator/trade_order_evaluator.py,sha256=pNnmgaKMR9RY6Kxq7xS0nURKoaQDe2ehrP5GfElkkcI,1328
|
|
253
253
|
investing_algorithm_framework/services/trade_service/__init__.py,sha256=AcwPyJjDRdiREnl_MWMkDSc-V-ZjXtvpHD6eQT9mc1o,68
|
|
254
254
|
investing_algorithm_framework/services/trade_service/trade_service.py,sha256=OtzIS5EebByGcqDvV2AFeBjXSarvrgubMXDaVKg6Rbw,41193
|
|
255
|
-
investing_algorithm_framework-7.16.
|
|
256
|
-
investing_algorithm_framework-7.16.
|
|
257
|
-
investing_algorithm_framework-7.16.
|
|
258
|
-
investing_algorithm_framework-7.16.
|
|
259
|
-
investing_algorithm_framework-7.16.
|
|
255
|
+
investing_algorithm_framework-7.16.18.dist-info/LICENSE,sha256=wbVEDvoZiMPHufRY3sLEffvAr7GH5hOIngHF8y4HFQg,11343
|
|
256
|
+
investing_algorithm_framework-7.16.18.dist-info/METADATA,sha256=S6e185_nML_JbCxlRiHeMAmVG6anxABPrqMTE47jrP8,19636
|
|
257
|
+
investing_algorithm_framework-7.16.18.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
258
|
+
investing_algorithm_framework-7.16.18.dist-info/entry_points.txt,sha256=jrPF0YksDs27vYzEvj3tXLe3OGWU24EJA05z5xHqmq8,91
|
|
259
|
+
investing_algorithm_framework-7.16.18.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|