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.
Files changed (314) hide show
  1. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/PKG-INFO +18 -17
  2. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/README.md +17 -16
  3. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/__init__.py +5 -1
  4. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/app.py +94 -0
  5. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/context.py +335 -13
  6. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/eventloop.py +89 -0
  7. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/backtest_report.py +23 -0
  8. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/dashboard.js +52 -0
  9. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/deploy_to_azure_function.py +107 -46
  10. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/initialize_app.py +123 -14
  11. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/.gitignore.template +11 -0
  12. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/app.py.template +1 -1
  13. investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +48 -0
  14. investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/app_azure_function.py.template +35 -0
  15. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/app_web.py.template +1 -1
  16. investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +52 -0
  17. investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/azure_function_host.json.template +21 -0
  18. investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/data_providers.py.template +40 -0
  19. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/run_backtest.py.template +1 -1
  20. investing_algorithm_framework-8.8.0/investing_algorithm_framework/cli/templates/strategy.py.template +105 -0
  21. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/dependency_container.py +7 -1
  22. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/__init__.py +7 -2
  23. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest.py +11 -0
  24. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_metrics.py +23 -0
  25. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/exceptions.py +30 -0
  26. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/__init__.py +4 -1
  27. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/data/data_source.py +23 -0
  28. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order.py +32 -0
  29. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order_type.py +2 -0
  30. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/__init__.py +3 -0
  31. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +6 -0
  32. investing_algorithm_framework-8.8.0/investing_algorithm_framework/domain/models/portfolio/sync.py +111 -0
  33. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/base_url.py +32 -2
  34. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order/order.py +4 -0
  35. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/order_executors/ccxt_order_executor.py +38 -0
  36. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/repository.py +2 -1
  37. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/vector_backtest_service.py +74 -2
  38. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/__init__.py +3 -1
  39. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/__init__.py +5 -3
  40. investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/metrics/_returns_helper.py +70 -0
  41. investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/metrics/cagr.py +81 -0
  42. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/drawdown.py +108 -1
  43. investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/metrics/equity_curve.py +77 -0
  44. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/generate.py +35 -13
  45. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/mean_daily_return.py +19 -7
  46. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/returns.py +45 -16
  47. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/sharpe_ratio.py +4 -5
  48. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/standard_deviation.py +31 -55
  49. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/value_at_risk.py +14 -8
  50. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/volatility.py +16 -35
  51. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/order_backtest_service.py +31 -0
  52. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/order_service.py +69 -0
  53. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/__init__.py +3 -1
  54. investing_algorithm_framework-8.8.0/investing_algorithm_framework/services/portfolios/broker_balance_tracker.py +330 -0
  55. {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
  56. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/pyproject.toml +1 -1
  57. investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +0 -48
  58. investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/app_azure_function.py.template +0 -14
  59. investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +0 -65
  60. investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/azure_function_host.json.template +0 -15
  61. investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/data_providers.py.template +0 -17
  62. investing_algorithm_framework-8.7.2/investing_algorithm_framework/cli/templates/strategy.py.template +0 -124
  63. investing_algorithm_framework-8.7.2/investing_algorithm_framework/services/metrics/cagr.py +0 -60
  64. investing_algorithm_framework-8.7.2/investing_algorithm_framework/services/metrics/equity_curve.py +0 -27
  65. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/LICENSE +0 -0
  66. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/__init__.py +0 -0
  67. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/backtest_data_ranges.py +0 -0
  68. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/markdown.py +0 -0
  69. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/analysis/ranking.py +0 -0
  70. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/__init__.py +0 -0
  71. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/algorithm/__init__.py +0 -0
  72. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/algorithm/algorithm.py +0 -0
  73. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/algorithm/algorithm_factory.py +0 -0
  74. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/app_hook.py +0 -0
  75. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/__init__.py +0 -0
  76. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/ascii.py +0 -0
  77. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/backtest_report_old.py +0 -0
  78. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/__init__.py +0 -0
  79. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/entry_exist_signals.py +0 -0
  80. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/equity_curve.py +0 -0
  81. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/equity_curve_drawdown.py +0 -0
  82. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/line_chart.py +0 -0
  83. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/monthly_returns_heatmap.py +0 -0
  84. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/ohlcv_data_completeness.py +0 -0
  85. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/rolling_sharp_ratio.py +0 -0
  86. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/charts/yearly_returns_barchart.py +0 -0
  87. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/generate.py +0 -0
  88. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/__init__.py +0 -0
  89. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/key_metrics_table.py +0 -0
  90. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/stop_loss_table.py +0 -0
  91. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/time_metrics_table.py +0 -0
  92. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/trade_metrics_table.py +0 -0
  93. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/trades_table.py +0 -0
  94. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/tables/utils.py +0 -0
  95. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/dashboard.css +0 -0
  96. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/dashboard_template.html.j2 +0 -0
  97. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/reporting/templates/report_template.html.j2 +0 -0
  98. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
  99. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
  100. {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
  101. {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
  102. {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
  103. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
  104. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/strategy.py +0 -0
  105. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/task.py +0 -0
  106. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/__init__.py +0 -0
  107. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
  108. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
  109. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
  110. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
  111. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/create_app.py +0 -0
  112. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/error_handler.py +0 -0
  113. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/responses.py +0 -0
  114. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
  115. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
  116. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
  117. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
  118. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
  119. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
  120. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/__init__.py +0 -0
  121. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/cli.py +0 -0
  122. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/deploy_to_aws_lambda.py +0 -0
  123. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/mcp_server.py +0 -0
  124. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerfile.template +0 -0
  125. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerignore.template +0 -0
  126. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_readme.md.template +0 -0
  127. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/aws_lambda_requirements.txt.template +0 -0
  128. {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
  129. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/azure_function_requirements.txt.template +0 -0
  130. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/env.example.template +0 -0
  131. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/env_azure_function.example.template +0 -0
  132. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/market_data_providers.py.template +0 -0
  133. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/readme.md.template +0 -0
  134. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/templates/requirements.txt.template +0 -0
  135. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/cli/validate_backtest_checkpoints.py +0 -0
  136. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/create_app.py +0 -0
  137. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/algorithm_id.py +0 -0
  138. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/__init__.py +0 -0
  139. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_date_range.py +0 -0
  140. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_evaluation_focuss.py +0 -0
  141. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_permutation_test.py +0 -0
  142. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_run.py +0 -0
  143. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py +0 -0
  144. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/backtest_utils.py +0 -0
  145. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/bundle.py +0 -0
  146. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/combine_backtests.py +0 -0
  147. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/consistency.py +0 -0
  148. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/templates/backtest.html +0 -0
  149. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/templates/finterion-dark.png +0 -0
  150. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/backtesting/templates/finterion-light.png +0 -0
  151. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/blotter.py +0 -0
  152. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/config.py +0 -0
  153. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/constants.py +0 -0
  154. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/data_provider.py +0 -0
  155. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/data_structures.py +0 -0
  156. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/datetime_parsing.py +0 -0
  157. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
  158. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/fx.py +0 -0
  159. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
  160. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/base_model.py +0 -0
  161. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/data/__init__.py +0 -0
  162. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/data/data_type.py +0 -0
  163. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/event.py +0 -0
  164. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
  165. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
  166. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
  167. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
  168. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
  169. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
  170. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
  171. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
  172. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/position.py +0 -0
  173. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/position_size.py +0 -0
  174. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
  175. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/__init__.py +0 -0
  176. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/scaling_rule.py +0 -0
  177. {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
  178. {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
  179. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/risk_rules/trading_cost.py +0 -0
  180. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/snapshot_interval.py +0 -0
  181. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
  182. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
  183. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
  184. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
  185. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
  186. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
  187. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
  188. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
  189. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
  190. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade_stop_loss.py +0 -0
  191. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +0 -0
  192. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/order_executor.py +0 -0
  193. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/__init__.py +0 -0
  194. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/custom_factor.py +0 -0
  195. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/factor.py +0 -0
  196. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/factors/__init__.py +0 -0
  197. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/factors/builtin.py +0 -0
  198. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/filter.py +0 -0
  199. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/pipeline/pipeline.py +0 -0
  200. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/portfolio_provider.py +0 -0
  201. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/__init__.py +0 -0
  202. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
  203. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
  204. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
  205. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
  206. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/services/state_handler.py +0 -0
  207. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
  208. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/strategy.py +0 -0
  209. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
  210. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/csv.py +0 -0
  211. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/custom_tqdm.py +0 -0
  212. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/dates.py +0 -0
  213. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/jupyter_notebook_detection.py +0 -0
  214. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/polars.py +0 -0
  215. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/random.py +0 -0
  216. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
  217. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
  218. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
  219. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/download_data.py +0 -0
  220. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
  221. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/__init__.py +0 -0
  222. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/alpha_vantage.py +0 -0
  223. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/ccxt.py +0 -0
  224. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/csv.py +0 -0
  225. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/csv_url.py +0 -0
  226. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/json_url.py +0 -0
  227. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/ohlcv_base.py +0 -0
  228. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/pandas.py +0 -0
  229. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/parquet_url.py +0 -0
  230. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/polygon.py +0 -0
  231. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/data_providers/yahoo.py +0 -0
  232. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
  233. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
  234. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
  235. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
  236. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
  237. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
  238. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order/trade_allocation.py +0 -0
  239. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/order_trade_association.py +0 -0
  240. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
  241. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
  242. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/portfolio/sql_portfolio.py +0 -0
  243. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
  244. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
  245. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
  246. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/__init__.py +0 -0
  247. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/trade.py +0 -0
  248. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +0 -0
  249. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/models/trades/trade_take_profit.py +0 -0
  250. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/order_executors/__init__.py +0 -0
  251. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/portfolio_providers/__init__.py +0 -0
  252. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/portfolio_providers/ccxt_portfolio_provider.py +0 -0
  253. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
  254. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
  255. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
  256. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
  257. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
  258. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
  259. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_allocation_repository.py +0 -0
  260. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_repository.py +0 -0
  261. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_stop_loss_repository.py +0 -0
  262. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/repositories/trade_take_profit_repository.py +0 -0
  263. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
  264. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/aws/__init__.py +0 -0
  265. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/aws/state_handler.py +0 -0
  266. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/azure/__init__.py +0 -0
  267. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/azure/state_handler.py +0 -0
  268. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/__init__.py +0 -0
  269. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/backtest_service.py +0 -0
  270. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/checkpoint_manifest.py +0 -0
  271. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/infrastructure/services/backtesting/event_backtest_service.py +0 -0
  272. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/notebook/__init__.py +0 -0
  273. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/notebook/magic.py +0 -0
  274. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/configuration_service.py +0 -0
  275. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/data_providers/__init__.py +0 -0
  276. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/data_providers/data.py +0 -0
  277. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/data_providers/data_provider_service.py +0 -0
  278. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/market_credential_service.py +0 -0
  279. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/alpha.py +0 -0
  280. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/beta.py +0 -0
  281. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/calmar_ratio.py +0 -0
  282. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/consistency.py +0 -0
  283. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/exposure.py +0 -0
  284. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/price_efficiency.py +0 -0
  285. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/profit_factor.py +0 -0
  286. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/recovery.py +0 -0
  287. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/risk_free_rate.py +0 -0
  288. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/sortino_ratio.py +0 -0
  289. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/trades.py +0 -0
  290. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/treynor_ratio.py +0 -0
  291. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/ulcer.py +0 -0
  292. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/metrics/win_rate.py +0 -0
  293. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
  294. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/order_service/order_executor_lookup.py +0 -0
  295. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/pipeline/__init__.py +0 -0
  296. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/pipeline/pipeline_engine.py +0 -0
  297. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/pipeline/vector_pipeline_engine.py +0 -0
  298. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
  299. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
  300. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_provider_lookup.py +0 -0
  301. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
  302. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
  303. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
  304. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/positions/__init__.py +0 -0
  305. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/positions/position_service.py +0 -0
  306. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/positions/position_snapshot_service.py +0 -0
  307. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/repository_service.py +0 -0
  308. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_order_evaluator/__init__.py +0 -0
  309. {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
  310. {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
  311. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
  312. {investing_algorithm_framework-8.7.2 → investing_algorithm_framework-8.8.0}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
  313. {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
  314. {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.7.2
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
- - � **[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()`
133
- - �🚀 **Build → Backtest → Deploy** — Local dev, cloud deploy (AWS / Azure), or monetize on Finterion
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
- - � **[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()`
89
- - �🚀 **Build → Backtest → Deploy** — Local dev, cloud deploy (AWS / Azure), or monetize on Finterion
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