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.
Files changed (189) hide show
  1. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/PKG-INFO +2 -2
  2. pfund-0.0.1.dev13/pfund/__init__.py +70 -0
  3. pfund-0.0.1.dev13/pfund/main.py +18 -0
  4. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pyproject.toml +7 -6
  5. pfund-0.0.1.dev12/pfund/__init__.py +0 -32
  6. pfund-0.0.1.dev12/pfund/main.py +0 -10
  7. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/LICENSE +0 -0
  8. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/README.md +0 -0
  9. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/CONTRIBUTING.md +0 -0
  10. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/__init__.py +0 -0
  11. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/account_base.py +0 -0
  12. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/account_crypto.py +0 -0
  13. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/accounts/account_ib.py +0 -0
  14. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/adapter.py +0 -0
  15. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/analyzer.py +0 -0
  16. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/__init__.py +0 -0
  17. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/balance_base.py +0 -0
  18. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/balance_crypto.py +0 -0
  19. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/balances/balance_ib.py +0 -0
  20. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/__init__.py +0 -0
  21. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_backtest.py +0 -0
  22. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_base.py +0 -0
  23. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_crypto.py +0 -0
  24. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/broker_live.py +0 -0
  25. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/__init__.py +0 -0
  26. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/broker_ib.py +0 -0
  27. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/ib_api.py +0 -0
  28. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/ib_client.py +0 -0
  29. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/brokers/ib/ib_wrapper.py +0 -0
  30. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/__init__.py +0 -0
  31. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/commands/__init__.py +0 -0
  32. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/commands/config.py +0 -0
  33. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/commands/docker_compose.py +0 -0
  34. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/cli/main.py +0 -0
  35. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/config.yml +0 -0
  36. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/lot_sizes_linear.yml +0 -0
  37. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/pdt_matchings_linear.yml +0 -0
  38. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/binance/linear/tick_sizes_linear.yml +0 -0
  39. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/config.yml +0 -0
  40. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_inverse.yml +0 -0
  41. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_linear.yml +0 -0
  42. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_option.yml +0 -0
  43. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/lot_sizes_spot.yml +0 -0
  44. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_inverse.yml +0 -0
  45. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_linear.yml +0 -0
  46. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_option.yml +0 -0
  47. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/pdt_matchings_spot.yml +0 -0
  48. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_inverse.yml +0 -0
  49. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_linear.yml +0 -0
  50. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_option.yml +0 -0
  51. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/bybit/tick_sizes_spot.yml +0 -0
  52. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/configuration.py +0 -0
  53. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/ib/config.yml +0 -0
  54. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config/logging.yml +0 -0
  55. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/config_handler.py +0 -0
  56. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/__init__.py +0 -0
  57. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/_zmq_routes.py +0 -0
  58. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/commons.py +0 -0
  59. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/const/paths.py +0 -0
  60. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/data_tools/data_tool_base.py +0 -0
  61. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/data_tools/data_tool_pandas.py +0 -0
  62. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/__init__.py +0 -0
  63. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_bar.py +0 -0
  64. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_base.py +0 -0
  65. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_quote.py +0 -0
  66. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_tick.py +0 -0
  67. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/data_time_based.py +0 -0
  68. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/resolution.py +0 -0
  69. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/datas/timeframe.py +0 -0
  70. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/__init__.py +0 -0
  71. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/backtest_engine.py +0 -0
  72. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/base_engine.py +0 -0
  73. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/test_engine.py +0 -0
  74. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/trade_engine.py +0 -0
  75. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/engines/train_engine.py +0 -0
  76. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/errors.py +0 -0
  77. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/__init__.py +0 -0
  78. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/__init__.py +0 -0
  79. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/exchange.py +0 -0
  80. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/linear/exchange.py +0 -0
  81. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/rest_api.py +0 -0
  82. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/binance/ws_api.py +0 -0
  83. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/__init__.py +0 -0
  84. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/exchange.py +0 -0
  85. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api.py +0 -0
  86. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_inverse +0 -0
  87. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_linear +0 -0
  88. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_option +0 -0
  89. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_result_spot +0 -0
  90. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_inverse +0 -0
  91. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_linear +0 -0
  92. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_option +0 -0
  93. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/rest_api_samples/get_markets_return_spot +0 -0
  94. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/bybit/ws_api.py +0 -0
  95. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/exchange_base.py +0 -0
  96. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/rest_api_base.py +0 -0
  97. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/exchanges/ws_api_base.py +0 -0
  98. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/__init__.py +0 -0
  99. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/account_summary_tags.py +0 -0
  100. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/client.py +0 -0
  101. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/comm.py +0 -0
  102. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/commission_report.py +0 -0
  103. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/common.py +0 -0
  104. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/connection.py +0 -0
  105. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/contract.py +0 -0
  106. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/decoder.py +0 -0
  107. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/enum_implem.py +0 -0
  108. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/errors.py +0 -0
  109. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/execution.py +0 -0
  110. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/ibapi.pyproj +0 -0
  111. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/message.py +0 -0
  112. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/news.py +0 -0
  113. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/object_implem.py +0 -0
  114. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/order.py +0 -0
  115. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/order_condition.py +0 -0
  116. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/order_state.py +0 -0
  117. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/orderdecoder.py +0 -0
  118. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/reader.py +0 -0
  119. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/scanner.py +0 -0
  120. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/server_versions.py +0 -0
  121. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/softdollartier.py +0 -0
  122. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/tag_value.py +0 -0
  123. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/ticktype.py +0 -0
  124. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/utils.py +0 -0
  125. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/externals/ibapi/wrapper.py +0 -0
  126. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/git_controller.py +0 -0
  127. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/__init__.py +0 -0
  128. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/indicator_base.py +0 -0
  129. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/ta_indicator.py +0 -0
  130. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/indicators/talib_indicator.py +0 -0
  131. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/investment_profile.py +0 -0
  132. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/__init__.py +0 -0
  133. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/base_manager.py +0 -0
  134. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/connection_manager.py +0 -0
  135. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/data_manager.py +0 -0
  136. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/order_manager.py +0 -0
  137. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/portfolio_manager.py +0 -0
  138. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/risk_manager.py +0 -0
  139. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/managers/strategy_manager.py +0 -0
  140. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/mixins/backtest.py +0 -0
  141. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/__init__.py +0 -0
  142. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/model_backtest.py +0 -0
  143. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/model_base.py +0 -0
  144. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/model_meta.py +0 -0
  145. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/pytorch_model.py +0 -0
  146. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/models/sklearn_model.py +0 -0
  147. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/__init__.py +0 -0
  148. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_base.py +0 -0
  149. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_crypto.py +0 -0
  150. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_ib.py +0 -0
  151. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_statuses.py +0 -0
  152. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/orders/order_time_in_force.py +0 -0
  153. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/__init__.py +0 -0
  154. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/config.py +0 -0
  155. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/filters.py +0 -0
  156. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/formatter.py +0 -0
  157. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/plogging/handlers.py +0 -0
  158. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/portfolio.py +0 -0
  159. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/__init__.py +0 -0
  160. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/position_base.py +0 -0
  161. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/position_crypto.py +0 -0
  162. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/positions/position_ib.py +0 -0
  163. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/__init__.py +0 -0
  164. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/product_base.py +0 -0
  165. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/product_crypto.py +0 -0
  166. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/products/product_ib.py +0 -0
  167. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/risk_monitor.py +0 -0
  168. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/__init__.py +0 -0
  169. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/allocation_strategy.py +0 -0
  170. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/diversification_strategy.py +0 -0
  171. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/hedging_strategy.py +0 -0
  172. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/optimization_strategy.py +0 -0
  173. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/portfolio_strategy.py +0 -0
  174. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/rebalancing_strategy.py +0 -0
  175. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/strategy_backtest.py +0 -0
  176. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/strategy_base.py +0 -0
  177. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/strategies/strategy_meta.py +0 -0
  178. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/dashboards/pfund-overview.streamlit.py +0 -0
  179. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/notebooks/pfund-analytics.ipynb +0 -0
  180. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/templates/notebooks/pfund-overview.ipynb +0 -0
  181. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/backtest.py +0 -0
  182. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/bybit.py +0 -0
  183. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/common_literals.py +0 -0
  184. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/types/core.py +0 -0
  185. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/universe.py +0 -0
  186. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/utils/aliases.py +0 -0
  187. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/utils/envs.py +0 -0
  188. {pfund-0.0.1.dev12 → pfund-0.0.1.dev13}/pfund/utils/utils.py +0 -0
  189. {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.dev12
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.dev10,<0.0.2) ; extra == "data"
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.dev12"
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.dev10", optional = true, extras = ["df", "data", "boost"] }
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
- grayskull = "^2.5.3"
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
- )
@@ -1,10 +0,0 @@
1
- from pfund.cli import pfund_group
2
-
3
-
4
- def run_cli() -> None:
5
- """Application Entrypoint."""
6
- pfund_group(obj={})
7
-
8
-
9
- if __name__ == '__main__':
10
- run_cli()
File without changes
File without changes
File without changes
File without changes