From fb86443987affe1ac07719109784d6fa9c4a5f74 Mon Sep 17 00:00:00 2001 From: Dominik Roth Date: Tue, 26 May 2026 17:49:05 +0200 Subject: [PATCH] fix(backtest): squeeze yfinance Close series to avoid DataFrame iteration error Co-Authored-By: Claude Sonnet 4.6 --- backtest/backtest.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backtest/backtest.py b/backtest/backtest.py index 3649ea1..2ec9cec 100644 --- a/backtest/backtest.py +++ b/backtest/backtest.py @@ -35,8 +35,12 @@ def _fetch_prices(ticker: str, start: datetime, end: datetime) -> dict[str, floa if data.empty: return cached + close_series = data["Close"] + if hasattr(close_series, "squeeze"): + close_series = close_series.squeeze() + fetched: dict[str, float] = {} - for ts, close_val in data["Close"].items(): + for ts, close_val in close_series.items(): date_key = ts.to_pydatetime().replace(tzinfo=None).strftime("%Y-%m-%d") fetched[date_key] = float(close_val)