ccxt / Market Data

ccxt 公开行情数据:fetchTicker / fetchOHLCV 等接口

公开行情数据是 ccxt 最常用的部分,无需 API key 就能拉取行情、K 线、订单簿与成交历史。下面把常用方法展开成清单表。

公开接口:无需 API key方法:fetchTicker / fetchOHLCV 等来源:官方 README
fetchTicker最新行情
fetchOHLCVK 线
fetchOrderBook订单簿
fetchTrades成交历史
ccxt 公开行情数据接口示意(无需 API key),基于官方 README。
Methods

公开行情数据方法清单

以下为 ccxt 常用的公开行情数据方法,均无需 API key。

方法用途典型参数
fetchTicker单个交易对最新行情'BTC/USDT'
fetchTickers多个交易对行情符号列表
fetchOHLCVK 线 / OHLCV 数据'BTC/USDT','1h'
fetchOrderBook买卖盘订单簿'BTC/USDT'
fetchTrades最近成交记录'BTC/USDT'
说明:具体参数(周期、limit、since 等)与返回结构以官方文档为准,不同交易所支持程度有差异。
Example

拉取 K 线示例(Python)

一个拉取 BTC/USDT 1 小时 K 线的最小示例。

import ccxt

exchange = ccxt.binance()
# 1 小时周期,近 10 根 K 线
ohlcv = exchange.fetch_ohlcv('BTC/USDT', '1h', limit=10)
for row in ohlcv:
    print(row)  # [时间戳, 开, 高, 低, 收, 成交量]
Fields

返回字段对照

不同方法的返回结构与字段名略有差异,下表是常用对照(以官方文档为准)。

方法返回类型取数示例
fetchTickerdictt['last']t['volume']
fetchOHLCVlist[list]row[4](收盘)
fetchOrderBookdictob['bids'][0](买一)
fetchTradeslist[dict]tr['price']tr['amount']
说明:取数前先打印一份原始返回,确认字段名与单位(价格/数量/时间戳)。
Best practice

限频与最佳实践

公开接口也有频率限制,频繁拉取需注意以下几点。

  1. 开启内置限频

    初始化时传 'enableRateLimit': True,让 ccxt 自动控制节奏。

  2. 控制请求频率

    批量拉取用 fetchTickers,而不是循环单次 fetchTicker。

  3. 缓存结果

    行情数据变化快,但重复请求同一交易对可考虑本地缓存。

  4. 处理异常与退避

    捕获 RateLimitExceeded 并退避重试,避免硬刚限频。

FAQ

常见问题

拉行情会限频吗?

会。交易所对公开接口也有频率限制,高频拉取可能被限流,需按交易所规则控制请求频率。

fetchOHLCV 的周期支持哪些?

常见周期如 1m/5m/15m/1h/1d 等,具体支持范围因交易所而异,以官方文档为准。

公开接口和私有接口数据一样吗?

公开接口只提供市场公开数据(行情/订单簿/成交),私有接口才涉及你的账户余额与订单。

下一步:私有接口与下单

需要查余额、下单、撤单时,才需要配置 API key 走私有接口。