获取现货与合约的历史行情数据全攻略

·

现货交易、杠杆、永续合约……无论策略多复杂,最底层都绕不开一句话:先有靠谱的历史行情数据。下文教你怎样高效下载并使用 OKX 提供的 历史行情数据历史成交数据订单簿快照,覆盖 现货期货 两大市场。

关键词:历史行情数据、历史成交数据、OHLC、订单簿快照、永续合约资金费率、Tick 级数据


为什么要自己准备数据


现货市场:数据源总览

1. OHLC(Candle Stick)数据

整库以 “日期+交易对+K线周期” 为文件名,最小粒度 1 分钟起跳,老数据可追溯至 2019 年。
👉 立刻下载 5 万余条现货 OHLC 样本,快速验证策略复现效果

2. 聚合成交(Aggregated Trades)

将相同价格瞬间多笔撮合整合成一条,避免重复 Tick。文件每日按交易对打包压缩,CSV 内字段:

3. Tick 级成交历史

真正对高频因子有用的 “地摊货”:每一笔撮合原始明细!覆盖 2021 以来的全量,解包后行数轻松上亿。
推荐使用 parquet 格式,降低磁盘 IO。


期货市场:新增资金费率维度

1. 历史行情数据 & 成交数据

与现货路径相似,唯一区别在文件命名里多了一段合约代号(如 BTC-USDT-230929)。

2. 永续合约资金费率

这是期货专有的辅助数据。每天 8:00、16:00、00:00(UTC+8)三个时间点结算,CSV 三列:

将资金费率与价格对齐后,可用于构建 资金费率中性 策略:做空高费率币、做多低费率币,弱化单边波动。


VIP 专享:订单簿 Level-2 快照

OKX 为 VIP 用户提供最近 3 个月的订单簿历史,包含前 50 档买 + 卖挂单量。


下载流程实战步骤

  1. 登录 OKX 账户 ➜ 进入 API 管理 ➜ 创建「读取-analytics」权限的 API key。
  2. 打开官方数据门户,勾选需要的时间区间与币种,生成一次性下载链接(有效期 24 小时)。
  3. 建议用 aria2c 多线程下载;文件校验 MD5 值,确认完整性。
  4. 本地目录结构参考:

    okx-hist-data/
    ├── spot/
    │   ├── BTC-USDT/
    │   │   ├── 1m-ohlc/
    │   │   ├── aggregated-trades/
    │   │   └── tick-trades/
    └── futures/
        ├── BTC-USDT-SWAP/
        │   └── funding-rate/

数据处理小贴士


FAQ:关于 OKX 历史行情数据的常见疑问

Q1:下载官方历史行情数据是否收费?
A:个人回测免费。如需二次分发或嵌入商业 SaaS,需要邮件申请商用授权。

Q2:Tick 级成交在 2020 年之前的数据能补吗?
A:目前官方仅保留 2021 年起的数据,更早期无法补全,建议改用聚合成交 + 1 分钟 OHLC 组合训练。

Q3:文件太大,不想全量下怎么办?
A:用 API 分批拉取所需日期区间,只保留研究币种与对应周期即可节省 70% 以上存储。

Q4:VIP 订单簿快照能否按秒级频率获取?
A:不行,官方提供的 Level-2 最高频率为 1 分钟;更高精度需通过 WebSocket 实时存储。

Q5:Parquet 文件打开报错?
A:确认 Python 环境 pyarrow >= 6.0.0;如用 pandas 读取,改用 pd.read_parquet(path, engine="pyarrow") 即可。

Q6:历史行情数据与实时接口有没有差异?
A:完全一致,回放时可无缝接入同一套字段定义,避免因字段名差异带来代码改动。


小结

掌握这套现货 + 期货的历史行情数据获取姿势,你就拥有了策略回测与量化研究的“地基”。把数据拉回家,清洗、对齐、特征工程再微调模型,让每一次开仓都有迹可循。愿你在下一轮牛市到来前,把策略打磨得足够锋利!