You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

yfinance无法获取巴西Ticker收盘价问题求助

巴西股票Ticker通过yfinance获取历史数据突然失败,提示“No price data found”

之前运行代码可正常从Excel读取巴西股票Ticker,添加.SA后缀后通过yfinance获取2024-01-29的收盘价,1月29日运行完全正常,但现在所有巴西Ticker均返回错误提示:
No price data found, symbol may be delisted (1d 2024-02-01 -> 2024-02-01),代码未做任何修改。

使用的代码如下:

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)

以下是几个可以尝试的解决方向:

  • 升级yfinance版本:yfinance的数据源接口经常更新,旧版本可能出现兼容问题,执行pip install --upgrade yfinance更新到最新版再测试
  • 换用download方法替代Ticker.history:有些情况下download方法的兼容性更好,修改代码片段如下:
    # 替换原有的ativo和historico相关代码
    historico = yf.download(ticker_completo, start=data, end=data)
    
  • 单独验证单个有效Ticker:拿一个确定未退市的巴西股票(比如PETR4.SA)单独写测试代码,确认是否能获取数据,排除Excel中Ticker的格式问题
  • 扩大日期范围测试:比如把start设为2024-01-28,end设为2024-01-29,看是否能拿到数据,排除单日期接口限制
  • 清理缓存或重启环境:yfinance可能存在本地缓存异常,重启Python环境后再尝试

内容的提问来源于stack exchange,提问作者Carolina Macedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 02:33:14