lumibot 4.1.0__tar.gz → 4.1.1__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 lumibot might be problematic. Click here for more details.

Files changed (268) hide show
  1. {lumibot-4.1.0/lumibot.egg-info → lumibot-4.1.1}/PKG-INFO +1 -1
  2. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/databento_backtesting.py +4 -0
  3. {lumibot-4.1.0 → lumibot-4.1.1/lumibot.egg-info}/PKG-INFO +1 -1
  4. {lumibot-4.1.0 → lumibot-4.1.1}/setup.py +2 -1
  5. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_helper.py +3 -4
  6. {lumibot-4.1.0 → lumibot-4.1.1}/LICENSE +0 -0
  7. {lumibot-4.1.0 → lumibot-4.1.1}/MANIFEST.in +0 -0
  8. {lumibot-4.1.0 → lumibot-4.1.1}/README.md +0 -0
  9. {lumibot-4.1.0 → lumibot-4.1.1}/ThetaTerminal.jar +0 -0
  10. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/__init__.py +0 -0
  11. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/__init__.py +0 -0
  12. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/alpaca_backtesting.py +0 -0
  13. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/alpha_vantage_backtesting.py +0 -0
  14. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/backtesting_broker.py +0 -0
  15. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/ccxt_backtesting.py +0 -0
  16. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/interactive_brokers_rest_backtesting.py +0 -0
  17. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/pandas_backtesting.py +0 -0
  18. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/polygon_backtesting.py +0 -0
  19. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/thetadata_backtesting.py +0 -0
  20. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/backtesting/yahoo_backtesting.py +0 -0
  21. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/__init__.py +0 -0
  22. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/alpaca.py +0 -0
  23. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/bitunix.py +0 -0
  24. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/broker.py +0 -0
  25. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/ccxt.py +0 -0
  26. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/example_broker.py +0 -0
  27. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/interactive_brokers.py +0 -0
  28. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/interactive_brokers_rest.py +0 -0
  29. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/projectx.py +0 -0
  30. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/schwab.py +0 -0
  31. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/tradier.py +0 -0
  32. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/brokers/tradovate.py +0 -0
  33. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/__init__.py +0 -0
  34. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/configs_helper.py +0 -0
  35. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/drift_rebalancer_logic.py +0 -0
  36. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/grok_helper.py +0 -0
  37. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/options_helper.py +0 -0
  38. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/perplexity_helper.py +0 -0
  39. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/quiver_helper.py +0 -0
  40. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/components/vix_helper.py +0 -0
  41. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/constants.py +0 -0
  42. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/credentials.py +0 -0
  43. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/__init__.py +0 -0
  44. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/alpaca_data.py +0 -0
  45. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/alpha_vantage_data.py +0 -0
  46. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/bitunix_data.py +0 -0
  47. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/ccxt_backtesting_data.py +0 -0
  48. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/ccxt_data.py +0 -0
  49. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/data_source.py +0 -0
  50. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/data_source_backtesting.py +0 -0
  51. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/databento_data.py +0 -0
  52. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/databento_data_polars_backtesting.py +0 -0
  53. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/databento_data_polars_live.py +0 -0
  54. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/example_broker_data.py +0 -0
  55. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/exceptions.py +0 -0
  56. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/interactive_brokers_data.py +0 -0
  57. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/interactive_brokers_rest_data.py +0 -0
  58. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/pandas_data.py +0 -0
  59. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/polars_mixin.py +0 -0
  60. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/polygon_data_polars.py +0 -0
  61. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/projectx_data.py +0 -0
  62. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/schwab_data.py +0 -0
  63. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/tradier_data.py +0 -0
  64. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/tradovate_data.py +0 -0
  65. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/yahoo_data.py +0 -0
  66. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/data_sources/yahoo_data_polars.py +0 -0
  67. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/__init__.py +0 -0
  68. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/asset.py +0 -0
  69. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/bar.py +0 -0
  70. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/bars.py +0 -0
  71. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/chains.py +0 -0
  72. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/data.py +0 -0
  73. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/dataline.py +0 -0
  74. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/order.py +0 -0
  75. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/position.py +0 -0
  76. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/quote.py +0 -0
  77. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/entities/trading_fee.py +0 -0
  78. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/__init__.py +0 -0
  79. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/bitunix_futures_example.py +0 -0
  80. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/ccxt_backtesting_example.py +0 -0
  81. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/classic_60_40.py +0 -0
  82. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/classic_60_40_config.py +0 -0
  83. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/crypto_50_50.py +0 -0
  84. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/crypto_50_50_config.py +0 -0
  85. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/crypto_important_functions.py +0 -0
  86. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/drift_rebalancer.py +0 -0
  87. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/forex_hold_to_expiry.py +0 -0
  88. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/futures_hold_to_expiry.py +0 -0
  89. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/lifecycle_logger.py +0 -0
  90. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/options_hold_to_expiry.py +0 -0
  91. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/schedule_function.py +0 -0
  92. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/simple_start_single_file.py +0 -0
  93. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/stock_bracket.py +0 -0
  94. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/stock_buy_and_hold.py +0 -0
  95. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/stock_diversified_leverage.py +0 -0
  96. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/stock_limit_and_trailing_stops.py +0 -0
  97. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/stock_momentum.py +0 -0
  98. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/stock_oco.py +0 -0
  99. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/strangle.py +0 -0
  100. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/example_strategies/test_broker_functions.py +0 -0
  101. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/resources/conf.yaml +0 -0
  102. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/strategies/__init__.py +0 -0
  103. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/strategies/_strategy.py +0 -0
  104. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/strategies/session_manager.py +0 -0
  105. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/strategies/strategy.py +0 -0
  106. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/strategies/strategy_executor.py +0 -0
  107. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/__init__.py +0 -0
  108. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/alpaca_helpers.py +0 -0
  109. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/bitunix_helpers.py +0 -0
  110. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/black_scholes.py +0 -0
  111. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/ccxt_data_store.py +0 -0
  112. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/databento_helper.py +0 -0
  113. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/databento_helper_polars.py +0 -0
  114. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/databento_roll.py +0 -0
  115. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/debugers.py +0 -0
  116. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/decorators.py +0 -0
  117. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/futures_symbols.py +0 -0
  118. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/helpers.py +0 -0
  119. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/indicators.py +0 -0
  120. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/lumibot_logger.py +0 -0
  121. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/lumibot_time.py +0 -0
  122. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/pandas.py +0 -0
  123. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/polygon_helper.py +0 -0
  124. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/polygon_helper_async.py +0 -0
  125. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/polygon_helper_polars_optimized.py +0 -0
  126. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/projectx_helpers.py +0 -0
  127. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/schwab_helper.py +0 -0
  128. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/thetadata_helper.py +0 -0
  129. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/types.py +0 -0
  130. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/yahoo_helper.py +0 -0
  131. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/tools/yahoo_helper_polars_optimized.py +0 -0
  132. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/traders/__init__.py +0 -0
  133. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/traders/debug_log_trader.py +0 -0
  134. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/traders/trader.py +0 -0
  135. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/trading_builtins/__init__.py +0 -0
  136. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/trading_builtins/custom_stream.py +0 -0
  137. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot/trading_builtins/safe_list.py +0 -0
  138. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot.egg-info/SOURCES.txt +0 -0
  139. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot.egg-info/dependency_links.txt +0 -0
  140. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot.egg-info/requires.txt +0 -0
  141. {lumibot-4.1.0 → lumibot-4.1.1}/lumibot.egg-info/top_level.txt +0 -0
  142. {lumibot-4.1.0 → lumibot-4.1.1}/pyproject.toml +0 -0
  143. {lumibot-4.1.0 → lumibot-4.1.1}/setup.cfg +0 -0
  144. {lumibot-4.1.0 → lumibot-4.1.1}/tests/__init__.py +0 -0
  145. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/__init__.py +0 -0
  146. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/check_timing_offset.py +0 -0
  147. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/check_volume_spike.py +0 -0
  148. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/comprehensive_comparison.py +0 -0
  149. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/conftest.py +0 -0
  150. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/debug_comparison.py +0 -0
  151. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/diagnose_price_difference.py +0 -0
  152. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/direct_api_comparison.py +0 -0
  153. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/performance_tracker.py +0 -0
  154. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/profile_thetadata_vs_polygon.py +0 -0
  155. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/root_cause_analysis.py +0 -0
  156. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_accuracy_verification.py +0 -0
  157. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_backtesting_broker_processing.py +0 -0
  158. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_buy_hold_quiet_logs_full_run.py +0 -0
  159. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_crypto_cash_regressions.py +0 -0
  160. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_daily_data_timestamp_comparison.py +0 -0
  161. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_databento.py +0 -0
  162. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_databento_comprehensive_trading.py +0 -0
  163. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_debug_avg_fill_price.py +0 -0
  164. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_dividends.py +0 -0
  165. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_example_strategies.py +0 -0
  166. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_failing_backtest.py +0 -0
  167. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_futures_edge_cases.py +0 -0
  168. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_futures_single_trade.py +0 -0
  169. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_futures_ultra_simple.py +0 -0
  170. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_index_data_verification.py +0 -0
  171. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_multileg_backtest.py +0 -0
  172. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_pandas_backtest.py +0 -0
  173. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_passing_trader_into_backtest.py +0 -0
  174. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_polygon.py +0 -0
  175. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_strategy_executor.py +0 -0
  176. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_thetadata.py +0 -0
  177. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_thetadata_comprehensive.py +0 -0
  178. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_thetadata_vs_polygon.py +0 -0
  179. {lumibot-4.1.0 → lumibot-4.1.1}/tests/backtest/test_yahoo.py +0 -0
  180. {lumibot-4.1.0 → lumibot-4.1.1}/tests/conftest.py +0 -0
  181. {lumibot-4.1.0 → lumibot-4.1.1}/tests/fixtures.py +0 -0
  182. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca.py +0 -0
  183. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca_auth_fix.py +0 -0
  184. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca_backtesting.py +0 -0
  185. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca_data.py +0 -0
  186. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca_helpers.py +0 -0
  187. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca_multileg_fix.py +0 -0
  188. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_alpaca_oauth.py +0 -0
  189. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_apscheduler_warnings.py +0 -0
  190. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_asset.py +0 -0
  191. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_asset_auto_expiry.py +0 -0
  192. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_auto_market_inference.py +0 -0
  193. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_broker.py +0 -0
  194. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_broker_await_close.py +0 -0
  195. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_broker_time_advance.py +0 -0
  196. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_crypto_cash_unit.py +0 -0
  197. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_data_source_env.py +0 -0
  198. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_flow_control.py +0 -0
  199. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_multileg_unit.py +0 -0
  200. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_backtesting_quiet_logs_complete.py +0 -0
  201. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_bars_aggregate_frequency_normalization.py +0 -0
  202. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_bars_aggregation_timeunits.py +0 -0
  203. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_bars_frequency_flex.py +0 -0
  204. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_botspot_handler.py +0 -0
  205. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_botspot_logger.py +0 -0
  206. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_broker_bitunix.py +0 -0
  207. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_broker_cleanup.py +0 -0
  208. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_broker_initialization.py +0 -0
  209. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_brokers_handle_crypto.py +0 -0
  210. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_cash.py +0 -0
  211. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_ccxt.py +0 -0
  212. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_ccxt_store.py +0 -0
  213. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_configs_helper.py +0 -0
  214. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_continuous_futures.py +0 -0
  215. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_continuous_futures_integration.py +0 -0
  216. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_continuous_futures_resolution.py +0 -0
  217. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_data_source.py +0 -0
  218. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_asset_validation.py +0 -0
  219. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_auto_expiry_integration.py +0 -0
  220. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_backtesting.py +0 -0
  221. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_data.py +0 -0
  222. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_live.py +0 -0
  223. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_databento_timezone_fixes.py +0 -0
  224. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_drift_rebalancer.py +0 -0
  225. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_futures_integration.py +0 -0
  226. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_get_historical_prices.py +0 -0
  227. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_helpers.py +0 -0
  228. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_indicator_subplots.py +0 -0
  229. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_integration_tests.py +0 -0
  230. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_interactive_brokers.py +0 -0
  231. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_live_trading_resilience.py +0 -0
  232. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_logger_env_vars.py +0 -0
  233. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_logging.py +0 -0
  234. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_lumibot_logger.py +0 -0
  235. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_market_infinite_loop_bug.py +0 -0
  236. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_mes_symbols.py +0 -0
  237. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_momentum.py +0 -0
  238. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_options_helper.py +0 -0
  239. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_order.py +0 -0
  240. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_order_serialization.py +0 -0
  241. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_pandas_data.py +0 -0
  242. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_polygon_helper.py +0 -0
  243. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_position_serialization.py +0 -0
  244. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx.py +0 -0
  245. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_bracket_helpers.py +0 -0
  246. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_bracket_lifecycle_unit.py +0 -0
  247. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_data.py +0 -0
  248. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_datetime_columns.py +0 -0
  249. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_datetime_index.py +0 -0
  250. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_helpers.py +0 -0
  251. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_lifecycle.py +0 -0
  252. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_lifecycle_unit.py +0 -0
  253. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_live_flow.py +0 -0
  254. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_timestep_alias.py +0 -0
  255. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_projectx_url_mappings.py +0 -0
  256. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_quiet_logs_buy_and_hold.py +0 -0
  257. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_quiet_logs_comprehensive.py +0 -0
  258. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_quiet_logs_functionality.py +0 -0
  259. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_quiet_logs_requirements.py +0 -0
  260. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_session_manager.py +0 -0
  261. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_strategy_methods.py +0 -0
  262. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_thetadata_helper.py +0 -0
  263. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_tradier.py +0 -0
  264. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_tradier_data.py +0 -0
  265. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_tradingfee.py +0 -0
  266. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_tradovate.py +0 -0
  267. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_unified_logger.py +0 -0
  268. {lumibot-4.1.0 → lumibot-4.1.1}/tests/test_vix_helper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lumibot
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: Backtesting and Trading Library, Made by Lumiwealth
5
5
  Home-page: https://github.com/Lumiwealth/lumibot
6
6
  Author: Robert Grzesik
@@ -438,6 +438,10 @@ class DataBentoDataBacktesting(PandasData):
438
438
  # Filter to data up to current backtest time (exclude current bar unless broker overrides)
439
439
  filtered_df = df[df.index <= cutoff_dt]
440
440
 
441
+ # If we have no prior bar (e.g., first iteration), allow the current timestamp
442
+ if filtered_df.empty:
443
+ filtered_df = df[df.index <= current_dt_aware]
444
+
441
445
  if not filtered_df.empty:
442
446
  last_price = filtered_df['close'].iloc[-1]
443
447
  if not pd.isna(last_price):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lumibot
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: Backtesting and Trading Library, Made by Lumiwealth
5
5
  Home-page: https://github.com/Lumiwealth/lumibot
6
6
  Author: Robert Grzesik
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="lumibot",
8
- version="4.1.0",
8
+ version="4.1.1",
9
9
  author="Robert Grzesik",
10
10
  author_email="rob@lumiwealth.com",
11
11
  description="Backtesting and Trading Library, Made by Lumiwealth",
@@ -61,6 +61,7 @@ setuptools.setup(
61
61
  "free-proxy",
62
62
  "requests-oauthlib",
63
63
  ],
64
+ data_files=[("", ["ThetaTerminal.jar"])],
64
65
  classifiers=[
65
66
  "Programming Language :: Python :: 3",
66
67
  "Operating System :: OS Independent",
@@ -16,8 +16,7 @@ class TestDataBentoHelper(unittest.TestCase):
16
16
  self.api_key = "test_api_key"
17
17
  self.test_asset_future = Asset(
18
18
  symbol="ES",
19
- asset_type="future",
20
- expiration=datetime(2025, 3, 15).date()
19
+ asset_type="CONT_FUTURE"
21
20
  )
22
21
  self.test_asset_stock = Asset(
23
22
  symbol="AAPL",
@@ -217,8 +216,8 @@ class TestDataBentoHelper(unittest.TestCase):
217
216
  self.end_date,
218
217
  "minute"
219
218
  )
220
-
221
- expected_name = "ES_20250315_minute_20250101_20250131.parquet"
219
+
220
+ expected_name = "ES_minute_202501010000_202501310000.parquet"
222
221
  self.assertEqual(filename.name, expected_name)
223
222
 
224
223
  def test_no_retry_logic_for_correct_symbol(self):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes