☰
OKX V5 单个产品行情接口(/market/ticker)实战指南:最新价、买卖一档与 24 小时成交量获取
2026/10/7 2:31:04 网站建设 项目流程
  • 金融科技
  • 示例工程

【免费下载链接】ai_quant_trade

Stock AI Trader: 1-stop platform for learning, sim & live trading. Covers: stock basics, strategies, LLMs, factor mining, ML/DL/RL, graph nets, HFT, C++ deploy & JoinQuant code. 股票AI操盘手:一站式学习、模拟、实盘平台。涵盖:股票基础、策略、大模型、因子挖掘、机器学习/深度学习/强化学习、图网络、高频交易、C++部署及聚宽代码。

项目地址:https://gitcode.com/gh_mirrors/ai/ai_quant_trade
点击查看免费下载

本文以当前仓库 okx-market Skill 包 中的现货行情文档为核心,系统讲解 OKX V5 REST API 的GET /api/v5/market/ticker接口:包括请求参数、完整响应字段语义、可直接运行的 Python 调用示例,并对照仓库内 market_data_example.py 的源码实现,给出带错误处理的生产级写法。读完本文后,你可以独立获取任意 OKX 交易产品(现货、永续、交割、期权)的实时行情快照,并将其接入自己的量化策略、监控脚本或 LLM 行情工具链。

接口概览

/market/ticker是 OKX V5 行情接口中用于获取单个交易产品最新行情快照的端点,一次请求即可拿到最新成交价、买一/卖一价格与数量、24 小时开盘/最高/最低价、24 小时成交量与成交额、UTC 0 点与 UTC+8 0 点开盘价等核心数据,是行情监控、盘口分析、涨跌幅计算等场景的最基础数据源。

项目内容
接口路径GET /api/v5/market/ticker
功能描述获取单个交易产品的最新行情快照,包括最新成交价、买一卖一价、24 小时成交量等核心数据
限频20 次 / 2 秒
鉴权要求无需 API Key,无需注册与 token 配置,完全公开(见 SKILL.md 中 "No account registration or token configuration is required")
请求方式HTTP GET,参数通过 URL query 传递

接口的基础地址为:

https://www.okx.com/api/v5

即完整请求为GET https://www.okx.com/api/v5/market/ticker?instId=xxx。

输入参数

名称类型必选描述
instIdstrY交易产品 ID,如BTC-USDT、BTC-USDT-SWAP

该接口只需一个参数instId,用于指定要查询的交易产品。

输出参数

响应为 JSON,code=0表示成功,数据在data字段中(数组形式,取data[0]即为该产品的行情快照)。核心字段如下:

名称类型描述
instTypestr产品类型(SPOT/SWAP/FUTURES/OPTION)
instIdstr交易产品 ID
laststr最新成交价
lastSzstr最新成交量
askPxstr卖一价
askSzstr卖一量
bidPxstr买一价
bidSzstr买一量
open24hstr24 小时开盘价
high24hstr24 小时最高价
low24hstr24 小时最低价
vol24hstr24 小时成交量(币)
volCcy24hstr24 小时成交额(计价货币)
sodUtc0strUTC 0 点开盘价
sodUtc8strUTC+8 0 点开盘价
tsstr数据时间戳(毫秒)

数据样例

{ "code": "0", "data": [{ "instType": "SPOT", "instId": "BTC-USDT", "last": "72159", "lastSz": "0.00005196", "askPx": "72157.1", "askSz": "1.44548635", "bidPx": "72157", "bidSz": "0.1012", "open24h": "73554.5", "high24h": "74883", "low24h": "71966", "volCcy24h": "443213018.596221053", "vol24h": "6013.17760207", "ts": "1773842459809", "sodUtc0": "73904.3", "sodUtc8": "73915.5" }] }

instId 参数格式详解

instId是唯一必填参数,其格式随产品类型不同而变化。根据 SKILL.md 的 "Parameter Format Reference" 一节,各类型格式如下:

  • 现货(SPOT):BTC-USDT、ETH-USDT(基础货币-计价货币)
  • 永续合约(SWAP):BTC-USDT-SWAP、ETH-USDT-SWAP(在现货格式后追加-SWAP)
  • 交割合约(FUTURES):BTC-USDT-250328(在现货格式后追加交割日期YYMMDD)
  • 期权(OPTION):BTC-USD-250328-95000-C(到期日-行权价-认购/认沽,C为 Call,P为 Put)
  • 指数(Index):BTC-USD、ETH-USD

对应响应中的instType取值:

instType含义
SPOT现货
SWAP永续合约
FUTURES交割合约
OPTION期权

注意:同名的现货与永续合约是两个不同的产品,查询时务必携带完整的instId(如BTC-USDT与BTC-USDT-SWAP),否则拿到的将是错误产品的行情。

字段语义与实战解读

ticker 快照看似简单,但字段语义存在几个容易踩坑的点,结合数据样例逐项说明:

  • 所有数值字段均为字符串(str)类型:last、bidPx、vol24h等在 JSON 中都是字符串。做涨跌幅、排序、统计等数值运算前必须先float()转换,否则会得到字符串拼接等错误结果。这一点在 market_data_example.py 的源码中体现得很明确:last = float(ticker["last"])。
  • ts是毫秒级 Unix 时间戳:"ts": "1773842459809"表示自 1970-01-01 起的毫秒数,需要除以 1000 或使用pd.to_datetime(ts, unit="ms")才能转换为可读时间。
  • sodUtc0与sodUtc8的区别:分别代表 UTC 0 点与 UTC+8(即北京时间)0 点的开盘价。跨时区计算"当日涨跌"时应选用与自身参照系一致的字段。
  • vol24h与volCcy24h的单位不同:前者是以基础币(如 BTC)计量的 24 小时成交量,后者是以计价货币(如 USDT)计量的 24 小时成交额。两者配合可以观察大额成交与换手活跃度。
  • askPx/bidPx是卖一/买一档:做市或盘口判断时如需更多深度,可配合 深度数据接口(/market/books)获取多档盘口。

实战代码:从最小示例到生产级写法

1. 原文档基础示例

原文档给出了基于requests的最小可用示例,可完整覆盖现货与永续两类产品:

import requests BASE_URL = "https://www.okx.com/api/v5" # 获取 BTC-USDT 现货行情 resp = requests.get(f"{BASE_URL}/market/ticker", params={"instId": "BTC-USDT"}) data = resp.json()["data"][0] print(f"最新价: {data['last']}, 24h量: {data['vol24h']}") # 获取 ETH-USDT 永续合约行情 resp = requests.get(f"{BASE_URL}/market/ticker", params={"instId": "ETH-USDT-SWAP"}) data = resp.json()["data"][0] print(f"ETH永续最新价: {data['last']}")

要点:params={"instId": ...}由requests负责 URL 编码;响应中data为数组,即使单个产品也需取[0]。

2. 仓库源码级实现:带错误处理的 get_ticker

market_data_example.py 中提供了更完整的get_ticker函数,在原文档示例基础上补齐了业务错误码检查、异常捕获、涨跌幅计算与类型转换四个关键环节,适合直接复制到自己的项目中:

def get_ticker(inst_id: str) -> Optional[dict]: """获取单个产品的实时行情。 Args: inst_id: 交易产品ID,如 BTC-USDT。 Returns: 行情数据字典,失败返回 None。 """ try: resp = requests.get(f"{BASE_URL}/market/ticker", params={"instId": inst_id}) data = resp.json() if data["code"] != "0": print(f"API错误: {data['msg']}") return None ticker = data["data"][0] last = float(ticker["last"]) open24h = float(ticker["open24h"]) chg = (last / open24h - 1) * 100 print(f"{inst_id} 最新价: {last} 24h涨跌: {chg:+.2f}% 24h量: {ticker['vol24h']}") return ticker except Exception as e: print(f"获取行情失败: {e}") return None

这段源码揭示了三个值得借鉴的实践:

  1. 先校验业务码再取数据:OKX 响应中code != "0"即业务层失败,此时msg字段携带错误原因。先判code再取data[0],可避免在限频超限、instId 不存在等场景下抛出 KeyError 或 IndexError。
  2. 用open24h计算 24 小时涨跌幅:chg = (last / open24h - 1) * 100是 ticker 最常见的衍生指标,配合f"{chg:+.2f}%"格式化可输出带符号的百分比,原文档示例中即以此展示 24h change。
  3. 异常兜底返回 None:网络抖动、超时等异常被统一捕获并返回None,调用方只需判空即可安全降级,避免单点行情拉取拖垮整个策略循环。

该脚本在main()中通过for symbol in ["BTC-USDT", "ETH-USDT", "SOL-USDT"]: get_ticker(symbol)批量轮询主流币种,演示了 ticker 接口在"盯盘轮询"场景下的典型用法。

相关行情接口全景:从单点到全景

ticker 提供的是"某一时刻的单点快照",在真实量化场景中通常需要与其他行情接口组合使用。同一 Skill 包下的关联文档可作为完整行情链路的补充:

场景需求对应接口仓库文档
一次拉取某产品类型下全部行情(如全部现货)GET /market/tickers批量行情.md
历史 OHLCV 与 K 线绘图、回测GET /market/candlesK线数据.md
逐笔成交明细、成交方向统计GET /market/trades最近成交.md
多档盘口深度、流动性分析GET /market/books深度数据.md
交易对元数据(最小下单量、价格精度、合约面值、最大杠杆)GET /public/instruments交易产品列表.md

其中 K线数据.md 与 candle_data_example.py 展示了将行情转为 pandas DataFrame 的完整范式;批量行情.md 则演示了用volCcy24h排序筛选成交额 TOP 交易对的方法——这些都能与 ticker 单点行情形成互补。如需获取合约类衍生数据(资金费率、标记价格、持仓量、限价),可查阅该 Skill 包 references/合约行情 目录下的对应文档;SKILL.md 中给出了全部 13 个行情端点的完整索引。

运行环境与注意事项

  1. 依赖安装:按 SKILL.md 的 Quick Start,推荐 Python 3.9+,安装requests与pandas(后者用于 DataFrame 场景):
pip install requests pandas
  1. 限频管理:ticker 接口限频为20 次 / 2 秒。若做多产品轮询,建议控制请求节奏(如按产品数均摊间隔),并在代码中处理code非0的限频错误响应。相比 40 次 / 2s 的 K 线接口与深度接口,ticker 的配额更紧,高频轮询前务必先评估。

  2. 数据时序一致性:ts为毫秒时间戳,跨时区应用请统一以 UTC 毫秒为准;轮询落库时应以ts(而非本地接收时间)作为行情的时间轴,避免网络延迟引入错位。

  3. 免费公开、无需鉴权:行情类端点全部公开,无需注册与 API Key 配置;但不同产品的instId命名规则不同,建议先用 交易产品列表接口 获取合法 ID 清单后再发起轮询,避免无效请求占用限频配额。

综上,/market/ticker是 OKX 行情体系中"最轻量、最常用"的单点快照接口:配合本文的字段语义解读与仓库源码中的错误处理范式,即可稳定、高效地将其接入监控告警、涨跌幅统计、盘口快照或 LLM 行情问答等各类场景。

  • 金融科技
  • 示例工程

【免费下载链接】ai_quant_trade

Stock AI Trader: 1-stop platform for learning, sim & live trading. Covers: stock basics, strategies, LLMs, factor mining, ML/DL/RL, graph nets, HFT, C++ deploy & JoinQuant code. 股票AI操盘手:一站式学习、模拟、实盘平台。涵盖:股票基础、策略、大模型、因子挖掘、机器学习/深度学习/强化学习、图网络、高频交易、C++部署及聚宽代码。

项目地址:https://gitcode.com/gh_mirrors/ai/ai_quant_trade
点击查看免费下载

相关推荐

上一篇:trackerslist 完整清单指南:77 个公共 Tracker 服务器,让 BT 下载少卡尾段
下一篇:终极Wand专业版解锁指南:免费获得完整游戏增强体验

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询