如何获取过去给定时间的加密货币价格?

How to get the price of a crypto at a given time in the past?

有什么方法可以使用 ccxt 提取过去给定时间的加密货币价格?

示例:在时间 2018-01-24 11:20:01

上获取 BTC 在 binance 上的价格

您可以使用 CCXT 的统一 fetchOHLCV 方法来做到这一点:

我们强烈建议从头到尾阅读整个 CCXT 手册,这将真正节省您的时间:

此外,请查看此处的示例:

您可以在 CCXT

的 binance class 上使用 fetch_ohlcv 方法

def fetch_ohlcv(self, symbol, timeframe='1m', since=None, limit=None, params={}):


您需要日期作为以毫秒为单位的时间戳,并且您只能精确到分钟,因此请去掉秒,否则您将获得

之后的分钟价格
timestamp = int(datetime.datetime.strptime("2018-01-24 11:20:00", "%Y-%m-%d %H:%M:%S").timestamp() * 1000)

您只能获得 BTC 与另一种货币相比的价格,我们将使用 USDT(与美元非常接近)作为我们的比较货币,因此我们将在 BTC/USDT 中查找 BTC 的价格市场

当我们使用该方法时,我们会将 since 设置为您的时间戳,但将 limit 设置为 1,以便我们只能获得一个价格

import ccxt
from pprint import pprint

print('CCXT Version:', ccxt.__version__)

exchange = ccxt.binance()
timestamp = int(datetime.datetime.strptime("2018-01-24 11:20:00+00:00", "%Y-%m-%d %H:%M:%S%z").timestamp() * 1000)
response = exchange.fetch_ohlcv('BTC/USDT', '1m', timestamp, 1)
pprint(response)

这将 return 一根蜡烛的烛台值

[ 
  1516792860000, // timestamp
  11110, // value at beginning of minute, so the value at exactly "2018-01-24 11:20:01"
  11110.29, // highest value between "2018-01-24 11:20:01" and "2018-01-24 11:20:02"
  11050.91, // lowest value between "2018-01-24 11:20:01" and "2018-01-24 11:20:02"
  11052.27, // value just before "2018-01-24 11:20:02"
  39.882601 // The volume traded during this minute
]