Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BackTest: Daylight Savings Fix #662

Merged
merged 6 commits into from
Dec 12, 2024
Merged

Conversation

davidlatte
Copy link
Collaborator

@davidlatte davidlatte commented Dec 11, 2024

When running a long backtest that goes across Daylight Savings transitions, lumibot is reporting the start time at 10:30am instead of 9:30am. Basically the DST offset that existed when the backtest began continues through out the entire backtest regardless of DST transitions. The fix is pretty straightforward which is to normalize the time after incrementing it with a timedelta() to ensure that the proper DST accounting takes place.

Additionally, all of the various timezone calls throughout the code have been standardized to use the Lumibot default.

Description by Korbit AI

What change is being made?

Update timezone handling by using a unified timezone configuration LUMIBOT_DEFAULT_PYTZ for better consistency and fix daylight savings time issues in the lumibot codebase.

Why are these changes being made?

These changes address inconsistent timezone management which could lead to errors especially around daylight savings time transitions. By introducing a single source of truth for timezone handling (LUMIBOT_DEFAULT_PYTZ), the codebase improves readability, maintainability, and correctness regarding datetime operations across different modules.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

…ngs transitions, lumibot is reporting the start time at 10:30am instead of 9:30am
Copy link
Contributor

@korbit-ai korbit-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've completed my review and didn't find any issues.

Files scanned
File Path Reviewed
lumibot/data_sources/tradier_data.py
lumibot/tools/thetadata_helper.py
lumibot/backtesting/backtesting_broker.py
lumibot/data_sources/interactive_brokers_rest_data.py
lumibot/strategies/_strategy.py

Explore our documentation to understand the languages and file types we support and the files we ignore.

Need a new review? Comment /korbit-review on this PR and I'll review your latest changes.

Korbit Guide: Usage and Customization

Interacting with Korbit

  • You can manually ask Korbit to review your PR using the /korbit-review command in a comment at the root of your PR.
  • You can ask Korbit to generate a new PR description using the /korbit-generate-pr-description command in any comment on your PR.
  • Too many Korbit comments? I can resolve all my comment threads if you use the /korbit-resolve command in any comment on your PR.
  • Chat with Korbit on issues we post by tagging @korbit-ai in your reply.
  • Help train Korbit to improve your reviews by giving a 👍 or 👎 on the comments Korbit posts.

Customizing Korbit

  • Check out our docs on how you can make Korbit work best for you and your team.
  • Customize Korbit for your organization through the Korbit Console.

Current Korbit Configuration

General Settings
Setting Value
Review Schedule Automatic excluding drafts
Max Issue Count 10
Automatic PR Descriptions
Issue Categories
Category Enabled
Naming
Database Operations
Documentation
Logging
Error Handling
Systems and Environment
Objects and Data Structures
Readability and Maintainability
Asynchronous Processing
Design Patterns
Third-Party Libraries
Performance
Security
Functionality

Feedback and Support

@davidlatte davidlatte merged commit 8887e2a into dev Dec 12, 2024
1 check passed
@davidlatte davidlatte deleted the daylight_savings_backtest_fix branch December 12, 2024 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants