API Documentation

OKX API 开发者指南:
V5 接口文档与 Python 量化实战

作者 Join Ouyi

OKX API 是连接开发者与欧易交易所的桥梁,支持现货、期货、期权等全品类交易。无论您是想构建自动化交易机器人,还是开发行情分析工具,OKX V5 API 都能提供强大、稳定的技术支持。本文将带您快速入门,从申请 API Key 到编写第一个 Python 交易脚本。

1

核心功能与接口类型

REST API

基于 HTTP 协议,适用于低频交互。
适用场景: 获取历史 K 线、查询账户余额、下达买卖订单、撤单等。

WebSocket API

基于 TCP 的双向通信,毫秒级延迟。
适用场景: 实时推送最新成交、订单簿(Depth)变化、账户权益变动通知。

2

快速开始:申请 API Key

  1. 登录 OKX 官网(需完成 KYC 认证)。
  2. 点击右上角头像 -> API -> 申请 V5 API
  3. 设置备注名和密码 (Passphrase),绑定 IP 地址(强烈建议,以增强安全性)。
  4. 根据需求勾选权限:
    • 读取: 仅查询数据(最安全)。
    • 交易: 允许下单和撤单。
    • 提币: 允许资金转出(非必要严禁勾选)。
3

Python 实战:获取 BTC 实时行情

以下是一个简单的 Python 脚本示例,演示如何使用 REST API 获取 BTC/USDT 的最新市场深度。

import requests
import json

# 设置 API 端点 (国内用户可能需要代理或使用 AWS 节点)
url = 'https://www.okx.com/api/v5/market/depth'

# 设置参数:交易对为 BTC-USDT,获取 5 档深度
params = {
    'instId': 'BTC-USDT',
    'sz': '5'
}

try:
    response = requests.get(url, params=params)
    data = response.json()
    
    if data['code'] == '0':
        print("当前 BTC/USDT 卖一价:", data['data'][0]['asks'][0][0])
        print("当前 BTC/USDT 买一价:", data['data'][0]['bids'][0][0])
    else:
        print("请求失败:", data['msg'])
        
except Exception as e:
    print("发生错误:", e)
!

开发注意事项与风控

  • 🔒 私钥安全: API Key 和 Secret Key 等同于你的银行密码,切勿上传到 GitHub 或发送给他人。
  • 🚦 频率限制: REST API 普通用户通常限制为 20 次/2秒。请做好错误重试机制,避免 IP 被封禁。
  • 🧪 模拟盘测试: 在实盘跑策略前,强烈建议先使用 OKX 提供的模拟盘 API 进行回测,以免因代码 Bug 造成资金损失。

总结

通过 OKX API,你可以将交易策略自动化,实现 7x24 小时无人值守获利。对于初学者,建议从简单的“定投脚本”或“网格策略”开始尝试。

下载 OKX App 体验模拟交易