Filter invalid time intervals to prevent duplicate Friday records#122
Open
val3344 wants to merge 1 commit intobeancount:masterfrom
Open
Filter invalid time intervals to prevent duplicate Friday records#122val3344 wants to merge 1 commit intobeancount:masterfrom
val3344 wants to merge 1 commit intobeancount:masterfrom
Conversation
Remove intervals where begin >= end from lifetimes_map before generating
price jobs. This addresses an edge case where closing positions on
Fridays could result in duplicate price entries.
The issue stems from the callee's required_daily_prices() function which
contains:
for date_begin, date_end in intervals:
if weekdays_only:
diff_days = 4 - date_begin.weekday()
if diff_days < 0:
date += datetime.timedelta(days=diff_days)
When date_begin == date_end (e.g., when closing positions on Friday),
this code would still process the interval and potentially create
duplicate Friday records in the price requirements.
By filtering out these invalid intervals at the caller level, we prevent
the problematic code path from being executed, ensuring only valid
trading periods are processed for price data retrieval.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remove intervals where begin >= end from lifetimes_map before generating price jobs. This addresses an edge case where closing positions on Fridays could result in duplicate price entries.
The issue stems from the callee's required_daily_prices() function which contains:
When date_begin == date_end (e.g., when closing positions on Friday), this code would still process the interval and potentially create duplicate Friday records in the price requirements.
By filtering out these invalid intervals at the caller level, we prevent the problematic code path from being executed, ensuring only valid trading periods are processed for price data retrieval.