pfund 0.0.1.dev12__tar.gz → 0.0.1.dev13__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.
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/PKG-INFO +2 -2
- pfund-0.0.1.dev13/pfund/__init__.py +70 -0
- pfund-0.0.1.dev13/pfund/main.py +18 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pyproject.toml +7 -6
- pfund-0.0.1.dev12/pfund/__init__.py +0 -32
- pfund-0.0.1.dev12/pfund/main.py +0 -10
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/LICENSE +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/README.md +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/CONTRIBUTING.md +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/account_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/account_crypto.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/account_ib.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/adapter.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/analyzer.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/balance_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/balance_crypto.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/balance_ib.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_backtest.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_crypto.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_live.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/broker_ib.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/ib_api.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/ib_client.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/ib_wrapper.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/commands/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/commands/config.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/commands/docker_compose.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/main.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/config.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/lot_sizes_linear.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/pdt_matchings_linear.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/tick_sizes_linear.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/config.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_inverse.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_linear.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_option.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_spot.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_inverse.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_linear.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_option.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_spot.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_inverse.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_linear.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_option.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_spot.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/configuration.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/ib/config.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/logging.yml +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config_handler.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/_zmq_routes.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/commons.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/paths.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/data_tools/data_tool_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/data_tools/data_tool_pandas.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_bar.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_quote.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_tick.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_time_based.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/resolution.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/timeframe.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/backtest_engine.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/base_engine.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/test_engine.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/trade_engine.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/train_engine.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/errors.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/exchange.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/linear/exchange.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/rest_api.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/ws_api.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/exchange.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_inverse +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_linear +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_option +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_spot +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_inverse +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_linear +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_option +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_spot +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/ws_api.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/exchange_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/rest_api_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/ws_api_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/account_summary_tags.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/client.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/comm.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/commission_report.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/common.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/connection.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/contract.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/decoder.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/enum_implem.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/errors.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/execution.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/ibapi.pyproj +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/message.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/news.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/object_implem.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/order.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/order_condition.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/order_state.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/orderdecoder.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/reader.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/scanner.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/server_versions.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/softdollartier.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/tag_value.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/ticktype.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/utils.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/wrapper.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/git_controller.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/indicator_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/ta_indicator.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/talib_indicator.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/investment_profile.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/base_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/connection_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/data_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/order_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/portfolio_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/risk_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/strategy_manager.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/mixins/backtest.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/model_backtest.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/model_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/model_meta.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/pytorch_model.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/sklearn_model.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_crypto.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_ib.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_statuses.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_time_in_force.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/config.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/filters.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/formatter.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/handlers.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/portfolio.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/position_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/position_crypto.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/position_ib.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/product_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/product_crypto.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/product_ib.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/risk_monitor.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/__init__.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/allocation_strategy.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/diversification_strategy.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/hedging_strategy.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/optimization_strategy.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/portfolio_strategy.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/rebalancing_strategy.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/strategy_backtest.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/strategy_base.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/strategy_meta.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/dashboards/pfund-overview.streamlit.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/notebooks/pfund-analytics.ipynb +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/notebooks/pfund-overview.ipynb +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/backtest.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/bybit.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/common_literals.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/core.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/universe.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/utils/aliases.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/utils/envs.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/utils/utils.py +0 -0
- {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/zeromq.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pfund
|
|
3
|
-
Version: 0.0.1.
|
|
3
|
+
Version: 0.0.1.dev13
|
|
4
4
|
Summary: A Complete Algo-Trading Framework for Machine Learning, enabling trading across TradFi, CeFi and DeFi. Supports Vectorized and Event-Driven Backtesting, Paper and Live Trading
|
|
5
5
|
Home-page: https://pfund.ai
|
|
6
6
|
License: Apache-2.0
|
|
@@ -21,7 +21,7 @@ Requires-Dist: gitpython (>=3.1.43,<4.0.0)
|
|
|
21
21
|
Requires-Dist: mlflow (>=2.11.3,<3.0.0) ; extra == "ml"
|
|
22
22
|
Requires-Dist: orjson (>=3.9.14,<4.0.0) ; extra == "data"
|
|
23
23
|
Requires-Dist: papermill (>=2.5.0,<3.0.0) ; extra == "analytics"
|
|
24
|
-
Requires-Dist: pfeed[boost,data,df] (>=0.0.1.
|
|
24
|
+
Requires-Dist: pfeed[boost,data,df] (>=0.0.1.dev11,<0.0.2) ; extra == "data"
|
|
25
25
|
Requires-Dist: pfolio[bayesian,data,portfolio,temporary] (>=0.0.1.dev4,<0.0.2) ; extra == "analytics"
|
|
26
26
|
Requires-Dist: platformdirs (>=4.2.0,<5.0.0)
|
|
27
27
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
from importlib.metadata import version
|
|
3
|
+
|
|
4
|
+
from pfund.config_handler import configure
|
|
5
|
+
from pfund.utils.aliases import ALIASES
|
|
6
|
+
from pfund.const.paths import PROJ_PATH
|
|
7
|
+
# add python path so that for files like "ibapi" (official python code from IB) can find their modules
|
|
8
|
+
sys.path.append(f'{PROJ_PATH}/externals')
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# NOTE: dynamically import modules to avoid click cli latency (reduced from ~4s to ~0.2s)
|
|
12
|
+
def __getattr__(name):
|
|
13
|
+
"""
|
|
14
|
+
Dynamically import and return modules and classes based on their name.
|
|
15
|
+
|
|
16
|
+
Supports dynamic loading of data sources and feed classes to minimize
|
|
17
|
+
initial load time.
|
|
18
|
+
"""
|
|
19
|
+
import importlib
|
|
20
|
+
if 'Engine' in name:
|
|
21
|
+
Engine = getattr(importlib.import_module('pfund.engines'), name)
|
|
22
|
+
globals()[name] = Engine
|
|
23
|
+
return Engine
|
|
24
|
+
elif 'Strategy' in name:
|
|
25
|
+
Strategy = getattr(importlib.import_module('pfund.strategies'), name)
|
|
26
|
+
globals()[name] = Strategy
|
|
27
|
+
return Strategy
|
|
28
|
+
elif 'Model' in name or 'Feature' in name:
|
|
29
|
+
Model = getattr(importlib.import_module('pfund.models'), name)
|
|
30
|
+
globals()[name] = Model
|
|
31
|
+
return Model
|
|
32
|
+
elif 'Indicator' in name:
|
|
33
|
+
Indicator = getattr(importlib.import_module('pfund.indicators'), name)
|
|
34
|
+
globals()[name] = Indicator
|
|
35
|
+
return Indicator
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# NOTE: dummy classes/modules for type hinting
|
|
39
|
+
# e.g. import pfund as pf, when you type "pf.",
|
|
40
|
+
# you will still see the following suggestions even they are dynamically imported:
|
|
41
|
+
BacktestEngine: ...
|
|
42
|
+
TradeEngine: ...
|
|
43
|
+
TrainEngine: ...
|
|
44
|
+
TestEngine: ...
|
|
45
|
+
Strategy: ...
|
|
46
|
+
Model: ...
|
|
47
|
+
PyTorchModel: ...
|
|
48
|
+
SKLearnModel: ...
|
|
49
|
+
Feature: ...
|
|
50
|
+
TAIndicator: ...
|
|
51
|
+
TALibIndicator: ...
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
__version__ = version('pfund')
|
|
55
|
+
__all__ = (
|
|
56
|
+
'__version__',
|
|
57
|
+
'configure',
|
|
58
|
+
'ALIASES',
|
|
59
|
+
'BacktestEngine',
|
|
60
|
+
'TradeEngine',
|
|
61
|
+
'TrainEngine',
|
|
62
|
+
'TestEngine',
|
|
63
|
+
'Strategy',
|
|
64
|
+
'Model',
|
|
65
|
+
'PyTorchModel',
|
|
66
|
+
'SKLearnModel',
|
|
67
|
+
'Feature',
|
|
68
|
+
'TAIndicator',
|
|
69
|
+
'TALibIndicator',
|
|
70
|
+
)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import atexit
|
|
2
|
+
|
|
3
|
+
from pfund.cli import pfund_group
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def exit_cli():
|
|
7
|
+
"""Application Exitpoint."""
|
|
8
|
+
print("Cleanup actions here...")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def run_cli() -> None:
|
|
12
|
+
"""Application Entrypoint."""
|
|
13
|
+
# atexit.register(exit_cli)
|
|
14
|
+
pfund_group(obj={})
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
if __name__ == '__main__':
|
|
18
|
+
run_cli()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "pfund"
|
|
3
|
-
version = "0.0.1.
|
|
3
|
+
version = "0.0.1.dev13"
|
|
4
4
|
description = "A Complete Algo-Trading Framework for Machine Learning, enabling trading across TradFi, CeFi and DeFi. Supports Vectorized and Event-Driven Backtesting, Paper and Live Trading"
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = ["Stephen Yau <softwareentrepreneer+pfund@gmail.com>"]
|
|
@@ -23,7 +23,7 @@ requests = "^2.31.0"
|
|
|
23
23
|
websocket-client = "^1.7.0"
|
|
24
24
|
python-telegram-bot = "^20.7"
|
|
25
25
|
gitpython = "^3.1.43"
|
|
26
|
-
pfeed = { version = "^0.0.1.
|
|
26
|
+
pfeed = { version = "^0.0.1.dev11", optional = true, extras = ["df", "data", "boost"] }
|
|
27
27
|
orjson = { version = "^3.9.14", optional = true }
|
|
28
28
|
pyzmq = { version = "^25.1.2", optional = true }
|
|
29
29
|
ta = { version = "^0.11.0", optional = true }
|
|
@@ -50,6 +50,10 @@ optional = true
|
|
|
50
50
|
pfolio = { path = "../pfolio", develop = true, extras = ["bayesian", "data", "portfolio", "temporary"] }
|
|
51
51
|
pybit = "^5.6.2"
|
|
52
52
|
ta-lib = "^0.4.28"
|
|
53
|
+
commitizen = "^3.24.0"
|
|
54
|
+
mypy = "^1.9.0"
|
|
55
|
+
ruff = "^0.3.5"
|
|
56
|
+
grayskull = "^2.5.3"
|
|
53
57
|
|
|
54
58
|
[tool.poetry.group.test.dependencies]
|
|
55
59
|
pytest = "^8.0.0"
|
|
@@ -58,11 +62,8 @@ pytest-cov = "^5.0.0"
|
|
|
58
62
|
pytest-xdist = "^3.5.0"
|
|
59
63
|
tox = "^4.14.2"
|
|
60
64
|
faker = "^24.4.0"
|
|
61
|
-
pre-commit = "^3.6.1"
|
|
62
65
|
bandit = "^1.7.7"
|
|
63
|
-
|
|
64
|
-
mypy = "^1.9.0"
|
|
65
|
-
ruff = "^0.3.5"
|
|
66
|
+
pre-commit = "^3.6.1"
|
|
66
67
|
|
|
67
68
|
[tool.poetry.group.doc.dependencies]
|
|
68
69
|
jupyter-book = "^1.0.0"
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
from importlib.metadata import version
|
|
3
|
-
|
|
4
|
-
from pfund.const.paths import PROJ_PATH
|
|
5
|
-
# add python path so that for files like "ibapi" (official python code from IB) can find their modules
|
|
6
|
-
sys.path.append(f'{PROJ_PATH}/externals')
|
|
7
|
-
from pfund.config_handler import configure
|
|
8
|
-
from pfund.engines import BacktestEngine, TrainEngine, TestEngine, TradeEngine
|
|
9
|
-
from pfund.strategies import Strategy
|
|
10
|
-
from pfund.models import Feature, Model
|
|
11
|
-
from pfund.utils.aliases import ALIASES
|
|
12
|
-
try:
|
|
13
|
-
from pfund.models import PyTorchModel
|
|
14
|
-
except ImportError:
|
|
15
|
-
pass
|
|
16
|
-
try:
|
|
17
|
-
from pfund.models import SKLearnModel
|
|
18
|
-
except ImportError:
|
|
19
|
-
pass
|
|
20
|
-
from pfund.indicators import TAIndicator, TALibIndicator
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
__version__ = version('pfund')
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
__all__ = (
|
|
27
|
-
'__version__',
|
|
28
|
-
'configure', 'ALIASES',
|
|
29
|
-
'BacktestEngine', 'TrainEngine', 'TestEngine', 'TradeEngine',
|
|
30
|
-
'Strategy', 'Model', 'PyTorchModel', 'SKLearnModel',
|
|
31
|
-
'Feature', 'TAIndicator', 'TALibIndicator',
|
|
32
|
-
)
|
pfund-0.0.1.dev12/pfund/main.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/pdt_matchings_linear.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/dashboards/pfund-overview.streamlit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|