OHLCV数据是什么?K线数据含义、格式及如何通过API获取

  1. iTick
  2. 市场数据
OHLCV数据是什么?K线数据含义、格式及如何通过API获取 - iTick
OHLCV数据是什么?K线数据含义、格式及如何通过API获取

OHLCV数据是什么?K线数据含义、格式及如何通过API获取

只要你看过K线图、做过回测或算过均线,就一定用过 OHLCV 数据。它是汇总某一时间段市场活动的标准格式,几乎所有交易库、图表工具和机器学习流程都以它为输入。

OHLCV 的含义

OHLCV 分别代表:

字母字段含义
OOpen 开盘价该周期内第一笔成交价
HHigh 最高价该周期内最高成交价
LLow 最低价该周期内最低成交价
CClose 收盘价该周期内最后一笔成交价
VVolume 成交量该周期内总成交数量

OHLC 数据即不含成交量的版本,常见于外汇市场,因为外汇没有统一的集中交易所成交量。

每一行代表一根 K线(也称蜡烛线),对应固定周期,如 1 分钟、1 小时或 1 天。

OHLCV 示例

时间 (UTC)开盘最高最低收盘成交量
2026-10-26230.10233.45229.80232.9051,203,400
2026-10-27232.95234.10231.20231.7544,870,100
2026-10-28231.60236.00231.10235.4058,112,900

数值仅作示意。

从 OHLCV 到K线图

一根K线可视化一行 OHLCV:

  • 实体从开盘价延伸到收盘价——收盘高于开盘为阳线,反之为阴线。
  • 影线延伸到最高价和最低价。
  • 成交量通常以柱状图显示在价格图下方。

常用 K 线周期

  • 日内: 1、5、15、30、60 分钟线,用于日内交易与执行研究。
  • 日线: 回测和选股最常用的周期。
  • 周线 / 月线: 长期趋势与组合分析。

K线由底层的 Tick 数据 聚合而成:周期内每笔成交都会更新最高价、最低价、收盘价和成交量。

OHLCV 数据的用途

  • 计算 EMA、RSI、MACD、ADX 等指标
  • 交易策略回测
  • 波动率(ATR、真实波幅)与风险模型
  • 机器学习预测的特征工程
  • 交易 App 与看板中的图表渲染

数据质量陷阱

  1. 时区: 用 UTC 存储时间戳,展示时再转换。iTick 返回毫秒级 Unix 时间戳。
  2. 缺失K线: 节假日和流动性差的时段会产生缺口,不要盲目向前填充。
  3. 公司行为: 拆股和分红会改变历史价格,需确认数据是否复权。
  4. 未完成K线: 当前正在形成的K线在周期结束前会不断变化,回测时应剔除。
  5. 交易时段定义: "日线"可能包含或不包含盘前盘后成交。

如何通过 API 下载 OHLCV 数据

iTick 历史行情数据API 以统一的 JSON 格式返回股票、外汇、加密货币、指数、期货和基金的 OHLCV K线:

      {"t": 1761609600000, "o": 231.60, "h": 236.00, "l": 231.10, "c": 235.40, "v": 58112900, "tu": 13612345678.0}

    

字段:t 时间戳(毫秒)、o 开盘、h 最高、l 最低、c 收盘、v 成交量、tu 成交额。

Python 示例:OHLCV 导出为 CSV

      import requests
import pandas as pd

TOKEN = "YOUR_API_TOKEN"
headers = {"accept": "application/json", "token": TOKEN}

def get_ohlcv(asset, region, code, ktype=8, limit=1000):
    url = f"https://api.itick.org/{asset}/kline"
    params = {"region": region, "code": code, "kType": ktype, "limit": limit}
    rows = requests.get(url, params=params, headers=headers, timeout=10).json()["data"]
    df = pd.DataFrame(rows).rename(columns={"t": "time", "o": "open", "h": "high",
                                            "l": "low", "c": "close", "v": "volume"})
    df["time"] = pd.to_datetime(df["time"], unit="ms", utc=True)
    return df.set_index("time").sort_index()

aapl = get_ohlcv("stock", "US", "AAPL")
eurusd = get_ohlcv("forex", "GB", "EURUSD")
btc = get_ohlcv("crypto", "BA", "BTCUSDT")

aapl.to_csv("AAPL_ohlcv.csv")
print(btc.tail())

    

修改 kType 可在分钟线、小时线、日线、周线、月线之间切换(取值见文档),使用 et(结束时间)参数可向前翻页获取更早的历史数据。

常见问题

OHLCV 代表什么? 开盘价、最高价、最低价、收盘价、成交量。

OHLC 和 OHLCV 有什么区别? OHLCV 包含成交量,OHLC 不包含。

哪里可以免费获取 OHLCV 数据? iTick 提供免费 API Key,可在个人场景下获取股票、外汇、加密货币历史 OHLCV 数据。

OHLCV 和 K 线数据是一回事吗? 是的,"K线"是亚洲市场对蜡烛图(OHLCV)数据的常用叫法。

从干净的 OHLCV 数据开始

可靠的 OHLCV 历史数据是一切指标与回测的基础。免费获取 iTick API Key,几分钟内下载全球市场多年K线。