investing-algorithm-framework 7.6.0__tar.gz → 7.7.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-7.6.0 → investing_algorithm_framework-7.7.0}/PKG-INFO +1 -1
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/app.py +4 -9
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/combine_backtests.py +13 -17
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/pyproject.toml +1 -1
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/LICENSE +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/README.md +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/algorithm/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/algorithm/algorithm.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/algorithm/algorithm_factory.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/analysis/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/analysis/backtest_data_ranges.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/analysis/permutation.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/analysis/ranking.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/app_hook.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/context.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/eventloop.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/ascii.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/backtest_report.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/entry_exist_signals.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/equity_curve_drawdown.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/line_chart.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/monthly_returns_heatmap.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/ohlcv_data_completeness.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/rolling_sharp_ratio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/charts/yearly_returns_barchart.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/generate.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/key_metrics_table.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/stop_loss_table.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/time_metrics_table.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/trade_metrics_table.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/trades_table.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/tables/utils.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/reporting/templates/report_template.html.j2 +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/strategy.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/cli.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/deploy_to_aws_lambda.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/deploy_to_azure_function.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/initialize_app.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/.gitignore.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/app.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/app_azure_function.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/app_web.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerfile.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerignore.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/aws_lambda_readme.md.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/aws_lambda_requirements.txt.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/azure_function_host.json.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/azure_function_local.settings.json.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/azure_function_requirements.txt.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/data_providers.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/env.example.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/env_azure_function.example.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/market_data_providers.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/readme.md.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/requirements.txt.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/run_backtest.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/cli/templates/strategy.py.template +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/dependency_container.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/BacktestInitializer.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest_date_range.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest_evaluation_focuss.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest_metrics.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest_permutation_test.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest_run.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/constants.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/data_provider.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/exceptions.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/data/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/data/data_source.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/data/data_type.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/event.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/order/order.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/snapshot_interval.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/trade/trade_risk_type.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/trade/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/order_executor.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/portfolio_provider.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/positions/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/positions/position_size.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/services/state_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/custom_tqdm.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/dates.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/jupyter_notebook_detection.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/polars.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/download_data.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/data_providers/ccxt.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/data_providers/csv.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/data_providers/pandas.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/order/order_metadata.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/order_trade_association.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/portfolio/sql_portfolio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/trades/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/trades/trade.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/models/trades/trade_take_profit.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/order_executors/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/order_executors/backtest_oder_executor.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/order_executors/ccxt_order_executor.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/portfolio_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/portfolio_providers/ccxt_portfolio_provider.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/order_metadata_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/trade_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/trade_stop_loss_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/repositories/trade_take_profit_repository.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/services/aws/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/services/aws/state_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/services/azure/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/infrastructure/services/azure/state_handler.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/configuration_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/data_providers/data_provider_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/alpha.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/beta.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/cagr.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/calmar_ratio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/drawdown.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/equity_curve.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/exposure.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/generate.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/mean_daily_return.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/price_efficiency.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/profit_factor.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/recovery.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/returns.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/risk_free_rate.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/sharpe_ratio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/sortino_ratio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/standard_deviation.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/treynor_ratio.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/ulcer.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/value_at_risk.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/volatility.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/metrics/win_rate.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/order_service/order_backtest_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/order_service/order_executor_lookup.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/order_service/order_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/portfolio_provider_lookup.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/positions/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/positions/position_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/positions/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/trade_order_evaluator/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/trade_order_evaluator/backtest_trade_oder_evaluator.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/trade_order_evaluator/default_trade_order_evaluator.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/trade_order_evaluator/trade_order_evaluator.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
- {investing_algorithm_framework-7.6.0 → investing_algorithm_framework-7.7.0}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
|
@@ -17,7 +17,7 @@ from investing_algorithm_framework.domain import DATABASE_NAME, TimeUnit, \
|
|
|
17
17
|
BACKTESTING_START_DATE, BACKTESTING_END_DATE, APP_MODE, MarketCredential, \
|
|
18
18
|
AppMode, BacktestDateRange, DATABASE_DIRECTORY_NAME, DataSource, \
|
|
19
19
|
BACKTESTING_INITIAL_AMOUNT, SNAPSHOT_INTERVAL, Backtest, \
|
|
20
|
-
PortfolioConfiguration, SnapshotInterval, DataType, \
|
|
20
|
+
PortfolioConfiguration, SnapshotInterval, DataType, combine_backtests, \
|
|
21
21
|
PortfolioProvider, OrderExecutor, ImproperlyConfigured, \
|
|
22
22
|
DataProvider, INDEX_DATETIME, tqdm, BacktestPermutationTest, \
|
|
23
23
|
LAST_SNAPSHOT_DATETIME, BACKTESTING_FLAG
|
|
@@ -929,14 +929,9 @@ class App:
|
|
|
929
929
|
)
|
|
930
930
|
|
|
931
931
|
for strategy in backtests_ordered_by_strategy:
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
for backtest in strategy_backtests:
|
|
937
|
-
main_backtest = main_backtest.merge(backtest)
|
|
938
|
-
|
|
939
|
-
backtests.append(main_backtest)
|
|
932
|
+
backtests.append(
|
|
933
|
+
combine_backtests(backtests_ordered_by_strategy[strategy])
|
|
934
|
+
)
|
|
940
935
|
|
|
941
936
|
return backtests
|
|
942
937
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from typing import List
|
|
2
2
|
|
|
3
|
-
from investing_algorithm_framework.domain.backtesting import Backtest
|
|
4
|
-
BacktestDateRange
|
|
3
|
+
from investing_algorithm_framework.domain.backtesting import Backtest
|
|
5
4
|
from investing_algorithm_framework.domain.backtesting import \
|
|
6
5
|
BacktestSummaryMetrics
|
|
7
6
|
|
|
@@ -30,7 +29,6 @@ def safe_weighted_mean(values, weights):
|
|
|
30
29
|
|
|
31
30
|
def combine_backtests(
|
|
32
31
|
backtests: List[Backtest],
|
|
33
|
-
backtest_date_range: BacktestDateRange = None
|
|
34
32
|
) -> Backtest:
|
|
35
33
|
"""
|
|
36
34
|
Combine multiple backtests into a single backtest by aggregating
|
|
@@ -38,8 +36,6 @@ def combine_backtests(
|
|
|
38
36
|
|
|
39
37
|
Args:
|
|
40
38
|
backtests (List[Backtest]): List of Backtest instances to combine.
|
|
41
|
-
backtest_date_range (BacktestDateRange, optional): The date range
|
|
42
|
-
for the combined backtest.
|
|
43
39
|
|
|
44
40
|
Returns:
|
|
45
41
|
Backtest: A new Backtest instance representing the combined results.
|
|
@@ -49,19 +45,11 @@ def combine_backtests(
|
|
|
49
45
|
|
|
50
46
|
for backtest in backtests:
|
|
51
47
|
backtest_metric = None
|
|
52
|
-
backtest_run =
|
|
48
|
+
backtest_run = backtest.backtest_runs[0] \
|
|
49
|
+
if len(backtest.backtest_runs) > 0 else None
|
|
53
50
|
|
|
54
|
-
if
|
|
55
|
-
backtest_metric =
|
|
56
|
-
backtest.get_backtest_metrics(backtest_date_range)
|
|
57
|
-
backtest_run = \
|
|
58
|
-
backtest.get_backtest_run(backtest_date_range)
|
|
59
|
-
else:
|
|
60
|
-
backtest_run = backtest.backtest_runs[0] \
|
|
61
|
-
if len(backtest.backtest_runs) > 0 else None
|
|
62
|
-
|
|
63
|
-
if backtest_run is not None:
|
|
64
|
-
backtest_metric = backtest_run.backtest_metrics
|
|
51
|
+
if backtest_run is not None:
|
|
52
|
+
backtest_metric = backtest_run.backtest_metrics
|
|
65
53
|
|
|
66
54
|
if backtest_metric is not None:
|
|
67
55
|
backtest_metrics.append(backtest_metric)
|
|
@@ -196,6 +184,7 @@ def combine_backtests(
|
|
|
196
184
|
)
|
|
197
185
|
|
|
198
186
|
metadata = None
|
|
187
|
+
risk_free_rate = None
|
|
199
188
|
|
|
200
189
|
# Get first non-empty metadata
|
|
201
190
|
for backtest in backtests:
|
|
@@ -203,9 +192,16 @@ def combine_backtests(
|
|
|
203
192
|
metadata = backtest.metadata
|
|
204
193
|
break
|
|
205
194
|
|
|
195
|
+
# Get the first risk-free rate
|
|
196
|
+
for backtest in backtests:
|
|
197
|
+
if backtest.risk_free_rate is not None:
|
|
198
|
+
risk_free_rate = backtest.risk_free_rate
|
|
199
|
+
break
|
|
200
|
+
|
|
206
201
|
backtest = Backtest(
|
|
207
202
|
backtest_summary=summary,
|
|
208
203
|
metadata=metadata,
|
|
204
|
+
risk_free_rate=risk_free_rate,
|
|
209
205
|
backtest_runs=backtest_runs
|
|
210
206
|
)
|
|
211
207
|
return backtest
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|