博客 / 詳情

返回

免費獲取股票歷史行情與分時K線數據 API

在全球金融市場中,獲取準確的股票歷史行情數據至關重要。無論是港股、美股、A 股、日股、德國還是新加坡等市場的投資者和開發者,都需要可靠的股票分時 K 線數據來支持分析和決策。本文將介紹一個高效的股票 API,支持批量歷史 K 線數據 API 查詢,幫助您輕鬆獲取從分鐘級到月線的 OHLCV 數據,包括開盤價、最高價、最低價、收盤價和成交量等關鍵指標。

API 概述

這個 API 來自 itick.org,提供全球股票市場的歷史 K 線數據,覆蓋數千只股票。支持的市場包括 HK(港股)、US(美股)、SZ/SH(A 股)、JP(日股)、DE(德國)、SG(新加坡)等。數據包括標準 OHLC 字段(開盤、最高、最低、收盤),並支持多種時間週期,如 1 分鐘、5 分鐘、日 K、周 K 和月 K 等。通過簡單的 GET 請求,您可以獲取單個股票或批量股票的歷史行情數據,確保數據準確性和實時性。

該 API 特別適合用於 TradingView 圖表集成、行情軟件開發或量化分析。註冊既可獲取免費 token,查詢限額合理。

單個股票歷史 K 線查詢

接口地址

GET /stock/kline?region={region}&code={code}&kType={kType}&limit={limit}&et={et}

請求參數

  • region: 市場代碼(如 HK、US、SZ 等),必填。
  • code: 股票代碼(如 700),必填。
  • kType: K 線類型(1: 分鐘 K,2: 5 分鐘 K,...,10: 月 K),必填。
  • limit: K 線數量,必填。
  • et: 截止時間戳(可選,默認當前時間)。

響應參數

  • t: 時間戳
  • o: 開盤價
  • h: 最高價
  • l: 最低價
  • c: 收盤價
  • v: 成交數量
  • tu: 成交額

Python 示例代碼

以下是使用 Python 請求單個股票 K 線數據的示例:

import requests

url = "https://api.itick.org/stock/kline?region=HK&code=700&kType=2&limit=10"

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

response = requests.get(url, headers=headers)

print(response.text)

Java 示例代碼

以下是使用 Java(OkHttp 庫)請求單個股票 K 線數據的示例:

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
    .url("https://api.itick.org/stock/kline?region=HK&code=700&kType=2&limit=10")
    .get()
    .addHeader("accept", "application/json")
    .addHeader("token", "your_token")
    .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());

Go 示例代碼

以下是使用 Go 請求單個股票 K 線數據的示例:

package main

import (
    "fmt"
    "net/http"
    "io"
)

func main() {
    url := "https://api.itick.org/stock/kline?region=HK&code=700&kType=2&limit=10"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("token", "your_token")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

    fmt.Println(string(body))
}

示例響應

{
  "code": 0,
  "msg": null,
  "data": [
    {
      "tu": 56119888070.5,
      "c": 534.5,
      "t": 1741239000000,
      "v": 104799385,
      "h": 536,
      "l": 534.5,
      "o": 535
    }
  ]
}

批量歷史 K 線查詢

對於需要同時獲取多隻股票數據的場景,批量接口更高效。

接口地址

GET /stock/klines?region={region}&codes={codes}&kType={kType}&limit={limit}&et={et}

請求參數

  • region: 市場代碼,必填。
  • codes: 股票代碼,多個用逗號隔開(如 700,9988),必填。
  • kType: K 線類型,必填。
  • limit: K 線數量,必填。
  • et: 截止時間戳(可選)。

響應參數

響應為一個對象,鍵為股票代碼,值為 K 線數據數組(同單個查詢)。

Python 示例代碼

以下是批量查詢的 Python 示例:

import requests

url = "https://api.itick.org/stock/klines?region=HK&codes=700,9988&kType=2&limit=5"

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

response = requests.get(url, headers=headers)

print(response.text)

Java 示例代碼

以下是使用 Java(OkHttp 庫)批量查詢的示例:

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
    .url("https://api.itick.org/stock/klines?region=HK&codes=700,9988&kType=2&limit=5")
    .get()
    .addHeader("accept", "application/json")
    .addHeader("token", "your_token")
    .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());

Go 示例代碼

以下是使用 Go 批量查詢的示例:

package main

import (
    "fmt"
    "net/http"
    "io"
)

func main() {
    url := "https://api.itick.org/stock/klines?region=HK&codes=700,9988&kType=2&limit=5"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("accept", "application/json")
    req.Header.Add("token", "your_token")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

    fmt.Println(string(body))
}

示例響應

{
  "code": 0,
  "msg": null,
  "data": {
    "700": [
      {
        "tu": 56119888070.5,
        "c": 534.5,
        "t": 1741239000000,
        "v": 104799385,
        "h": 536,
        "l": 534.5,
        "o": 535
      }
    ],
    "9988": [
      {
        "tu": 75404622753.1,
        "c": 140.1,
        "t": 1741239000000,
        "v": 538602171,
        "h": 140.3,
        "l": 139.8,
        "o": 139.9
      }
    ]
  }
}

使用注意事項

  • 替換 headers 中的"your_token"為您註冊的實際 token。
  • API 支持高併發,但免費版有查詢限額,建議根據需求升級。
  • 數據時間戳為 Unix 時間戳,便於處理。
  • Java 示例需引入 OkHttp 庫,Go 示例使用標準庫。

結語

通過本文的介紹,我們瞭解到這個 API 提供的免費股票歷史數據 API 是一個功能強大且易於使用的工具,能夠滿足不同市場、不同週期的 K 線數據需求。無論您是個人投資者、金融分析師還是量化交易開發者,這個 API 都能為您提供準確、及時的全球股票行情數據支持。
對於希望構建自己的金融分析系統、開發交易策略或者進行市場研究的用户來説,這個 API 無疑是一個理想的選擇。免費額度足以支撐中小規模的項目開發和測試,而付費方案則能為專業用户提供更高頻、更穩定的數據服務。

温馨提示:本文僅供參考,不構成任何投資建議。市場有風險,投資需謹慎

參考文檔:https://docs.itick.org/
GitHub:https://github.com/itick-org/

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.