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.

@@ -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
- """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: investing-algorithm-framework
3
- Version: 7.16.16
3
+ Version: 7.16.18
4
4
  Summary: A framework for creating trading bots
5
5
  Author: MDUYN
6
6
  Requires-Python: >=3.10
@@ -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=HR0bEDT3xh-TQq50PLDcKhYggjtnE-JTRuY2TlXz54w,19552
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=BupJ1WKiqdZTe3CEPjHJ7j0Bg-eeJcTE29kKkVvZ1y0,6686
94
- investing_algorithm_framework/domain/backtesting/combine_backtests.py,sha256=JjqlAu6ae565s-ccjHY1SdHgz0vc22g1awFYBdbpacM,9726
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.16.dist-info/LICENSE,sha256=wbVEDvoZiMPHufRY3sLEffvAr7GH5hOIngHF8y4HFQg,11343
256
- investing_algorithm_framework-7.16.16.dist-info/METADATA,sha256=bUNbBjEOkm-7hSahusMumxbpH9RLqaGW_zQivaCbRIs,19636
257
- investing_algorithm_framework-7.16.16.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
258
- investing_algorithm_framework-7.16.16.dist-info/entry_points.txt,sha256=jrPF0YksDs27vYzEvj3tXLe3OGWU24EJA05z5xHqmq8,91
259
- investing_algorithm_framework-7.16.16.dist-info/RECORD,,
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,,