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

yfinance获取USOI行情数据与纳斯达克官网结果不一致问题咨询

问题

使用yfinance库获取USOI的历史数据,执行以下代码:

tickerSymbol = 'USOI'

# get data on this ticker
tickerData = yf.Ticker(tickerSymbol)

# get the historical prices for this ticker
db = tickerData.history(period='1d',start = '2020-10-14', end = '2024-10-17')

db['Close'][0:10], db.index[0:10]

得到的前10条收盘价结果为:

Date
2020-10-14 00:00:00-04:00    32.161522
2020-10-15 00:00:00-04:00    32.234608
2020-10-16 00:00:00-04:00    32.088417
2020-10-19 00:00:00-04:00    32.088417
2020-10-20 00:00:00-04:00    32.324036
2020-10-21 00:00:00-04:00    31.587734
2020-10-22 00:00:00-04:00    32.324036
2020-10-23 00:00:00-04:00    31.808615
2020-10-26 00:00:00-04:00    31.219574
2020-10-27 00:00:00-04:00    31.514090

但在纳斯达克官网查询到的对应日期数据与上述结果存在差异,请问原因是什么?

可能的原因

  • 数据复权处理差异:yfinance返回的收盘价大概率是后复权价,会回溯调整分红、拆股等事件对历史价格的影响;而纳斯达克官网展示的可能是原始收盘价,即当日实际成交的未调整价格。USOI作为ETF存在定期分红或份额调整机制,复权后价格会和原始数据产生明显偏差。
  • 时区与日期匹配偏差:yfinance返回的时间戳带时区标识(-04:00),若纳斯达克官网的日期统计逻辑与时区转换规则不同,可能导致日期对应的数据错位。比如跨时区的日期截断会让某一天的数据归属不同的日期标签。
  • 数据源口径差异:yfinance的数据并非直接取自纳斯达克官网,它聚合了第三方数据源(如雅虎财经自有数据渠道),不同数据源在数据采集时间、统计标准上可能存在细微差别,最终导致价格数值不一致。
  • 精度与四舍五入差异:yfinance返回的价格保留了更多小数位,而纳斯达克官网可能对价格做了四舍五入或精度截断处理,看起来数值不同,但实际差异可能在合理的统计误差范围内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:42:16