investing-algorithm-framework 6.0.0__tar.gz → 6.0.1__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-6.0.0 → investing_algorithm_framework-6.0.1}/PKG-INFO +1 -1
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/context.py +7 -7
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/strategy.py +12 -51
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/pyproject.toml +1 -1
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/LICENSE +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/README.md +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/algorithm.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/app.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/create_azure_function_app_skeleton.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/deploy_to_azure_function.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/templates/azure_function_framework_app.py.template +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/templates/azure_function_host.json.template +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/templates/azure_function_local.settings.json.template +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/cli/templates/azure_function_requirements.txt.template +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/dependency_container.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/constants.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/exceptions.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/metrics/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/metrics/price_efficiency.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/backtesting/backtest_date_range.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/backtesting/backtest_position.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/backtesting/backtest_report.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/backtesting/backtest_reports_evaluation.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/date_range.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/market_data_type.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/order/order.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trade/trade_risk_type.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trade/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trading_data_types.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/models/trading_time_frame.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/market_data_sources.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/market_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/singleton.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/backtesting.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/polars.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/indicators/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/indicators/advanced.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/indicators/momentum.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/indicators/trend.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/indicators/utils.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/ccxt.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/csv.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/pandas.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/market_data_sources/us_treasury_yield.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/order/order_metadata.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/order_trade_association.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/portfolio/sql_portfolio.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/trades/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/trades/trade.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/models/trades/trade_take_profit.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/order_metadata_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/trade_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/trade_stop_loss_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/repositories/trade_take_profit_repository.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/azure/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/azure/state_handler.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/market_service/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/market_service/ccxt_market_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/performance_service/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/performance_service/backtest_performance_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/infrastructure/services/performance_service/performance_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/configuration_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/market_data_source_service/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/market_data_source_service/backtest_market_data_source_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/market_data_source_service/market_data_source_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/order_service/order_backtest_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/order_service/order_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/position_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/strategy_orchestrator_service.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
- {investing_algorithm_framework-6.0.0 → investing_algorithm_framework-6.0.1}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
|
@@ -74,7 +74,7 @@ class Context:
|
|
|
74
74
|
execute=True,
|
|
75
75
|
validate=True,
|
|
76
76
|
sync=True
|
|
77
|
-
):
|
|
77
|
+
) -> Order:
|
|
78
78
|
"""
|
|
79
79
|
Function to create an order. This function will create an order
|
|
80
80
|
and execute it if the execute parameter is set to True. If the
|
|
@@ -157,7 +157,7 @@ class Context:
|
|
|
157
157
|
execute=True,
|
|
158
158
|
validate=True,
|
|
159
159
|
sync=True
|
|
160
|
-
):
|
|
160
|
+
) -> Order:
|
|
161
161
|
"""
|
|
162
162
|
Function to create a limit order. This function will create a limit
|
|
163
163
|
order and execute it if the execute parameter is set to True. If the
|
|
@@ -516,7 +516,7 @@ class Context:
|
|
|
516
516
|
amount_gte=None,
|
|
517
517
|
amount_lt=None,
|
|
518
518
|
amount_lte=None
|
|
519
|
-
):
|
|
519
|
+
) -> bool:
|
|
520
520
|
"""
|
|
521
521
|
Function to check if a position exists. This function will return
|
|
522
522
|
True if a position exists, False otherwise. This function will check
|
|
@@ -677,7 +677,7 @@ class Context:
|
|
|
677
677
|
|
|
678
678
|
def close_position(
|
|
679
679
|
self, symbol, market=None, identifier=None, precision=None
|
|
680
|
-
):
|
|
680
|
+
) -> Order:
|
|
681
681
|
"""
|
|
682
682
|
Function to close a position. This function will close a position
|
|
683
683
|
by creating a market order to sell the position. If the precision
|
|
@@ -716,7 +716,7 @@ class Context:
|
|
|
716
716
|
ticker = self.market_data_source_service.get_ticker(
|
|
717
717
|
symbol=symbol, market=market
|
|
718
718
|
)
|
|
719
|
-
self.create_limit_order(
|
|
719
|
+
return self.create_limit_order(
|
|
720
720
|
target_symbol=position.symbol,
|
|
721
721
|
amount=position.get_amount(),
|
|
722
722
|
order_side=OrderSide.SELL.value,
|
|
@@ -1137,7 +1137,7 @@ class Context:
|
|
|
1137
1137
|
)
|
|
1138
1138
|
return self.trade_service.get(trade.id)
|
|
1139
1139
|
|
|
1140
|
-
def close_trade(self, trade, precision=None) ->
|
|
1140
|
+
def close_trade(self, trade, precision=None) -> Order:
|
|
1141
1141
|
"""
|
|
1142
1142
|
Function to close a trade. This function will close a trade by
|
|
1143
1143
|
creating a market order to sell the position. If the precision
|
|
@@ -1183,7 +1183,7 @@ class Context:
|
|
|
1183
1183
|
symbol=trade.symbol, market=portfolio.market
|
|
1184
1184
|
)
|
|
1185
1185
|
|
|
1186
|
-
self.order_service.create(
|
|
1186
|
+
return self.order_service.create(
|
|
1187
1187
|
{
|
|
1188
1188
|
"portfolio_id": portfolio.id,
|
|
1189
1189
|
"trading_symbol": trade.trading_symbol,
|
|
@@ -2,10 +2,9 @@ from typing import List
|
|
|
2
2
|
import pandas as pd
|
|
3
3
|
from datetime import datetime, timezone
|
|
4
4
|
|
|
5
|
-
from investing_algorithm_framework.domain import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
BACKTESTING_INDEX_DATETIME
|
|
5
|
+
from investing_algorithm_framework.domain import TimeUnit, StrategyProfile, \
|
|
6
|
+
Trade, ENVIRONMENT, Environment, BACKTESTING_INDEX_DATETIME, Order, \
|
|
7
|
+
OperationalException, Position
|
|
9
8
|
from .context import Context
|
|
10
9
|
|
|
11
10
|
|
|
@@ -310,7 +309,7 @@ class TradingStrategy:
|
|
|
310
309
|
execute=True,
|
|
311
310
|
validate=True,
|
|
312
311
|
sync=True
|
|
313
|
-
):
|
|
312
|
+
) -> Order:
|
|
314
313
|
"""
|
|
315
314
|
Function to create a limit order. This function will create
|
|
316
315
|
a limit order and execute it if the execute parameter is set to True.
|
|
@@ -342,7 +341,7 @@ class TradingStrategy:
|
|
|
342
341
|
Returns:
|
|
343
342
|
Order: Instance of the order created
|
|
344
343
|
"""
|
|
345
|
-
self.context.create_limit_order(
|
|
344
|
+
return self.context.create_limit_order(
|
|
346
345
|
target_symbol=target_symbol,
|
|
347
346
|
price=price,
|
|
348
347
|
order_side=order_side,
|
|
@@ -358,47 +357,9 @@ class TradingStrategy:
|
|
|
358
357
|
sync=sync
|
|
359
358
|
)
|
|
360
359
|
|
|
361
|
-
def create_market_order(
|
|
362
|
-
self,
|
|
363
|
-
target_symbol,
|
|
364
|
-
order_side,
|
|
365
|
-
amount,
|
|
366
|
-
market=None,
|
|
367
|
-
execute=False,
|
|
368
|
-
validate=False,
|
|
369
|
-
sync=True
|
|
370
|
-
):
|
|
371
|
-
"""
|
|
372
|
-
Function to create a market order. This function will create a market
|
|
373
|
-
order and execute it if the execute parameter is set to True. If the
|
|
374
|
-
validate parameter is set to True, the order will be validated
|
|
375
|
-
|
|
376
|
-
Args:
|
|
377
|
-
target_symbol: The symbol of the asset to trade
|
|
378
|
-
order_side: The side of the order
|
|
379
|
-
amount: The amount of the asset to trade
|
|
380
|
-
market: The market to trade the asset
|
|
381
|
-
execute: If set to True, the order will be executed
|
|
382
|
-
validate: If set to True, the order will be validated
|
|
383
|
-
sync: If set to True, the created order will be synced with the
|
|
384
|
-
portfolio of the context
|
|
385
|
-
|
|
386
|
-
Returns:
|
|
387
|
-
Order: Instance of the order created
|
|
388
|
-
"""
|
|
389
|
-
self.context.create_market_order(
|
|
390
|
-
target_symbol=target_symbol,
|
|
391
|
-
order_side=order_side,
|
|
392
|
-
amount=amount,
|
|
393
|
-
market=market,
|
|
394
|
-
execute=execute,
|
|
395
|
-
validate=validate,
|
|
396
|
-
sync=sync
|
|
397
|
-
)
|
|
398
|
-
|
|
399
360
|
def close_position(
|
|
400
361
|
self, symbol, market=None, identifier=None, precision=None
|
|
401
|
-
):
|
|
362
|
+
) -> Order:
|
|
402
363
|
"""
|
|
403
364
|
Function to close a position. This function will close a position
|
|
404
365
|
by creating a market order to sell the position. If the precision
|
|
@@ -414,7 +375,7 @@ class TradingStrategy:
|
|
|
414
375
|
Returns:
|
|
415
376
|
None
|
|
416
377
|
"""
|
|
417
|
-
self.context.close_position(
|
|
378
|
+
return self.context.close_position(
|
|
418
379
|
symbol=symbol,
|
|
419
380
|
market=market,
|
|
420
381
|
identifier=identifier,
|
|
@@ -509,7 +470,7 @@ class TradingStrategy:
|
|
|
509
470
|
"""
|
|
510
471
|
return self.context.get_open_trades(target_symbol, market)
|
|
511
472
|
|
|
512
|
-
def close_trade(self, trade, market=None, precision=None) ->
|
|
473
|
+
def close_trade(self, trade, market=None, precision=None) -> Order:
|
|
513
474
|
"""
|
|
514
475
|
Function to close a trade. This function will close a trade by
|
|
515
476
|
creating a market order to sell the position. If the precision
|
|
@@ -524,11 +485,11 @@ class TradingStrategy:
|
|
|
524
485
|
Returns:
|
|
525
486
|
None
|
|
526
487
|
"""
|
|
527
|
-
self.context.close_trade(
|
|
488
|
+
return self.context.close_trade(
|
|
528
489
|
trade=trade, market=market, precision=precision
|
|
529
490
|
)
|
|
530
491
|
|
|
531
|
-
def get_number_of_positions(self):
|
|
492
|
+
def get_number_of_positions(self) -> int:
|
|
532
493
|
"""
|
|
533
494
|
Returns the number of positions that have a positive amount.
|
|
534
495
|
|
|
@@ -571,7 +532,7 @@ class TradingStrategy:
|
|
|
571
532
|
amount_gte=None,
|
|
572
533
|
amount_lt=None,
|
|
573
534
|
amount_lte=None
|
|
574
|
-
):
|
|
535
|
+
) -> bool:
|
|
575
536
|
"""
|
|
576
537
|
Function to check if a position exists. This function will return
|
|
577
538
|
True if a position exists, False otherwise. This function will check
|
|
@@ -601,7 +562,7 @@ class TradingStrategy:
|
|
|
601
562
|
amount_lte=amount_lte
|
|
602
563
|
)
|
|
603
564
|
|
|
604
|
-
def has_balance(self, symbol, amount, market=None):
|
|
565
|
+
def has_balance(self, symbol, amount, market=None) -> bool:
|
|
605
566
|
"""
|
|
606
567
|
Function to check if the portfolio has enough balance to
|
|
607
568
|
create an order. This function will return True if the
|
|
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
|
|
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
|