investing-algorithm-framework 3.7.1__tar.gz → 3.7.2__tar.gz
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.
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/PKG-INFO +1 -1
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/time_frame.py +9 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/market_data_sources.py +11 -3
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/market_data_sources/ccxt.py +2 -2
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/services/market_service/ccxt_market_service.py +5 -3
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/pyproject.toml +1 -1
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/LICENSE +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/README.md +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/algorithm.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/app.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/strategy.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/dependency_container.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/constants.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/exceptions.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/graphs.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/metrics/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/metrics/price_efficiency.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/backtesting/backtest_date_range.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/backtesting/backtest_position.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/backtesting/backtest_report.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/backtesting/backtest_reports_evaluation.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/order/order.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/trading_data_types.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/models/trading_time_frame.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/market_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/singleton.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/backtesting.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/market_data_sources/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/market_data_sources/csv.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/market_data_sources/us_treasury_yield.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/services/market_service/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/services/performance_service/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/services/performance_service/backtest_performance_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/infrastructure/services/performance_service/performance_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/backtesting/backtest_report_writer_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/backtesting/graphs.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/configuration_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/market_data_source_service/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/market_data_source_service/backtest_market_data_source_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/market_data_source_service/market_data_source_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/order_service/order_backtest_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/order_service/order_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/position_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/strategy_orchestrator_service.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
- {investing_algorithm_framework-3.7.1 → investing_algorithm_framework-3.7.2}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
|
@@ -36,6 +36,15 @@ class TimeFrame(Enum):
|
|
|
36
36
|
if value == entry.value.replace("H", "h"):
|
|
37
37
|
return entry
|
|
38
38
|
|
|
39
|
+
# For hour timeframes compare with and without H
|
|
40
|
+
if "d" in entry.value:
|
|
41
|
+
|
|
42
|
+
if value == entry.value:
|
|
43
|
+
return entry
|
|
44
|
+
|
|
45
|
+
if value == entry.value.replace("d", "D"):
|
|
46
|
+
return entry
|
|
47
|
+
|
|
39
48
|
if value == entry.value:
|
|
40
49
|
return entry
|
|
41
50
|
|
|
@@ -243,9 +243,7 @@ class OHLCVMarketDataSource(MarketDataSource, ABC):
|
|
|
243
243
|
symbol=symbol,
|
|
244
244
|
)
|
|
245
245
|
self._window_size = window_size
|
|
246
|
-
|
|
247
|
-
if timeframe is not None:
|
|
248
|
-
self._timeframe = TimeFrame.from_value(timeframe)
|
|
246
|
+
self._timeframe = timeframe
|
|
249
247
|
|
|
250
248
|
@property
|
|
251
249
|
def timeframe(self):
|
|
@@ -266,6 +264,16 @@ class OHLCVMarketDataSource(MarketDataSource, ABC):
|
|
|
266
264
|
def window_size(self):
|
|
267
265
|
return self._window_size
|
|
268
266
|
|
|
267
|
+
@window_size.setter
|
|
268
|
+
def window_size(self, value):
|
|
269
|
+
|
|
270
|
+
if not isinstance(value, int):
|
|
271
|
+
raise OperationalException(
|
|
272
|
+
"Window size must be an integer"
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
self._window_size = value
|
|
276
|
+
|
|
269
277
|
def get_date_ranges(
|
|
270
278
|
self,
|
|
271
279
|
start_date: datetime,
|
|
@@ -119,7 +119,7 @@ class CCXTOHLCVBacktestMarketDataSource(
|
|
|
119
119
|
market_service.config = config
|
|
120
120
|
ohlcv = market_service.get_ohlcv(
|
|
121
121
|
symbol=self.symbol,
|
|
122
|
-
time_frame=self.timeframe
|
|
122
|
+
time_frame=self.timeframe,
|
|
123
123
|
from_timestamp=backtest_data_start_date,
|
|
124
124
|
to_timestamp=backtest_end_date,
|
|
125
125
|
market=self.market
|
|
@@ -142,7 +142,7 @@ class CCXTOHLCVBacktestMarketDataSource(
|
|
|
142
142
|
OHLCV_{symbol}_{market}_{timeframe}_{start_date}_{end_date}.csv
|
|
143
143
|
"""
|
|
144
144
|
symbol_string = self.symbol.replace("/", "-")
|
|
145
|
-
time_frame_string = self.timeframe.
|
|
145
|
+
time_frame_string = self.timeframe.replace("_", "")
|
|
146
146
|
backtest_data_start_date = \
|
|
147
147
|
self.backtest_data_start_date.strftime(DATETIME_FORMAT_BACKTESTING)
|
|
148
148
|
backtest_data_end_date = \
|
|
@@ -8,7 +8,7 @@ import polars as pl
|
|
|
8
8
|
from dateutil import parser
|
|
9
9
|
|
|
10
10
|
from investing_algorithm_framework.domain import OperationalException, Order, \
|
|
11
|
-
MarketService, DATETIME_FORMAT
|
|
11
|
+
MarketService, DATETIME_FORMAT
|
|
12
12
|
|
|
13
13
|
logger = logging.getLogger(__name__)
|
|
14
14
|
|
|
@@ -356,7 +356,6 @@ class CCXTMarketService(MarketService):
|
|
|
356
356
|
def get_ohlcv(
|
|
357
357
|
self, symbol, time_frame, from_timestamp, market, to_timestamp=None
|
|
358
358
|
) -> pl.DataFrame:
|
|
359
|
-
time_frame = TimeFrame.from_value(time_frame).value
|
|
360
359
|
|
|
361
360
|
if self.config is not None and "DATETIME_FORMAT" in self.config:
|
|
362
361
|
datetime_format = self.config["DATETIME_FORMAT"]
|
|
@@ -414,6 +413,10 @@ class CCXTMarketService(MarketService):
|
|
|
414
413
|
# Combine the Series into a DataFrame with given column names
|
|
415
414
|
df = pl.DataFrame(data)
|
|
416
415
|
|
|
416
|
+
# Check if width is 0
|
|
417
|
+
if len(df) == 0:
|
|
418
|
+
return df
|
|
419
|
+
|
|
417
420
|
# Assign column names after DataFrame creation
|
|
418
421
|
df.columns = col_names
|
|
419
422
|
return df
|
|
@@ -427,7 +430,6 @@ class CCXTMarketService(MarketService):
|
|
|
427
430
|
to_timestamp=None
|
|
428
431
|
) -> Dict[str, pl.DataFrame]:
|
|
429
432
|
ohlcvs = {}
|
|
430
|
-
time_frame = TimeFrame.from_value(time_frame).value
|
|
431
433
|
|
|
432
434
|
for symbol in symbols:
|
|
433
435
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|