在量化回测、因子研究和市场微结构分析中,K线数据是基础输入。若需要从 欧易 OKX 获取历史行情,通常有三条路径:网页端图表导出、历史数据下载中心,以及 API 分页拉取。不同路径在覆盖范围、频率和自动化程度上差异明显,选择时应先明确数据粒度、时间跨度与更新频率。

路径选择

如果只是复核某一段行情,网页端最直接;如果要批量回测,数据下载中心更合适;如果要把数据管道接入研究环境,API 是首选。

方式 适用场景 输出形式 主要限制
网页端图表 少量K线、人工复核 CSV/图片 时间范围受界面限制
欧易 数据下载中心 批量历史K线 CSV/ZIP 需筛选、合并文件
API 自动化更新、长期研究 JSON,可转CSV/Parquet 需分页、限频处理
App 移动查看 分享/截图 不适合批量导出

网页端导出

登录 欧易 OKX 网页端后,进入行情或交易页面,选择现货、永续或交割产品,再定位目标交易对。随后将K线周期切换为目标粒度,例如 1m、5m、15m、1H、4H、1D。

随机图片

  1. 在图表工具栏或右键菜单中查找“导出/下载数据”入口;若支持,选择CSV与时间区间。
  2. 若图表组件没有导出入口,进入 欧易 的“历史数据/交易数据”下载中心,按K线类型筛选。
  3. 下载完成后,检查时间戳单位、时区和字段顺序,避免直接拼接造成错列。

网页端适合少量数据,优势是可在导出前用图表确认异常K线、插针和成交稀疏区间。

数据下载

欧易 OKX 的历史数据下载通常按交易对、周期和日期切分。需要完整历史时,建议先下载ZIP包,再按统一Schema合并。

合并时注意:不同文件的表头可能重复;同一时间戳可能因多次下载重复;部分最新K线尚未完结。若研究频率较高,可将CSV转为Parquet,减少存储并提高读取效率。

API 拉取

对于自动化流程,可使用 欧易 OKX API v5 的公共行情接口。公共K线接口一般无需API Key,适合研究环境直接调用。

GET https://www.okx.com/api/v5/market/candles?instId=BTC-USDT&bar=1H&limit=300
GET https://www.okx.com/api/v5/market/history-candles?instId=BTC-USDT&bar=1H&after={ts}&limit=100

其中 candles 用于最近K线,history-candles 用于更早历史。分页时以返回数据中的 ts 作为游标,循环调用 after 或 before,直到覆盖目标区间。返回的 data 数组通常按时间倒序排列,落地前应按 ts 升序排序,并剔除 confirm=0 的未完结K线。

字段说明

字段 含义 处理建议
ts K线起始时间,Unix毫秒,UTC 转datetime,统一时区
o/h/l/c 开盘、最高、最低、收盘 校验 high>=max(o,c), low<=min(o,c)
vol 成交量 注意现货与合约单位差异
volCcy 以币计量的成交量 与vol区分口径
volCcyQuote 以计价币计量的成交额 可用于流动性筛选
confirm K线是否完结,0未完结,1已完结 回测仅保留已完成K线

若使用合约数据,张数与币数之间的换算需结合合约面值,不能直接混用。

清洗要点

  1. 去重:按 instId + bar + ts 建立唯一键。
  2. 补齐:按目标周期生成完整时间索引,标记缺失区间。
  3. 校验:检查OHLC逻辑、负成交量和异常跳空。
  4. 切分:训练集、验证集、测试集按时间顺序划分,避免未来函数。

这些步骤能显著降低回测偏差,尤其是高频周期下缺失K线带来的影响。

注意事项

批量请求 欧易 API 时,应关注限频与错误码,必要时增加退避与重试。不同产品类型的数据口径不同,现货、永续、交割应分别存储,避免混表。

若只需要中低频历史数据,优先使用 欧易 数据下载中心;若需要持续更新,则用API定时增量拉取。通过 欧易 官方渠道获取数据,能减少第三方源清洗不一致的问题。