这段代码以前运行良好,可以找到每个股票的收盘价。 现在,所有代码均返回“未找到价格数据,代码可能已除名 (1d 2024-02-01 -> 2024-02-01)” 有人遇到过这个问题吗
不存在任何错误,我在 29 号运行它,没有问题
xlxs 文件只是一个包含巴西股票代码的列,仅此而已。
import openpyxl
import yfinance as yf
file_path ="C:\\Users\\carol\\PycharmProjects\\EXTRATOS\\DOCS\\Fechamento_02_02.xlsx"
workbook = openpyxl.load_workbook(file_path)
sheet = workbook.active
data = '2024-01-29'
for row in range(2, sheet.max_row + 1):
ticker = sheet.cell(row=row, column=1).value
if ticker:
ticker_completo = f"{ticker}.SA"
print(ticker_completo)
ativo = yf.Ticker(ticker_completo)
historico = ativo.history(start=data, end=data)
preco_fechamento = historico['Close'].iloc[0] if not
historico.empty else 'N/A'
sheet.cell(row=row, column=2).value = preco_fechamento
workbook.save(file_path)
我稍微简化了你的代码并使用了股票作为例子:
import yfinance as yf
start_date = '2024-01-24'
#end_date = '2024-01-29'
end_date = '2024-02-01'
ticker = "AMZN"
#ticker = "AAPL"
active = yf.Ticker(ticker)
result = active.history(start=start_date, end=end_date)
print(result)
如果您使用较晚的结束日期,例如‘2024-02-01’,它有效,并且还包含 1 月 29 日的数据。但是,如果我使用“2024-01-29”,我会得到与您相同的错误。我猜这可能是雅虎财经的问题。但也许有人有另一个想法。