在量化回测、因子研究和市场微结构分析中,K线数据是基础输入。若需要从 欧易 OKX 获取历史行情,通常有三条路径:网页端图表导出、历史数据下载中心,以及 API 分页拉取。不同路径在覆盖范围、频率和自动化程度上差异明显,选择时应先明确数据粒度、时间跨度与更新频率。
路径选择
如果只是复核某一段行情,网页端最直接;如果要批量回测,数据下载中心更合适;如果要把数据管道接入研究环境,API 是首选。
| 方式 | 适用场景 | 输出形式 | 主要限制 |
|---|---|---|---|
| 网页端图表 | 少量K线、人工复核 | CSV/图片 | 时间范围受界面限制 |
| 欧易 数据下载中心 | 批量历史K线 | CSV/ZIP | 需筛选、合并文件 |
| API | 自动化更新、长期研究 | JSON,可转CSV/Parquet | 需分页、限频处理 |
| App | 移动查看 | 分享/截图 | 不适合批量导出 |
网页端导出
登录 欧易 OKX 网页端后,进入行情或交易页面,选择现货、永续或交割产品,再定位目标交易对。随后将K线周期切换为目标粒度,例如 1m、5m、15m、1H、4H、1D。

- 在图表工具栏或右键菜单中查找“导出/下载数据”入口;若支持,选择CSV与时间区间。
- 若图表组件没有导出入口,进入 欧易 的“历史数据/交易数据”下载中心,按K线类型筛选。
- 下载完成后,检查时间戳单位、时区和字段顺序,避免直接拼接造成错列。
网页端适合少量数据,优势是可在导出前用图表确认异常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线 |
若使用合约数据,张数与币数之间的换算需结合合约面值,不能直接混用。
清洗要点
- 去重:按 instId + bar + ts 建立唯一键。
- 补齐:按目标周期生成完整时间索引,标记缺失区间。
- 校验:检查OHLC逻辑、负成交量和异常跳空。
- 切分:训练集、验证集、测试集按时间顺序划分,避免未来函数。
这些步骤能显著降低回测偏差,尤其是高频周期下缺失K线带来的影响。
注意事项
批量请求 欧易 API 时,应关注限频与错误码,必要时增加退避与重试。不同产品类型的数据口径不同,现货、永续、交割应分别存储,避免混表。
若只需要中低频历史数据,优先使用 欧易 数据下载中心;若需要持续更新,则用API定时增量拉取。通过 欧易 官方渠道获取数据,能减少第三方源清洗不一致的问题。

