You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Daily bars from instruments with different session closes arrive as separate events #107
Events are keyed by exact timestamp. Daily bars for instruments whose sessions close at different times on the same trading day (for example CME products closing at 21:00 and 21:15 UTC) are delivered as separate on_data calls, each carrying only some assets:
For a cross-sectional strategy that rebalances all instruments on one decision per day, this is a trap: a target-weight rebalance on the first event sees only the assets in that event, and TargetWeightExecutor treats held positions missing from the target as positions to close. The workaround is to normalize timestamps to a session date before building the feed, which loses the actual close time used for fills.
Requested: an option to group bars into one event per trading session (a session key or calendar on the feed), with each asset still filled at its own bar; or, at minimum, documentation of the per-timestamp behavior and the recommended pattern for multi-session daily data.
Activity
feat(feed): decide once after all daily session closes
stefan-jansen commentedon Sep 24, 2026
Verified on PR #119 at commit 8343029. The focused tests in tests/test_session_decisions.py passed locally (7 passed); the remote coverage job passed. A daily multi-asset session dispatches one decision after all constituent closes.