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

雅虎财经读取BTC、ETH数据缺失倒数第二值问题咨询

问题原因

这个现象不是你操作或者代码错误导致的,是雅虎财经公开API的特性和pandas_datareader的适配问题共同导致的:

  1. 雅虎财经的加密货币日线数据默认使用美东时间0点作为每日收盘节点,你调用接口时如果使用当前时间dt.datetime.now()作为结束参数,接口会返回两类数据:已经完成结算的历史交易日数据、未收盘的当日临时快照数据。其中倒数第二条属于上一个交易日的临时同步快照,雅虎后台会在当日结算完成后1-2小时清理该临时条目,就会出现数值缺失的情况。
  2. 旧版本的pandas_datareader没有适配雅虎2021年更新的API返回规则,解析加密货币多日数据时会自动丢弃时间戳不完整的条目,也会导致倒数第二行数据为空。

解决方案

  • 如果你只需要已收盘的历史行情数据,直接把结束时间调整为前一天即可,修改代码如下:
# 把原来的 end = dt.datetime.now() 替换为下面的代码
end = dt.datetime.now() - dt.timedelta(days=1)
  • 如果你需要包含当日实时行情,建议使用适配更稳定的yfinance库替代pandas_datareader的雅虎数据源,该库不会出现条目缺失的问题。
  • 不想更换依赖的话,拉取数据后手动清除空值行即可:
btc = btc.dropna()
eth = eth.dropna()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:39:03