OKX 市场数据 API 速通指南:18 套接口一次学会

·

核心关键词:OKX API、行情接口、交易数据、永续合约、K 线、Tick、订单簿

无需登录、无需签名的公共接口,让开发者轻松调用 OKX 的实时行情历史K线订单簿深度资金费率等核心数据。本指南将每一种“GET”请求提炼成可复制的代码片段,兼顾 Node.js 新手与量化老手。


极速起步:两条命令连接 OKX 行情

import { createExchange } from "./exchanges/exchange.js";

const okx = createExchange({
  exchange: "okx",
  authenticate: false,   // 市场数据无需身份验证
  label: "demo"
});

authenticate 设为 false 就能立刻使用下文全部接口,降低测试门槛


最新价 & 指数价:三大 Tick 接口对比

接口英文名称场景示例参数
综合行情getTickers查看所有永续合约的最新成交价24h 涨跌instType: "SWAP"
单币行情getTicker实时监控 BTC 当前买一/卖一instId: "BTC-USD-SWAP"
指数行情getIndexTickers获取标的指数,用于对冲或套利instId: "BTC-USDT"
// 一键拉取所有永续合约快照
const tickers = await okx.getTickers({ instType: "SWAP" });

👉 🔍 立即体验秒级刷新的 Tick 数据流


深度与流动性:订单簿 Bash 级调用

做市、跟单或预测短期波动,都需要完整深度档位

const depth = await okx.getOrderBook({
  instId: "BTC-USDT",
  sz: 400           // 深度档位数,最大 400
});
console.log(depth.asks.slice(0, 5), depth.bids.slice(0, 5));

K 线 4 件套:历史、标记价、指数蜡烛一次取

接口名典型粒度用途
getCandles1m~1M经典OHLCV
getCandleHistory同上一次性拉历史全量,回测必备
getIndexCandles1m~1M指数K线,验证永续溢价
getMarkPriceCandles1m~1M标记价格K线,计算资金费率时参考
// 近 300 根 5m K 线
const kline = await okx.getCandles({
  instId: "BTC-USDT-SWAP",
  bar: "5m",
  limit: 300
});

撮合记录 & 大宗行情:从逐笔到秒级快照

1. 逐笔成交 Trade Feed

const trades = await okx.getTrades({ instId: "ETH-USD" });

返回 时间戳、价格、成交量、方向,可直接写高频回测脚本。

2. 历史成交补齐

const tradesHistory = await okx.getTradesHistory({
  instId: "ETH-USDT",
  limit: 1000
});

3. 大宗交易(Block Trade)

const giants = await okx.getBlockTrades({ instId: "BTC-USDT" });

👉 ⚡ 捕获巨鲸异动 Block 数据


宏观数据:24h 平台总成交量 & 预言机

const vol = await okx.get24HrPlatformVolume();
console.log(`今日期权+现货+永续总量:${vol.volUsd}`);

汇率与指数成分

const components = await okx.getIndexComponents({ index: "BTC-USD" });
components.forEach(c => console.log(`${c.ccy}: ${c.weight}%`));

常见问题 FAQ

Q1:调用频率限制是多少?
A:公共行情端点统一 20 次/2 秒,超出返回 429。建议在本地维护 1 秒级缓存。

Q2:K 线粒度最短可以到什么?
A:最短可设 "1m",完整列表见官方文档,部分老币对无 1s 粒度。

Q3:是否需要签名?
A:所有市场数据接口均无需 key/secret,将 authenticate: false 即可无门槛运行。

Q4:为什么拿到的深度只有 1 档?
A:getOrderBooksz 默认为 20,需在参数里显式设为 400。

Q5:如何知道某标的能否开仓?
A:市场数据只展示价格与成交,如需交易限制(杠杆、限额),需切换到需要认证的接口。

Q6:如何拿到资金费率?
A:使用 getTickers 会得到 fundingRate 字段,或者单独用 getFundingRateHistory(需登录)。


实战小结

  1. tick → depth → klines 三步构成 90% 量化策略瓶颈。
  2. 通过 limitbar 参数灵活裁剪历史长度,节省带宽与 IO。
  3. 实时行情 + 历史数据库双轨同步,才能既快又稳。

将以上 18 套接口封装成自己的“行情网关”,立刻体验毫秒级市场脉搏!