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線。