id: DATA-DB-004 title: Backtest Page UI Updates status: backlog priority: high dependencies: - DATA-DB-001 - DATA-DB-002 estimated_effort: 2 days created: 2026-03-28 updated: 2026-03-28 description: | Update backtest and event comparison pages to support Databento data source and independent scenario configuration. Show estimated data cost and cache status in the UI. acceptance_criteria: - Data source selector shows Databento and yFinance options - Databento config shows dataset and resolution dropdowns - Dataset selection updates cost estimate display - Cache status shows age of cached data - Independent start price input (0 = auto-derive) - Independent underlying units and loan amount - Event comparison page uses same data source config - Settings persist across sessions implementation_notes: | Page changes: Backtests page: - Add "Data Source" section with Databento/yFinance toggle - Add dataset selector (XNAS.BASIC for GLD, GLBX.MDP3 for GC=F) - Add resolution selector (ohlcv-1d, ohlcv-1h) - Show estimated cost with refresh button - Show cache status (age, size) - "Configure Scenario" section with independent start price/units Event comparison page: - Same data source configuration - Preset scenarios show if data cached - Cost estimate for missing data State management: - Use workspace-level BacktestSettings - Load on page mount, save on change - Invalidate cache when params change dependencies_detail: - DATA-DB-001: Need DatabentoHistoricalPriceSource - DATA-DB-002: Need BacktestSettings model