investing-algorithm-framework 7.19.14__tar.gz → 7.19.18__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.
Potentially problematic release.
This version of investing-algorithm-framework might be problematic. Click here for more details.
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/PKG-INFO +166 -91
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/README.md +165 -90
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/__init__.py +11 -9
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/app.py +12 -2
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/context.py +75 -17
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/eventloop.py +1 -1
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/ascii.py +10 -10
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/strategy.py +226 -100
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/cli.py +21 -2
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/deploy_to_aws_lambda.py +8 -6
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/dependency_container.py +11 -1
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/__init__.py +7 -8
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest_run.py +179 -9
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/constants.py +0 -31
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/__init__.py +6 -4
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/portfolio/portfolio_configuration.py +1 -1
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/domain/models/position/__init__.py +5 -0
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/domain/models/risk_rules/__init__.py +7 -0
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/domain/models/risk_rules/stop_loss_rule.py +51 -0
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/domain/models/risk_rules/take_profit_rule.py +55 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/trade/__init__.py +0 -2
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/trade/trade_stop_loss.py +105 -40
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +365 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/data_providers/csv.py +2 -2
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/database/sql_alchemy.py +8 -1
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +59 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/trades/trade_take_profit.py +21 -7
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/trade_stop_loss_repository.py +6 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/trade_take_profit_repository.py +6 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/services/aws/state_handler.py +32 -1
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/__init__.py +5 -2
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/configuration_service.py +0 -1
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/trade_order_evaluator/backtest_trade_oder_evaluator.py +2 -21
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/trade_order_evaluator/default_trade_order_evaluator.py +7 -22
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/services/trade_order_evaluator/trade_order_evaluator.py +80 -0
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/services/trade_service/__init__.py +9 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/trade_service/trade_service.py +36 -20
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/services/trade_service/trade_stop_loss_service.py +39 -0
- investing_algorithm_framework-7.19.18/investing_algorithm_framework/services/trade_service/trade_take_profit_service.py +41 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/pyproject.toml +1 -1
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/domain/models/position/__init__.py +0 -4
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/domain/models/trade/trade_risk_type.py +0 -34
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/domain/models/trade/trade_take_profit.py +0 -303
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/domain/positions/__init__.py +0 -4
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/infrastructure/models/trades/trade_stop_loss.py +0 -40
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/services/trade_order_evaluator/trade_order_evaluator.py +0 -41
- investing_algorithm_framework-7.19.14/investing_algorithm_framework/services/trade_service/__init__.py +0 -3
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/LICENSE +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/algorithm/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/algorithm/algorithm.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/algorithm/algorithm_factory.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/analysis/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/analysis/backtest_data_ranges.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/analysis/backtest_utils.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/analysis/permutation.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/analysis/ranking.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/app_hook.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/backtest_report.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/entry_exist_signals.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/equity_curve.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/equity_curve_drawdown.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/line_chart.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/monthly_returns_heatmap.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/ohlcv_data_completeness.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/rolling_sharp_ratio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/charts/yearly_returns_barchart.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/generate.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/key_metrics_table.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/stop_loss_table.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/time_metrics_table.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/trade_metrics_table.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/trades_table.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/tables/utils.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/reporting/templates/report_template.html.j2 +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/stateless/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/stateless/action_handlers/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/stateless/action_handlers/action_handler_strategy.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/stateless/action_handlers/check_online_handler.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/stateless/action_handlers/run_strategy_handler.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/stateless/exception_handler.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/task.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/controllers/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/controllers/orders.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/controllers/portfolio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/controllers/positions.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/create_app.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/error_handler.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/responses.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/run_strategies.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/schemas/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/schemas/order.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/schemas/portfolio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/schemas/position.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/app/web/setup_cors.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/deploy_to_azure_function.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/initialize_app.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/.gitignore.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/app.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/app_aws_lambda_function.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/app_azure_function.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/app_web.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/aws_lambda_dockerfile.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/aws_lambda_dockerignore.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/aws_lambda_readme.md.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/aws_lambda_requirements.txt.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/azure_function_function_app.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/azure_function_host.json.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/azure_function_local.settings.json.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/azure_function_requirements.txt.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/data_providers.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/env.example.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/env_azure_function.example.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/market_data_providers.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/readme.md.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/requirements.txt.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/run_backtest.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/cli/templates/strategy.py.template +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/create_app.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest_date_range.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest_evaluation_focuss.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest_metrics.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest_permutation_test.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/backtest_summary_metrics.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/backtesting/combine_backtests.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/config.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/data_provider.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/data_structures.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/decimal_parsing.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/exceptions.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/app_mode.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/base_model.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/data/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/data/data_source.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/data/data_type.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/event.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/market/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/market/market_credential.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/order/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/order/order.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/order/order_side.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/order/order_status.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/order/order_type.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/portfolio/portfolio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/position/position.py +0 -0
- {investing_algorithm_framework-7.19.14/investing_algorithm_framework/domain/positions → investing_algorithm_framework-7.19.18/investing_algorithm_framework/domain/models/position}/position_size.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/snapshot_interval.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/strategy_profile.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/time_frame.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/time_interval.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/time_unit.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/tracing/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/tracing/trace.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/trade/trade.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/models/trade/trade_status.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/order_executor.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/portfolio_provider.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/services/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/services/rounding_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/services/state_handler.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/stateless_actions.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/strategy.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/csv.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/custom_tqdm.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/dates.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/jupyter_notebook_detection.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/polars.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/random.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/signatures.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/stoppable_thread.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/domain/utils/synchronized.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/download_data.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/data_providers/ccxt.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/data_providers/pandas.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/database/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/decimal_parser.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/model_extension.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/order/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/order/order.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/order/order_metadata.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/order_trade_association.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/portfolio/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/portfolio/portfolio_snapshot.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/portfolio/sql_portfolio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/position/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/position/position.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/position/position_snapshot.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/trades/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/models/trades/trade.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/order_executors/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/order_executors/backtest_oder_executor.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/order_executors/ccxt_order_executor.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/portfolio_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/portfolio_providers/ccxt_portfolio_provider.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/order_metadata_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/order_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/portfolio_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/portfolio_snapshot_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/position_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/position_snapshot_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/repositories/trade_repository.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/services/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/services/aws/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/services/azure/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/infrastructure/services/azure/state_handler.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/backtesting/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/backtesting/backtest_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/data_providers/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/data_providers/data_provider_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/market_credential_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/alpha.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/beta.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/cagr.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/calmar_ratio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/drawdown.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/equity_curve.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/exposure.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/generate.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/mean_daily_return.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/price_efficiency.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/profit_factor.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/recovery.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/returns.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/risk_free_rate.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/sharpe_ratio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/sortino_ratio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/standard_deviation.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/trades.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/treynor_ratio.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/ulcer.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/value_at_risk.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/volatility.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/metrics/win_rate.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/order_service/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/order_service/order_backtest_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/order_service/order_executor_lookup.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/order_service/order_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/backtest_portfolio_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/portfolio_configuration_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/portfolio_provider_lookup.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/portfolio_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/portfolio_snapshot_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/portfolios/portfolio_sync_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/positions/__init__.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/positions/position_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/positions/position_snapshot_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/repository_service.py +0 -0
- {investing_algorithm_framework-7.19.14 → investing_algorithm_framework-7.19.18}/investing_algorithm_framework/services/trade_order_evaluator/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: investing-algorithm-framework
|
|
3
|
-
Version: 7.19.
|
|
3
|
+
Version: 7.19.18
|
|
4
4
|
Summary: A framework for creating trading bots
|
|
5
5
|
Author: MDUYN
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -34,22 +34,60 @@ Requires-Dist: wrapt (>=1.16.0)
|
|
|
34
34
|
Requires-Dist: yfinance (>=0.2.61,<0.3.0)
|
|
35
35
|
Description-Content-Type: text/markdown
|
|
36
36
|
|
|
37
|
-
<div align="center">
|
|
37
|
+
<div align="center">
|
|
38
|
+
<h1>⚡ Investing Algorithm Framework</h1>
|
|
39
|
+
|
|
40
|
+
<p style="font-size: 18px; font-weight: 600; margin: 15px 0;">
|
|
41
|
+
🚀 <b>Build. Backtest. Deploy.</b> Quantitative Trading Strategies at Scale
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<p style="font-size: 14px; color: #666; margin-bottom: 25px;">
|
|
45
|
+
The fastest way to go from trading idea to production-ready trading bot
|
|
46
|
+
</p>
|
|
47
|
+
|
|
48
|
+
<!-- Quick Links -->
|
|
49
|
+
<div style="margin: 20px 0;">
|
|
50
|
+
<a target="_blank" href="https://coding-kitties.github.io/investing-algorithm-framework/">
|
|
51
|
+
<img src="https://img.shields.io/badge/📖_Documentation-blue?style=for-the-badge">
|
|
52
|
+
</a>
|
|
53
|
+
|
|
54
|
+
<a href="https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/installation">
|
|
55
|
+
<img src="https://img.shields.io/badge/🚀_Quick_Start-green?style=for-the-badge">
|
|
56
|
+
</a>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<!-- Badges -->
|
|
60
|
+
<div style="margin-bottom: 20px;">
|
|
61
|
+
<a target="_blank" href="https://discord.gg/dQsRmGZP"><img src="https://img.shields.io/discord/1345358169777635410.svg?color=7289da&label=Discord&logo=discord&style=flat-square" alt="Discord"></a>
|
|
62
|
+
|
|
63
|
+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml"><img src="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml/badge.svg?style=flat-square" alt="Tests"></a>
|
|
64
|
+
|
|
65
|
+
<a href="https://pypi.org/project/investing-algorithm-framework/"><img src="https://img.shields.io/pypi/v/investing-algorithm-framework.svg?style=flat-square" alt="PyPI"></a>
|
|
66
|
+
|
|
67
|
+
<a href="https://pepy.tech/project/investing-algorithm-framework"><img src="https://pepy.tech/badge/investing-algorithm-framework/month?style=flat-square" alt="Downloads"></a>
|
|
68
|
+
|
|
69
|
+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/stargazers"><img src="https://img.shields.io/github/stars/coding-kitties/investing-algorithm-framework?style=flat-square" alt="Stars"></a>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<img src="static/showcase.svg" alt="Investing Algorithm Framework" style="height: 400px; max-width: 100%; margin: 30px 0;">
|
|
73
|
+
|
|
74
|
+
<hr style="margin: 30px 0; border: none; border-top: 2px solid #ddd;">
|
|
75
|
+
|
|
76
|
+
> ⭐ **If you like this project, please consider [starring](https://github.com/coding-kitties/investing-algorithm-framework) it!** Your support helps us build better tools for the community.
|
|
77
|
+
|
|
78
|
+
</div>
|
|
38
79
|
|
|
39
80
|
---
|
|
40
81
|
|
|
41
|
-
|
|
42
|
-
<a target="_blank" href="https://discord.gg/dQsRmGZP"><img src="https://img.shields.io/discord/1345358169777635410.svg?color=7289da&label=TradeBotLab%20Discord&logo=discord&style=flat"></a>
|
|
43
|
-
<img src="https://img.shields.io/badge/docs-website-brightgreen"></a> <a href="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/publish.yml"><img src="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/publish.yml/badge.svg"></a> <a href="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml"><img src="https://github.com/coding-kitties/investing-algorithm-framework/actions/workflows/test.yml/badge.svg"></a> <a href="https://pepy.tech/project/investing-algorithm-framework"><img src="https://pepy.tech/badge/investing-algorithm-framework"></a> <a href="https://pypi.org/project/investing-algorithm-framework/"><img src="https://img.shields.io/pypi/v/investing-algorithm-framework.svg"></a> <a href="https://www.reddit.com/r/InvestingBots/"><img src="https://img.shields.io/reddit/subreddit-subscribers/investingbots?style=social"></a> <a href="https://github.com/coding-kitties/investing-algorithm-framework/stargazers"><img src="https://img.shields.io/github/stars/coding-kitties/investing-algorithm-framework.svg?style=social&label=Star"></a>
|
|
44
|
-
</div>
|
|
82
|
+
## 💡 Why Investing Algorithm Framework?
|
|
45
83
|
|
|
46
|
-
|
|
84
|
+
Stop wasting time on boilerplate. The **Investing Algorithm Framework** handles all the heavy lifting:
|
|
47
85
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
86
|
+
✨ **From Idea to Production** — Write your strategy once, deploy everywhere
|
|
87
|
+
📊 **Accurate Backtesting** — Event-driven and vectorized engines for realistic results
|
|
88
|
+
⚡ **Lightning Fast** — Optimized for speed and efficiency
|
|
89
|
+
🔧 **Extensible** — Connect any exchange, broker, or data source
|
|
90
|
+
📈 **Production Ready** — Built for real money trading
|
|
53
91
|
|
|
54
92
|
## Sponsors
|
|
55
93
|
|
|
@@ -62,62 +100,65 @@ The Investing Algorithm Framework is a Python-based framework built to streamlin
|
|
|
62
100
|
</a>
|
|
63
101
|
|
|
64
102
|
|
|
65
|
-
##
|
|
103
|
+
## 🔌 Plugins & Integrations
|
|
104
|
+
|
|
105
|
+
Extend your trading bot with powerful plugins:
|
|
106
|
+
|
|
107
|
+
| Plugin | Description |
|
|
108
|
+
|--------|-----------------------------------------------------------------------------|
|
|
109
|
+
| 🎯 **[PyIndicators](https://github.com/coding-kitties/PyIndicators)** | Technical analysis indicators for strategy development |
|
|
110
|
+
| 🏪 **[Finterion Plugin](https://github.com/Finterion/finterion-investing-algorithm-framework-plugin)** | Monetize & share your strategies with the public on Finterion's marketplace |
|
|
111
|
+
|
|
112
|
+
## 🌟 Powerful Features
|
|
66
113
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
and offers flexible deployment options, including Azure Functions and AWS Lambda.
|
|
84
|
-
Designed for extensibility, it allows you to integrate custom strategies, data providers, and order executors, enabling support for any exchange or broker.
|
|
85
|
-
It natively supports multiple data formats, including OHLCV, ticker, and custom datasets with seamless compatibility for both Pandas and Polars DataFrames.
|
|
114
|
+
| Feature | Description |
|
|
115
|
+
|---------|-------------|
|
|
116
|
+
| 🐍 **Python 3.10+** | Cross-platform support for Windows, macOS, and Linux |
|
|
117
|
+
| ⚙️ **Event-Driven Backtest** | Accurate, realistic backtesting with event-driven architecture |
|
|
118
|
+
| ⚡ **Vectorized Backtest** | Lightning-fast signal research and prototyping |
|
|
119
|
+
| 📊 **Advanced Metrics** | CAGR, Sharpe ratio, max drawdown, win rate, and 50+ more metrics |
|
|
120
|
+
| 📈 **Backtest Reports** | Generate detailed, comparison-ready reports |
|
|
121
|
+
| 🎯 **Statistical Testing** | Permutation testing for strategy significance evaluation |
|
|
122
|
+
| 💱 **Live Trading** | Real-time execution across multiple exchanges (via CCXT) |
|
|
123
|
+
| 💼 **Portfolio Management** | Full position and trade management with persistence |
|
|
124
|
+
| 📉 **Market Data** | OHLCV, tickers, custom data — Polars & Pandas native |
|
|
125
|
+
| 🔗 **Data Integrations** | PyIndicators, multiple data sources, custom providers |
|
|
126
|
+
| ☁️ **Cloud Deployment** | Azure Functions, AWS Lambda, and more |
|
|
127
|
+
| 🌐 **Web API** | REST API for bot interaction and monitoring |
|
|
128
|
+
| 🧩 **Fully Extensible** | Custom strategies, data providers, order executors |
|
|
129
|
+
| 🏗️ **Modular Design** | Build with reusable, composable components |
|
|
86
130
|
|
|
87
131
|
|
|
88
132
|
|
|
89
133
|
## 🚀 Quickstart
|
|
90
134
|
|
|
91
|
-
Installation
|
|
92
|
-
Install the framework via [PyPI](https://pypi.org/project/investing-algorithm-framework/):
|
|
135
|
+
### 📦 Installation
|
|
93
136
|
|
|
94
|
-
|
|
137
|
+
Install the framework via [PyPI](https://pypi.org/project/investing-algorithm-framework/):
|
|
95
138
|
|
|
96
139
|
```bash
|
|
97
140
|
pip install investing-algorithm-framework
|
|
98
141
|
```
|
|
99
142
|
|
|
100
|
-
|
|
143
|
+
### 🎯 Initialize Your Project
|
|
144
|
+
|
|
145
|
+
Run the following command to scaffold a new trading bot:
|
|
101
146
|
|
|
102
147
|
```bash
|
|
103
|
-
investing-algorithm-
|
|
148
|
+
investing-algorithm-framework init
|
|
104
149
|
```
|
|
105
150
|
|
|
106
|
-
For
|
|
151
|
+
For an AWS Lambda-ready project:
|
|
107
152
|
|
|
108
153
|
```bash
|
|
109
154
|
investing-algorithm-framework init --type aws_lambda
|
|
110
155
|
```
|
|
111
156
|
|
|
112
|
-
This
|
|
157
|
+
This creates:
|
|
158
|
+
- **app.py** — Your bot's entry point (keep as-is)
|
|
159
|
+
- **strategy.py** — Your trading strategy (customize this!)
|
|
113
160
|
|
|
114
|
-
|
|
115
|
-
* strategy.py: A sample strategy file to get started.
|
|
116
|
-
|
|
117
|
-
> Note: Keep the app.py file as is. You can modify strategy.py and add additional files to build your bot.
|
|
118
|
-
> You can always change the app to the web version by changing the `app.py` file.
|
|
119
|
-
|
|
120
|
-
---
|
|
161
|
+
> 💡 **Tip:** You can also create `default_web` or `azure_function` projects
|
|
121
162
|
|
|
122
163
|
## 📈 Example: A Simple Trading Bot
|
|
123
164
|
The following example trading bot implements a simple moving average strategy.
|
|
@@ -138,7 +179,7 @@ from pyindicators import ema, rsi, crossover, crossunder
|
|
|
138
179
|
|
|
139
180
|
from investing_algorithm_framework import TradingStrategy, DataSource, \
|
|
140
181
|
TimeUnit, DataType, PositionSize, create_app, RESOURCE_DIRECTORY, \
|
|
141
|
-
BacktestDateRange, BacktestReport
|
|
182
|
+
BacktestDateRange, BacktestReport, TakeProfitRule, StopLossRule
|
|
142
183
|
|
|
143
184
|
|
|
144
185
|
class RSIEMACrossoverStrategy(TradingStrategy):
|
|
@@ -153,6 +194,34 @@ class RSIEMACrossoverStrategy(TradingStrategy):
|
|
|
153
194
|
symbol="ETH", percentage_of_portfolio=20.0
|
|
154
195
|
)
|
|
155
196
|
]
|
|
197
|
+
take_profits = [
|
|
198
|
+
TakeProfitRule(
|
|
199
|
+
symbol="BTC",
|
|
200
|
+
percentage_threshold=10,
|
|
201
|
+
trailing=True,
|
|
202
|
+
sell_percentage=100
|
|
203
|
+
),
|
|
204
|
+
TakeProfitRule(
|
|
205
|
+
symbol="ETH",
|
|
206
|
+
percentage_threshold=10,
|
|
207
|
+
trailing=True,
|
|
208
|
+
sell_percentage=100
|
|
209
|
+
)
|
|
210
|
+
]
|
|
211
|
+
stop_losses = [
|
|
212
|
+
StopLossRule(
|
|
213
|
+
symbol="BTC",
|
|
214
|
+
percentage_threshold=5,
|
|
215
|
+
trailing=False,
|
|
216
|
+
sell_percentage=100
|
|
217
|
+
),
|
|
218
|
+
StopLossRule(
|
|
219
|
+
symbol="ETH",
|
|
220
|
+
percentage_threshold=5,
|
|
221
|
+
trailing=False,
|
|
222
|
+
sell_percentage=100
|
|
223
|
+
)
|
|
224
|
+
]
|
|
156
225
|
|
|
157
226
|
def __init__(
|
|
158
227
|
self,
|
|
@@ -376,84 +445,90 @@ Comprehensive documentation is available at [github pages](https://coding-kittie
|
|
|
376
445
|
|
|
377
446
|
## 🛠️ Development
|
|
378
447
|
|
|
379
|
-
|
|
448
|
+
### Setup
|
|
380
449
|
|
|
381
450
|
Clone the repository and install dependencies using Poetry:
|
|
382
451
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
> Make sure you have poetry installed. If you don't have poetry installed, you can find installation instructions [here](https://python-poetry.org/docs/#installation)
|
|
452
|
+
> Make sure you have [Poetry](https://python-poetry.org/docs/#installation) installed.
|
|
386
453
|
|
|
387
454
|
```bash
|
|
388
|
-
git clone
|
|
455
|
+
git clone https://github.com/coding-kitties/investing-algorithm-framework.git
|
|
389
456
|
cd investing-algorithm-framework
|
|
390
457
|
poetry install
|
|
391
458
|
```
|
|
392
459
|
|
|
393
|
-
### Running
|
|
394
|
-
|
|
395
|
-
To run the tests, you can run the following command:
|
|
460
|
+
### Running Tests
|
|
396
461
|
|
|
397
462
|
```bash
|
|
398
|
-
#
|
|
463
|
+
# Run all tests
|
|
399
464
|
python -m unittest discover -s tests
|
|
465
|
+
|
|
466
|
+
# Run specific test
|
|
467
|
+
python -m unittest tests.services.test_trade_service.TestTradeService
|
|
400
468
|
```
|
|
401
469
|
|
|
402
|
-
## ⚠️ Disclaimer
|
|
470
|
+
## ⚠️ Risk Disclaimer
|
|
403
471
|
|
|
404
|
-
|
|
405
|
-
which you are afraid to lose, until you have clear understanding how the framework works. We can't stress this enough:
|
|
472
|
+
🚨 **Use at Your Own Risk**
|
|
406
473
|
|
|
407
|
-
|
|
408
|
-
YOUR COMPONENTS THOROUGHLY. USE THE SOFTWARE AT YOUR OWN RISK.
|
|
409
|
-
THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR INVESTMENT RESULTS.
|
|
474
|
+
If you use this framework for your investments, **do not risk money which you are afraid to lose** until you have a clear understanding of how the framework works.
|
|
410
475
|
|
|
411
|
-
|
|
412
|
-
|
|
476
|
+
**BEFORE YOU START USING MONEY WITH THE FRAMEWORK:**
|
|
477
|
+
- ✅ Test your strategies thoroughly with backtesting
|
|
478
|
+
- ✅ Review the source code of any plugins you use
|
|
479
|
+
- ✅ Start with small amounts on paper trading first
|
|
480
|
+
- ✅ Understand the risks involved
|
|
413
481
|
|
|
414
|
-
We
|
|
482
|
+
**We assume no responsibility for your investment results. The authors and all affiliates disclaim any liability for losses.**
|
|
415
483
|
|
|
416
|
-
|
|
484
|
+
---
|
|
417
485
|
|
|
418
|
-
|
|
419
|
-
at the [documentation webstie](https://coding-kitties.github.io/investing-algorithm-framework/)
|
|
486
|
+
## 🤝 Contributing
|
|
420
487
|
|
|
421
|
-
|
|
422
|
-
if you are building your algorithm/bot. But if you do, check out the
|
|
423
|
-
contributing page at the website.
|
|
488
|
+
The investing algorithm framework is a **community-driven project**. We welcome contributions at all levels:
|
|
424
489
|
|
|
425
|
-
|
|
426
|
-
|
|
490
|
+
- 🐛 **Found a bug?** [Open an issue](https://github.com/coding-kitties/investing-algorithm-framework/issues/new)
|
|
491
|
+
- 💡 **Have an idea?** [Share it with us](https://github.com/coding-kitties/investing-algorithm-framework/issues/new)
|
|
492
|
+
- 🔧 **Want to code?** Check the [project board](https://github.com/coding-kitties/investing-algorithm-framework/projects?query=is%3Aopen)
|
|
427
493
|
|
|
428
|
-
|
|
494
|
+
**Guidelines:**
|
|
495
|
+
- Read the [Contributing Guide](https://coding-kitties.github.io/investing-algorithm-framework/Contributing%20Guide/contributing)
|
|
496
|
+
- Always create PRs against the `develop` branch, not `main`
|
|
497
|
+
- Open an issue before starting major feature work
|
|
429
498
|
|
|
430
|
-
|
|
431
|
-
We welcome you to participate, contribute and together help build the future trading bots developed in python.
|
|
499
|
+
---
|
|
432
500
|
|
|
433
|
-
|
|
501
|
+
## 📚 Documentation
|
|
434
502
|
|
|
435
|
-
|
|
436
|
-
If you want to contribute to the project roadmap, please take a look at the [project board](https://github.com/coding-kitties/investing-algorithm-framework/projects?query=is%3Aopen).
|
|
437
|
-
You can pick up a task by assigning yourself to it.
|
|
503
|
+
Comprehensive documentation is available at [GitHub Pages](https://coding-kitties.github.io/investing-algorithm-framework/)
|
|
438
504
|
|
|
439
|
-
|
|
440
|
-
This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it.
|
|
505
|
+
---
|
|
441
506
|
|
|
442
|
-
|
|
507
|
+
## 📬 Community
|
|
443
508
|
|
|
444
|
-
|
|
509
|
+
Join us and connect with other traders and developers:
|
|
445
510
|
|
|
446
|
-
* [
|
|
447
|
-
* [
|
|
511
|
+
* 💬 [Discord Community](https://discord.gg/dQsRmGZP) — Real-time chat and support
|
|
512
|
+
* 🔗 [Reddit Community](https://www.reddit.com/r/InvestingBots/) — Share strategies and discuss
|
|
513
|
+
* 📖 [Documentation](https://coding-kitties.github.io/investing-algorithm-framework/) — Guides and API references
|
|
448
514
|
|
|
515
|
+
---
|
|
449
516
|
|
|
450
517
|
## 🏆 Acknowledgements
|
|
451
518
|
|
|
452
|
-
We want to thank all contributors to this project. A full list
|
|
453
|
-
|
|
519
|
+
We want to thank all contributors to this project. A full list can be found in [AUTHORS.md](https://github.com/coding-kitties/investing-algorithm-framework/blob/master/AUTHORS.md)
|
|
520
|
+
|
|
521
|
+
### Report Issues
|
|
454
522
|
|
|
455
|
-
|
|
523
|
+
If you discover a bug in the framework, please [search our issue tracker](https://github.com/coding-kitties/investing-algorithm-framework/issues?q=is%3Aissue) first. If it hasn't been reported, please [create a new issue](https://github.com/coding-kitties/investing-algorithm-framework/issues/new).
|
|
456
524
|
|
|
457
|
-
|
|
458
|
-
|
|
525
|
+
---
|
|
526
|
+
|
|
527
|
+
<div align="center">
|
|
528
|
+
<p>
|
|
529
|
+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/stargazers">⭐ Star us on GitHub</a> ·
|
|
530
|
+
<a href="https://discord.gg/dQsRmGZP">💬 Join Discord</a> ·
|
|
531
|
+
<a href="https://github.com/coding-kitties/investing-algorithm-framework/issues/new">🐛 Report Bug</a>
|
|
532
|
+
</p>
|
|
533
|
+
</div>
|
|
459
534
|
|