fix: Handle yfinance data structure and auto_adjust warning in portfolio metrics
This commit is contained in:
parent
3f3fdb9735
commit
18ca670de7
|
|
@ -30,15 +30,29 @@ def fetch_historical_prices(
|
||||||
tickers,
|
tickers,
|
||||||
start=start.strftime('%Y-%m-%d'),
|
start=start.strftime('%Y-%m-%d'),
|
||||||
end=end.strftime('%Y-%m-%d'),
|
end=end.strftime('%Y-%m-%d'),
|
||||||
progress=False
|
progress=False,
|
||||||
|
auto_adjust=False # Explicitly set to avoid warning
|
||||||
)
|
)
|
||||||
|
|
||||||
# Handle single ticker vs multiple tickers
|
# Handle single ticker vs multiple tickers
|
||||||
if len(tickers) == 1:
|
if len(tickers) == 1:
|
||||||
prices = data['Adj Close'].to_frame()
|
if 'Adj Close' in data.columns:
|
||||||
prices.columns = tickers
|
prices = data['Adj Close'].to_frame()
|
||||||
|
prices.columns = tickers
|
||||||
|
else:
|
||||||
|
# Fallback to Close if Adj Close not available
|
||||||
|
prices = data['Close'].to_frame()
|
||||||
|
prices.columns = tickers
|
||||||
else:
|
else:
|
||||||
prices = data['Adj Close']
|
if 'Adj Close' in data.columns:
|
||||||
|
prices = data['Adj Close']
|
||||||
|
else:
|
||||||
|
# For newer yfinance versions, the structure might be different
|
||||||
|
try:
|
||||||
|
prices = data['Adj Close']
|
||||||
|
except KeyError:
|
||||||
|
# Fallback: use Close prices
|
||||||
|
prices = data['Close']
|
||||||
|
|
||||||
return prices
|
return prices
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue