1. Fix Friday logic edge case comment - Clarified get_default_backtest_dates() docstring - Removed confusing 'at least a week old' comment - Explicitly documented Friday behavior 2. Reorder validation checks in validate_date_range_for_symbol() - Now checks start > end first (most fundamental) - Then checks end > today (future dates) - Finally checks symbol-specific bounds - Users get most actionable error first 3. Add server-side numeric bounds validation - New validate_numeric_inputs() function - Validates units > 0, loan >= 0, 0 < LTV < 1 - Called in run_backtest() before service call 4. Add boundary tests - Test start_date exactly at SYMBOL_MIN_DATES boundary - Test same-day date range (start == end) - Test end_date exactly today - Test end_date tomorrow (future) - Test validation order returns most actionable error - Test near-zero and large values for units calculation - Test LTV at boundaries (0, 1, 0.01, 0.99) 5. Add tests for validate_numeric_inputs - Valid inputs, zero/negative values - LTV boundary conditions
12 KiB
12 KiB