fix(backtest): improve error message for dates outside fixture window

- Add helpful message suggesting Databento/Yahoo Finance for dates outside fixture range
- Update test to expect BOUNDED policy for backtest UI
This commit is contained in:
Bu5hm4nn
2026-03-30 09:11:47 +02:00
parent 70b09cbf0b
commit eaaf78cd12
2 changed files with 4 additions and 3 deletions

View File

@@ -54,7 +54,8 @@ class SharedHistoricalFixtureSource:
if start_date < self.start_date or end_date > self.end_date:
raise ValueError(
f"{self.feature_label} deterministic fixture data only supports the seeded "
f"{self.start_date.isoformat()} through {self.end_date.isoformat()} window"
f"{self.start_date.isoformat()} through {self.end_date.isoformat()} window. "
f"For dates outside this range, please use Databento or Yahoo Finance data source."
)
return [point for point in self.history if start_date <= point.date <= end_date]

View File

@@ -54,14 +54,14 @@ def test_shared_fixture_source_bounded_window_allows_subranges_but_fails_closed_
source.load_daily_closes("GLD", date(2024, 1, 5), date(2024, 1, 3))
def test_backtest_page_service_uses_shared_exact_fixture_source() -> None:
def test_backtest_page_service_uses_shared_bounded_fixture_source() -> None:
service = BacktestPageService()
source = service.backtest_service.provider.source
assert isinstance(source, SharedHistoricalFixtureSource)
assert source.feature_label == "BT-001A"
assert source.window_policy is WindowPolicy.EXACT
assert source.window_policy is WindowPolicy.BOUNDED
def test_event_comparison_page_service_uses_shared_bounded_fixture_source() -> None: