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

为何Binance K线指定时间间隔下最新收盘价存在差异?

问题:Binance API获取K线时同一时间戳的收盘价为何不断变化?

我通过Binance API获取K线(蜡烛图)数据,使用以下代码循环打印:

for i in range(0, 10):
    service = BinanceSpotService()
    klines = service.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_15MINUTE)
    print(klines[["date", "close"]].tail(2))

每次循环打印的最后两条数据如下:

date     close
498 2022-11-13 07:45:00  16774.99
499 2022-11-13 08:00:00  16769.12


                   date     close
498 2022-11-13 07:45:00  16774.99
499 2022-11-13 08:00:00  16769.10


                   date     close
498 2022-11-13 07:45:00  16774.99
499 2022-11-13 08:00:00  16772.34


                   date     close
498 2022-11-13 07:45:00  16774.99
499 2022-11-13 08:00:00  16770.48

最后一条数据的日期未发生变化,但收盘价却各不相同,请问这是什么原因?


解答

这是因为你请求的15分钟K线(时间戳08:00:00对应的K线)还处于未闭合状态。

Binance的K线数据遵循以下规则:

  • 已闭合的K线(比如07:45:00的15分钟线)数据完全固定,不会再发生变化
  • 正在运行中的K线(当前时间段尚未结束的),其收盘价会随着市场实时成交不断更新,直到该时间段结束、K线正式闭合后,数据才会固定下来

你的循环请求时,08:00:00开始的15分钟周期还没到结束时间(要到08:15:00才会闭合),所以每次请求返回的都是当前最新的成交价格作为临时收盘价,因此数值会不一样。

如果要获取完全固定的K线数据,只需要过滤掉最后一条未闭合的K线,或者等该时间段结束后再发起请求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:30:52