diff --git a/app/pages/backtests.py b/app/pages/backtests.py index a27572f..05fa6cc 100644 --- a/app/pages/backtests.py +++ b/app/pages/backtests.py @@ -254,24 +254,25 @@ def _render_backtests_page(workspace_id: str | None = None) -> None: default_data_source = "databento" default_dataset = "XNAS.BASIC" default_schema = "ohlcv-1d" - default_start_date = DEFAULT_BACKTEST_START - default_end_date = DEFAULT_BACKTEST_END + # Use a start date that's valid for the default dataset (XNAS.BASIC starts 2024-07-01) + default_start_date = date(2024, 7, 1).isoformat() + default_end_date = date(2024, 12, 31).isoformat() default_symbol = "GLD" default_start_price = 0.0 # Derive entry spot from default date range - # Fall back to a reasonable default if fixture source doesn't support the date range + # Fall back to a reasonable default if data source doesn't support the date range try: default_entry_spot = service.derive_entry_spot( "GLD", - date.fromisoformat(DEFAULT_BACKTEST_START), - date.fromisoformat(DEFAULT_BACKTEST_END), - data_source="databento", # Use databento for default dates + date.fromisoformat(default_start_date), + date.fromisoformat(default_end_date), + data_source="databento", ) - except ValueError: - # Fixture source may not support the default date range - # Fall back to a reasonable GLD price - default_entry_spot = 185.0 + except Exception: + # Data source may not support the default date range or API error + # Fall back to a reasonable GLD price (recent ~$230/oz) + default_entry_spot = 230.0 default_units = ( asset_quantity_from_workspace_config(config, entry_spot=default_entry_spot, symbol="GLD") if config is not None and default_entry_spot > 0 @@ -937,4 +938,4 @@ def _render_backtests_page(workspace_id: str | None = None) -> None: # Initial render render_seeded_summary(entry_spot=float(default_start_price) if default_start_price > 0 else None) - run_backtest() + # Don't auto-run backtest on page load - let user configure and click Run