investing-algorithm-framework 7.11.0__tar.gz → 7.12.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.11.0 → investing_algorithm_framework-7.12.0}/PKG-INFO +1 -1
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest.py +24 -8
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/pyproject.toml +1 -1
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/LICENSE +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/README.md +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/algorithm/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/algorithm/algorithm.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/algorithm/algorithm_factory.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/analysis/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/analysis/backtest_data_ranges.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/analysis/permutation.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/analysis/ranking.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/app.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/app_hook.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/context.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/eventloop.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/ascii.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/backtest_report.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/entry_exist_signals.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/equity_curve_drawdown.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/line_chart.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/monthly_returns_heatmap.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/ohlcv_data_completeness.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/rolling_sharp_ratio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/charts/yearly_returns_barchart.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/generate.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/key_metrics_table.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/stop_loss_table.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/time_metrics_table.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/trade_metrics_table.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/trades_table.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/tables/utils.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/reporting/templates/report_template.html.j2 +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/strategy.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/cli.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/deploy_to_aws_lambda.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/deploy_to_azure_function.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/initialize_app.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/.gitignore.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/app.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/app_azure_function.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/app_web.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerfile.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/aws_lambda_dockerignore.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/aws_lambda_readme.md.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/aws_lambda_requirements.txt.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/azure_function_host.json.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/azure_function_local.settings.json.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/azure_function_requirements.txt.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/data_providers.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/env.example.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/env_azure_function.example.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/market_data_providers.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/readme.md.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/requirements.txt.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/run_backtest.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/cli/templates/strategy.py.template +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/dependency_container.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/BacktestInitializer.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest_date_range.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest_evaluation_focuss.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest_metrics.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest_permutation_test.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest_run.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/backtesting/combine_backtests.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/constants.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/data_provider.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/exceptions.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/data/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/data/data_source.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/data/data_type.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/event.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/order/order.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/position/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/snapshot_interval.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/trade/trade_risk_type.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/trade/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/order_executor.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/portfolio_provider.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/positions/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/positions/position_size.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/services/state_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/custom_tqdm.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/dates.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/jupyter_notebook_detection.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/polars.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/download_data.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/data_providers/ccxt.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/data_providers/csv.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/data_providers/pandas.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/order/order_metadata.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/order_trade_association.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/portfolio/sql_portfolio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/trades/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/trades/trade.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/models/trades/trade_take_profit.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/order_executors/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/order_executors/backtest_oder_executor.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/order_executors/ccxt_order_executor.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/portfolio_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/portfolio_providers/ccxt_portfolio_provider.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/order_metadata_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/trade_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/trade_stop_loss_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/repositories/trade_take_profit_repository.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/services/aws/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/services/aws/state_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/services/azure/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/infrastructure/services/azure/state_handler.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/configuration_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/data_providers/data_provider_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/alpha.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/beta.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/cagr.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/calmar_ratio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/drawdown.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/equity_curve.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/exposure.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/generate.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/mean_daily_return.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/price_efficiency.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/profit_factor.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/recovery.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/returns.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/risk_free_rate.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/sharpe_ratio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/sortino_ratio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/standard_deviation.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/treynor_ratio.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/ulcer.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/value_at_risk.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/volatility.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/metrics/win_rate.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/order_service/order_backtest_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/order_service/order_executor_lookup.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/order_service/order_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/portfolio_provider_lookup.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/positions/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/positions/position_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/positions/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/trade_order_evaluator/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/trade_order_evaluator/backtest_trade_oder_evaluator.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/trade_order_evaluator/default_trade_order_evaluator.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/trade_order_evaluator/trade_order_evaluator.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/trade_service/__init__.py +0 -0
- {investing_algorithm_framework-7.11.0 → investing_algorithm_framework-7.12.0}/investing_algorithm_framework/services/trade_service/trade_service.py +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
|
+
from uuid import uuid4
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from dataclasses import dataclass, field
|
|
5
6
|
from logging import getLogger
|
|
@@ -46,6 +47,7 @@ class Backtest:
|
|
|
46
47
|
algorithm_id (int): The ID of the algorithm associated with this
|
|
47
48
|
backtest.
|
|
48
49
|
"""
|
|
50
|
+
id: str = field(default_factory=lambda: str(uuid4()))
|
|
49
51
|
backtest_runs: List[BacktestRun] = field(default_factory=list)
|
|
50
52
|
backtest_summary: BacktestSummaryMetrics = field(default=None)
|
|
51
53
|
backtest_permutation_tests: List[BacktestPermutationTest] = \
|
|
@@ -199,6 +201,7 @@ class Backtest:
|
|
|
199
201
|
OperationalException: If the directory does not exist or if
|
|
200
202
|
there is an error loading the files.
|
|
201
203
|
"""
|
|
204
|
+
id = None
|
|
202
205
|
backtest_runs = []
|
|
203
206
|
backtest_summary_metrics = None
|
|
204
207
|
permutation_metrics = []
|
|
@@ -210,6 +213,17 @@ class Backtest:
|
|
|
210
213
|
f"The directory {directory_path} does not exist."
|
|
211
214
|
)
|
|
212
215
|
|
|
216
|
+
# Load id if available
|
|
217
|
+
id_file = os.path.join(directory_path, "id.json")
|
|
218
|
+
if os.path.isfile(id_file):
|
|
219
|
+
with open(id_file, 'r') as f:
|
|
220
|
+
try:
|
|
221
|
+
id = json.load(f).get('id', None)
|
|
222
|
+
except json.JSONDecodeError as e:
|
|
223
|
+
logger.error(f"Error decoding id JSON: {e}")
|
|
224
|
+
id = None
|
|
225
|
+
# Load combined backtest metrics if available
|
|
226
|
+
|
|
213
227
|
summary_file = os.path.join(directory_path, "summary.json")
|
|
214
228
|
|
|
215
229
|
if os.path.isfile(summary_file):
|
|
@@ -259,6 +273,7 @@ class Backtest:
|
|
|
259
273
|
risk_free_rate = None
|
|
260
274
|
|
|
261
275
|
return Backtest(
|
|
276
|
+
id=id,
|
|
262
277
|
backtest_runs=backtest_runs,
|
|
263
278
|
backtest_summary=backtest_summary_metrics,
|
|
264
279
|
backtest_permutation_tests=permutation_metrics,
|
|
@@ -287,6 +302,11 @@ class Backtest:
|
|
|
287
302
|
if not os.path.exists(directory_path):
|
|
288
303
|
os.makedirs(directory_path)
|
|
289
304
|
|
|
305
|
+
# Save id of the backtest
|
|
306
|
+
id_file = os.path.join(directory_path, "id.json")
|
|
307
|
+
with open(id_file, 'w') as f:
|
|
308
|
+
json.dump({'id': self.id}, f, indent=4)
|
|
309
|
+
|
|
290
310
|
# Call the save method of all backtest runs
|
|
291
311
|
if self.backtest_runs:
|
|
292
312
|
run_path = os.path.join(directory_path, "runs")
|
|
@@ -429,11 +449,7 @@ class Backtest:
|
|
|
429
449
|
self.backtest_permutation_tests.append(permutation_test)
|
|
430
450
|
|
|
431
451
|
def __hash__(self):
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
return
|
|
436
|
-
tuple(sorted(start_dates)),
|
|
437
|
-
tuple(sorted(end_dates)),
|
|
438
|
-
metadata_items
|
|
439
|
-
))
|
|
452
|
+
return hash(self.id)
|
|
453
|
+
|
|
454
|
+
def __eq__(self, other):
|
|
455
|
+
return isinstance(other, Backtest) and self.id == other.id
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|