79d705a746
backtest.py and multi_timeframe.py read OHLCV CSVs with csv.DictReader and crashed opaquely on malformed input: a missing column raised a bare KeyError, a non-numeric cell surfaced NumPy's column-less ValueError, and an empty or all-NaN series hit IndexError deep in summarize. Validate the header against the required columns up front, catch non-numeric cells and report the offending row/column, reject a header-only file distinctly from a headerless one, and guard resample and summarize against empty input. Every failure mode now raises a ValueError naming the file, row and column.