investing-algorithm-framework 8.7.2__tar.gz → 8.8.0__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-8.7.2 → investing_algorithm_framework-8.8.0}/PKG-INFO +18 -17
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/README.md +17 -16
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/__init__.py +5 -1
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/app.py +94 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/context.py +335 -13
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/eventloop.py +89 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/backtest_report.py +23 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/dashboard.js +52 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/deploy_to_azure_function.py +107 -46
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/initialize_app.py +123 -14
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/.gitignore.template +11 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/app.py.template +1 -1
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +48 -0
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/app_azure_function.py.template +35 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/app_web.py.template +1 -1
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +52 -0
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/azure_function_host.json.template +21 -0
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/data_providers.py.template +40 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/run_backtest.py.template +1 -1
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/strategy.py.template +105 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/dependency_container.py +7 -1
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/__init__.py +7 -2
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest.py +11 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_metrics.py +23 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/exceptions.py +30 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/__init__.py +4 -1
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/data/data_source.py +23 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order.py +32 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order_type.py +2 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/__init__.py +3 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +6 -0
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/domain/models/portfolio/sync.py +111 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/base_url.py +32 -2
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order/order.py +4 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/order_executors/ccxt_order_executor.py +38 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/repository.py +2 -1
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/vector_backtest_service.py +74 -2
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/__init__.py +3 -1
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/__init__.py +5 -3
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/metrics/_returns_helper.py +70 -0
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/metrics/cagr.py +81 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/drawdown.py +108 -1
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/metrics/equity_curve.py +77 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/generate.py +35 -13
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/mean_daily_return.py +19 -7
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/returns.py +45 -16
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/sharpe_ratio.py +4 -5
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/standard_deviation.py +31 -55
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/value_at_risk.py +14 -8
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/volatility.py +16 -35
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/order_backtest_service.py +31 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/order_service.py +69 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/__init__.py +3 -1
- investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/portfolios/broker_balance_tracker.py +330 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_order_evaluator/backtest_trade_oder_evaluator.py +63 -1
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/pyproject.toml +1 -1
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +0 -48
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/app_azure_function.py.template +0 -14
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +0 -65
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/azure_function_host.json.template +0 -15
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/data_providers.py.template +0 -17
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/strategy.py.template +0 -124
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/services/metrics/cagr.py +0 -60
- investing_algorithm_framework-8.7.2/investing_algorithm_framework/services/metrics/equity_curve.py +0 -27
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/LICENSE +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/backtest_data_ranges.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/markdown.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/ranking.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/algorithm/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/algorithm/algorithm.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/algorithm/algorithm_factory.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/app_hook.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/ascii.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/backtest_report_old.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/entry_exist_signals.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/equity_curve.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/equity_curve_drawdown.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/line_chart.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/monthly_returns_heatmap.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/ohlcv_data_completeness.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/rolling_sharp_ratio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/yearly_returns_barchart.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/generate.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/key_metrics_table.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/stop_loss_table.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/time_metrics_table.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/trade_metrics_table.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/trades_table.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/utils.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/dashboard.css +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/dashboard_template.html.j2 +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/report_template.html.j2 +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/strategy.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/cli.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/deploy_to_aws_lambda.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/mcp_server.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerfile.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerignore.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_readme.md.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_requirements.txt.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/azure_function_local.settings.json.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/azure_function_requirements.txt.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/env.example.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/env_azure_function.example.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/market_data_providers.py.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/readme.md.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/requirements.txt.template +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/validate_backtest_checkpoints.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/algorithm_id.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_date_range.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_evaluation_focuss.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_permutation_test.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_run.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_utils.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/bundle.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/combine_backtests.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/consistency.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/templates/backtest.html +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/templates/finterion-dark.png +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/templates/finterion-light.png +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/blotter.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/constants.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/data_provider.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/datetime_parsing.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/fx.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/data/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/data/data_type.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/event.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/position_size.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/scaling_rule.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/stop_loss_rule.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/take_profit_rule.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/trading_cost.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/snapshot_interval.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/order_executor.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/custom_factor.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/factor.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/factors/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/factors/builtin.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/filter.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/pipeline.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/portfolio_provider.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/state_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/custom_tqdm.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/dates.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/jupyter_notebook_detection.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/polars.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/download_data.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/alpha_vantage.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/ccxt.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/csv.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/csv_url.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/json_url.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/ohlcv_base.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/pandas.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/parquet_url.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/polygon.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/yahoo.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order/trade_allocation.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order_trade_association.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/portfolio/sql_portfolio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/trade.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/trade_take_profit.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/order_executors/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/portfolio_providers/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/portfolio_providers/ccxt_portfolio_provider.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_allocation_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_stop_loss_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_take_profit_repository.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/aws/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/aws/state_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/azure/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/azure/state_handler.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/checkpoint_manifest.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/event_backtest_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/notebook/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/notebook/magic.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/configuration_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/data_providers/data.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/data_providers/data_provider_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/alpha.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/beta.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/calmar_ratio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/consistency.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/exposure.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/price_efficiency.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/profit_factor.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/recovery.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/risk_free_rate.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/sortino_ratio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/trades.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/treynor_ratio.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/ulcer.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/win_rate.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/order_executor_lookup.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/pipeline/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/pipeline/pipeline_engine.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/pipeline/vector_pipeline_engine.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_provider_lookup.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/positions/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/positions/position_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/positions/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_order_evaluator/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_order_evaluator/default_trade_order_evaluator.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_order_evaluator/trade_order_evaluator.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_service/trade_stop_loss_service.py +0 -0
- {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_service/trade_take_profit_service.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: investing-algorithm-framework
|
|
3
|
-
Version: 8.
|
|
3
|
+
Version: 8.8.0
|
|
4
4
|
Summary: A framework for creating trading bots
|
|
5
5
|
Author: MDUYN
|
|
6
6
|
Requires-Python: >=3.10,<4.0
|
|
@@ -114,23 +114,24 @@ This framework is built around the full loop: **create strategies → vector bac
|
|
|
114
114
|
Features
|
|
115
115
|
</summary> <br>
|
|
116
116
|
|
|
117
|
-
- 📊 **30+ Metrics** — CAGR, Sharpe, Sortino, Calmar, VaR, CVaR, Max DD, Recovery & more
|
|
117
|
+
- 📊 **[30+ Metrics](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/metrics)** — CAGR, Sharpe, Sortino, Calmar, VaR, CVaR, Max DD, Recovery & more
|
|
118
118
|
- 🧮 **[Cross-Sectional Pipelines](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/pipelines)** — Rank, filter and score entire universes of symbols every iteration with a tidy factor table
|
|
119
|
-
- ⚡ **Vector Backtesting for Signal Analysis** — Quickly test your strategy logic on historical data to see how signals would have behaved before committing to full event-driven backtests
|
|
120
|
-
- 🏃 **Event-Driven Backtesting** — Once promising strategies are identified via vector backtests, run full event-driven backtests to simulate realistic execution and portfolio management
|
|
121
|
-
- 🔀 **Permutation Testing / Monte Carlo Simulations** — Assess the statistical robustness of your strategies by running them across randomized market scenarios to see how often your results could occur by chance
|
|
122
|
-
- 🚀 **Deployment** — Once the best strategy is identified through backtesting and comparison, deploy it to production locally or in the cloud (AWS Lambda / Azure Functions) to start live trading
|
|
123
|
-
- ⚔️ **Multi-Strategy Comparison** — Rank, filter & compare strategies in a single interactive report
|
|
124
|
-
- 🪟 **Multi-Window Robustness** — Test across different time periods with window coverage analysis
|
|
125
|
-
- 📈 **Equity & Drawdown Charts** — Overlay equity curves, rolling Sharpe, drawdown & return distributions
|
|
126
|
-
- 🗓️ **Monthly Heatmaps & Yearly Returns** — Calendar heatmap per strategy with return/growth toggles
|
|
127
|
-
- 🎯 **Return Scenario Projections** — Good, average, bad & very bad year projections from backtest data
|
|
128
|
-
- 📉 **Benchmark Comparison** — Beat-rate analysis vs Buy & Hold, DCA, risk-free & custom benchmarks
|
|
129
|
-
- 📄 **One-Click HTML Report** — Self-contained file, no server, dark & light theme, shareable
|
|
130
|
-
- 📦 **Custom `.iafbt` Backtest Bundle Format** — An explicit, versioned, compressed, language-portable container (zstd + msgpack with magic-byte header) plus a separate parquet index for fast filtering without loading. ~21× smaller and ~27× fewer files than standard filebased directory layouts, with parallel I/O for fast load/save of large amounts of backtests.
|
|
131
|
-
- 🌐 **Load External Data** — Fetch CSV, JSON, or Parquet from any URL with caching and auto-refresh
|
|
132
|
-
- � **[
|
|
133
|
-
-
|
|
119
|
+
- ⚡ **[Vector Backtesting for Signal Analysis](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/vector-backtesting)** — Quickly test your strategy logic on historical data to see how signals would have behaved before committing to full event-driven backtests
|
|
120
|
+
- 🏃 **[Event-Driven Backtesting](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/event-backtesting)** — Once promising strategies are identified via vector backtests, run full event-driven backtests to simulate realistic execution and portfolio management
|
|
121
|
+
- 🔀 **[Permutation Testing / Monte Carlo Simulations](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Assess the statistical robustness of your strategies by running them across randomized market scenarios to see how often your results could occur by chance
|
|
122
|
+
- 🚀 **[Deployment](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/deployment)** — Once the best strategy is identified through backtesting and comparison, deploy it to production locally or in the cloud (AWS Lambda / Azure Functions) to start live trading
|
|
123
|
+
- ⚔️ **[Multi-Strategy Comparison](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Rank, filter & compare strategies in a single interactive report
|
|
124
|
+
- 🪟 **[Multi-Window Robustness](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Test across different time periods with window coverage analysis
|
|
125
|
+
- 📈 **[Equity & Drawdown Charts](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Overlay equity curves, rolling Sharpe, drawdown & return distributions
|
|
126
|
+
- 🗓️ **[Monthly Heatmaps & Yearly Returns](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Calendar heatmap per strategy with return/growth toggles
|
|
127
|
+
- 🎯 **[Return Scenario Projections](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Good, average, bad & very bad year projections from backtest data
|
|
128
|
+
- 📉 **[Benchmark Comparison](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Beat-rate analysis vs Buy & Hold, DCA, risk-free & custom benchmarks
|
|
129
|
+
- 📄 **[One-Click HTML Report](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Self-contained file, no server, dark & light theme, shareable
|
|
130
|
+
- 📦 **[Custom `.iafbt` Backtest Bundle Format](https://coding-kitties.github.io/investing-algorithm-framework/Data/backtest_data)** — An explicit, versioned, compressed, language-portable container (zstd + msgpack with magic-byte header) plus a separate parquet index for fast filtering without loading. ~21× smaller and ~27× fewer files than standard filebased directory layouts, with parallel I/O for fast load/save of large amounts of backtests.
|
|
131
|
+
- 🌐 **[Load External Data](https://coding-kitties.github.io/investing-algorithm-framework/Data/external-data)** — Fetch CSV, JSON, or Parquet from any URL with caching and auto-refresh
|
|
132
|
+
- � **[Per-Market Deposit Schedules & Portfolio Sync](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/portfolio-sync)** — Declare recurring or one-shot external cash flows on a market with `deposit_schedule=` / `auto_sync=True`. Backtests simulate the deposits; live mode reconciles with the broker — same `context.sync_portfolio()` API in both modes.
|
|
133
|
+
- �📝 **[Record Custom Variables](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/recording-variables)** — Track any indicator or metric during backtests with `context.record()`
|
|
134
|
+
- 🚀 **[Build → Backtest → Deploy](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/application-setup)** — Local dev, cloud deploy (AWS / Azure), or monetize on Finterion
|
|
134
135
|
|
|
135
136
|
</details>
|
|
136
137
|
|
|
@@ -70,23 +70,24 @@ This framework is built around the full loop: **create strategies → vector bac
|
|
|
70
70
|
Features
|
|
71
71
|
</summary> <br>
|
|
72
72
|
|
|
73
|
-
- 📊 **30+ Metrics** — CAGR, Sharpe, Sortino, Calmar, VaR, CVaR, Max DD, Recovery & more
|
|
73
|
+
- 📊 **[30+ Metrics](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/metrics)** — CAGR, Sharpe, Sortino, Calmar, VaR, CVaR, Max DD, Recovery & more
|
|
74
74
|
- 🧮 **[Cross-Sectional Pipelines](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/pipelines)** — Rank, filter and score entire universes of symbols every iteration with a tidy factor table
|
|
75
|
-
- ⚡ **Vector Backtesting for Signal Analysis** — Quickly test your strategy logic on historical data to see how signals would have behaved before committing to full event-driven backtests
|
|
76
|
-
- 🏃 **Event-Driven Backtesting** — Once promising strategies are identified via vector backtests, run full event-driven backtests to simulate realistic execution and portfolio management
|
|
77
|
-
- 🔀 **Permutation Testing / Monte Carlo Simulations** — Assess the statistical robustness of your strategies by running them across randomized market scenarios to see how often your results could occur by chance
|
|
78
|
-
- 🚀 **Deployment** — Once the best strategy is identified through backtesting and comparison, deploy it to production locally or in the cloud (AWS Lambda / Azure Functions) to start live trading
|
|
79
|
-
- ⚔️ **Multi-Strategy Comparison** — Rank, filter & compare strategies in a single interactive report
|
|
80
|
-
- 🪟 **Multi-Window Robustness** — Test across different time periods with window coverage analysis
|
|
81
|
-
- 📈 **Equity & Drawdown Charts** — Overlay equity curves, rolling Sharpe, drawdown & return distributions
|
|
82
|
-
- 🗓️ **Monthly Heatmaps & Yearly Returns** — Calendar heatmap per strategy with return/growth toggles
|
|
83
|
-
- 🎯 **Return Scenario Projections** — Good, average, bad & very bad year projections from backtest data
|
|
84
|
-
- 📉 **Benchmark Comparison** — Beat-rate analysis vs Buy & Hold, DCA, risk-free & custom benchmarks
|
|
85
|
-
- 📄 **One-Click HTML Report** — Self-contained file, no server, dark & light theme, shareable
|
|
86
|
-
- 📦 **Custom `.iafbt` Backtest Bundle Format** — An explicit, versioned, compressed, language-portable container (zstd + msgpack with magic-byte header) plus a separate parquet index for fast filtering without loading. ~21× smaller and ~27× fewer files than standard filebased directory layouts, with parallel I/O for fast load/save of large amounts of backtests.
|
|
87
|
-
- 🌐 **Load External Data** — Fetch CSV, JSON, or Parquet from any URL with caching and auto-refresh
|
|
88
|
-
- � **[
|
|
89
|
-
-
|
|
75
|
+
- ⚡ **[Vector Backtesting for Signal Analysis](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/vector-backtesting)** — Quickly test your strategy logic on historical data to see how signals would have behaved before committing to full event-driven backtests
|
|
76
|
+
- 🏃 **[Event-Driven Backtesting](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/event-backtesting)** — Once promising strategies are identified via vector backtests, run full event-driven backtests to simulate realistic execution and portfolio management
|
|
77
|
+
- 🔀 **[Permutation Testing / Monte Carlo Simulations](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Assess the statistical robustness of your strategies by running them across randomized market scenarios to see how often your results could occur by chance
|
|
78
|
+
- 🚀 **[Deployment](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/deployment)** — Once the best strategy is identified through backtesting and comparison, deploy it to production locally or in the cloud (AWS Lambda / Azure Functions) to start live trading
|
|
79
|
+
- ⚔️ **[Multi-Strategy Comparison](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Rank, filter & compare strategies in a single interactive report
|
|
80
|
+
- 🪟 **[Multi-Window Robustness](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Test across different time periods with window coverage analysis
|
|
81
|
+
- 📈 **[Equity & Drawdown Charts](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Overlay equity curves, rolling Sharpe, drawdown & return distributions
|
|
82
|
+
- 🗓️ **[Monthly Heatmaps & Yearly Returns](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Calendar heatmap per strategy with return/growth toggles
|
|
83
|
+
- 🎯 **[Return Scenario Projections](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Good, average, bad & very bad year projections from backtest data
|
|
84
|
+
- 📉 **[Benchmark Comparison](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Beat-rate analysis vs Buy & Hold, DCA, risk-free & custom benchmarks
|
|
85
|
+
- 📄 **[One-Click HTML Report](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtest-reports)** — Self-contained file, no server, dark & light theme, shareable
|
|
86
|
+
- 📦 **[Custom `.iafbt` Backtest Bundle Format](https://coding-kitties.github.io/investing-algorithm-framework/Data/backtest_data)** — An explicit, versioned, compressed, language-portable container (zstd + msgpack with magic-byte header) plus a separate parquet index for fast filtering without loading. ~21× smaller and ~27× fewer files than standard filebased directory layouts, with parallel I/O for fast load/save of large amounts of backtests.
|
|
87
|
+
- 🌐 **[Load External Data](https://coding-kitties.github.io/investing-algorithm-framework/Data/external-data)** — Fetch CSV, JSON, or Parquet from any URL with caching and auto-refresh
|
|
88
|
+
- � **[Per-Market Deposit Schedules & Portfolio Sync](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/portfolio-sync)** — Declare recurring or one-shot external cash flows on a market with `deposit_schedule=` / `auto_sync=True`. Backtests simulate the deposits; live mode reconciles with the broker — same `context.sync_portfolio()` API in both modes.
|
|
89
|
+
- �📝 **[Record Custom Variables](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/recording-variables)** — Track any indicator or metric during backtests with `context.record()`
|
|
90
|
+
- 🚀 **[Build → Backtest → Deploy](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/application-setup)** — Local dev, cloud deploy (AWS / Azure), or monetize on Finterion
|
|
90
91
|
|
|
91
92
|
</details>
|
|
92
93
|
|
|
@@ -35,7 +35,8 @@ from .domain import ApiException, combine_backtests, PositionSize, \
|
|
|
35
35
|
Pipeline, Factor, CustomFactor, Filter, \
|
|
36
36
|
Returns, AverageDollarVolume, AverageTradedValue, SMA, RSI, \
|
|
37
37
|
Volatility, StaticPerSymbol, CrossSectionalMean, RollingBeta, \
|
|
38
|
-
Neutralize
|
|
38
|
+
Neutralize, \
|
|
39
|
+
SyncResult, ScheduledDeposit, PortfolioOutOfSyncError
|
|
39
40
|
from .infrastructure import AzureBlobStorageStateHandler, \
|
|
40
41
|
CSVOHLCVDataProvider, CSVTickerDataProvider, CSVURLDataProvider, \
|
|
41
42
|
JSONURLDataProvider, ParquetURLDataProvider, \
|
|
@@ -285,6 +286,9 @@ __all__ = [
|
|
|
285
286
|
"get_normalized_stability",
|
|
286
287
|
"get_consistency_score",
|
|
287
288
|
"get_stability_score",
|
|
289
|
+
"SyncResult",
|
|
290
|
+
"ScheduledDeposit",
|
|
291
|
+
"PortfolioOutOfSyncError",
|
|
288
292
|
]
|
|
289
293
|
|
|
290
294
|
|
|
@@ -2242,6 +2242,9 @@ class App:
|
|
|
2242
2242
|
initial_balance=None,
|
|
2243
2243
|
fee_percentage=0.0,
|
|
2244
2244
|
slippage_percentage=0.0,
|
|
2245
|
+
deposit_schedule=None,
|
|
2246
|
+
auto_sync=False,
|
|
2247
|
+
auto_sync_error_mode="raise",
|
|
2245
2248
|
):
|
|
2246
2249
|
"""
|
|
2247
2250
|
Function to add a market to the app. This function is a utility
|
|
@@ -2260,10 +2263,28 @@ class App:
|
|
|
2260
2263
|
slippage_percentage: Default slippage percentage for all
|
|
2261
2264
|
trades on this market (e.g. 0.05 for 0.05%). Can be
|
|
2262
2265
|
overridden per-symbol via TradingCost on the strategy.
|
|
2266
|
+
deposit_schedule: Optional list of
|
|
2267
|
+
:class:`ScheduledDeposit` describing simulated external
|
|
2268
|
+
cash flows landing on this market during a backtest
|
|
2269
|
+
(e.g. monthly paychecks). Ignored in live mode — for
|
|
2270
|
+
live deployments the broker is the source of truth and
|
|
2271
|
+
``Context.sync_portfolio()`` queries it directly.
|
|
2272
|
+
auto_sync: When ``True``, the framework automatically calls
|
|
2273
|
+
``Context.sync_portfolio(market=market)`` before every
|
|
2274
|
+
strategy iteration so deposits/withdrawals are absorbed
|
|
2275
|
+
without strategy code having to opt in. Defaults to
|
|
2276
|
+
``False`` (explicit opt-in via ``context.sync_portfolio()``).
|
|
2277
|
+
auto_sync_error_mode: How auto-sync handles failures. One of
|
|
2278
|
+
``"raise"`` (loud, default — best for development),
|
|
2279
|
+
``"warn"`` (log and continue with stale state — best for
|
|
2280
|
+
live trading where transient broker glitches should not
|
|
2281
|
+
crash the bot), or ``"halt"`` (log, disable auto-sync
|
|
2282
|
+
for this market, and continue).
|
|
2263
2283
|
|
|
2264
2284
|
Returns:
|
|
2265
2285
|
None
|
|
2266
2286
|
"""
|
|
2287
|
+
deposit_schedule = self._normalize_deposit_schedule(deposit_schedule)
|
|
2267
2288
|
|
|
2268
2289
|
portfolio_configuration = PortfolioConfiguration(
|
|
2269
2290
|
market=market,
|
|
@@ -2271,6 +2292,7 @@ class App:
|
|
|
2271
2292
|
initial_balance=initial_balance,
|
|
2272
2293
|
fee_percentage=fee_percentage,
|
|
2273
2294
|
slippage_percentage=slippage_percentage,
|
|
2295
|
+
deposit_schedule=deposit_schedule,
|
|
2274
2296
|
)
|
|
2275
2297
|
|
|
2276
2298
|
self.add_portfolio_configuration(portfolio_configuration)
|
|
@@ -2281,6 +2303,78 @@ class App:
|
|
|
2281
2303
|
)
|
|
2282
2304
|
self.add_market_credential(market_credential)
|
|
2283
2305
|
|
|
2306
|
+
tracker = self.container.broker_balance_tracker()
|
|
2307
|
+
if deposit_schedule:
|
|
2308
|
+
tracker.set_schedule(market, deposit_schedule)
|
|
2309
|
+
if auto_sync:
|
|
2310
|
+
tracker.set_auto_sync(market, True)
|
|
2311
|
+
tracker.set_auto_sync_error_mode(market, auto_sync_error_mode)
|
|
2312
|
+
|
|
2313
|
+
@staticmethod
|
|
2314
|
+
def _normalize_deposit_schedule(deposit_schedule):
|
|
2315
|
+
"""Coerce a deposit_schedule argument to a validated list.
|
|
2316
|
+
|
|
2317
|
+
Accepts ``None`` (treated as no schedule), a list/tuple of
|
|
2318
|
+
:class:`ScheduledDeposit`, or rejects anything else with a clear
|
|
2319
|
+
error. Notably rejects passing a single ``ScheduledDeposit``
|
|
2320
|
+
directly (which would be iterable over its dataclass fields and
|
|
2321
|
+
produce nonsense).
|
|
2322
|
+
"""
|
|
2323
|
+
from investing_algorithm_framework.domain import ScheduledDeposit
|
|
2324
|
+
if deposit_schedule is None:
|
|
2325
|
+
return []
|
|
2326
|
+
if isinstance(deposit_schedule, ScheduledDeposit):
|
|
2327
|
+
raise OperationalException(
|
|
2328
|
+
"deposit_schedule must be a list of ScheduledDeposit, not a "
|
|
2329
|
+
"single ScheduledDeposit. Wrap it: [ScheduledDeposit(...)]."
|
|
2330
|
+
)
|
|
2331
|
+
if not isinstance(deposit_schedule, (list, tuple)):
|
|
2332
|
+
raise OperationalException(
|
|
2333
|
+
"deposit_schedule must be a list of ScheduledDeposit, got "
|
|
2334
|
+
f"{type(deposit_schedule).__name__}."
|
|
2335
|
+
)
|
|
2336
|
+
for entry in deposit_schedule:
|
|
2337
|
+
if not isinstance(entry, ScheduledDeposit):
|
|
2338
|
+
raise OperationalException(
|
|
2339
|
+
"deposit_schedule entries must be ScheduledDeposit, "
|
|
2340
|
+
f"got {type(entry).__name__}."
|
|
2341
|
+
)
|
|
2342
|
+
return list(deposit_schedule)
|
|
2343
|
+
|
|
2344
|
+
def add_deposit_schedule(self, market, schedule):
|
|
2345
|
+
"""Register simulated external deposits for a backtested market.
|
|
2346
|
+
|
|
2347
|
+
Equivalent to passing ``deposit_schedule=`` to :meth:`add_market`,
|
|
2348
|
+
but usable after the market has already been registered. Replaces
|
|
2349
|
+
any previously registered schedule for this market.
|
|
2350
|
+
|
|
2351
|
+
Args:
|
|
2352
|
+
market: Market identifier.
|
|
2353
|
+
schedule: Iterable of :class:`ScheduledDeposit`.
|
|
2354
|
+
|
|
2355
|
+
Returns:
|
|
2356
|
+
None
|
|
2357
|
+
"""
|
|
2358
|
+
self.container.broker_balance_tracker().set_schedule(
|
|
2359
|
+
market, self._normalize_deposit_schedule(schedule)
|
|
2360
|
+
)
|
|
2361
|
+
|
|
2362
|
+
def set_market_auto_sync(self, market, enabled=True):
|
|
2363
|
+
"""Toggle automatic ``sync_portfolio`` before each strategy iteration.
|
|
2364
|
+
|
|
2365
|
+
Args:
|
|
2366
|
+
market: Market identifier.
|
|
2367
|
+
enabled: When ``True`` (the default), the framework calls
|
|
2368
|
+
``Context.sync_portfolio(market=market)`` immediately before
|
|
2369
|
+
each strategy ``run_strategy`` invocation.
|
|
2370
|
+
|
|
2371
|
+
Returns:
|
|
2372
|
+
None
|
|
2373
|
+
"""
|
|
2374
|
+
self.container.broker_balance_tracker().set_auto_sync(
|
|
2375
|
+
market, enabled
|
|
2376
|
+
)
|
|
2377
|
+
|
|
2284
2378
|
def set_blotter(self, blotter):
|
|
2285
2379
|
"""
|
|
2286
2380
|
Set a blotter for order book management. The blotter sits
|