免费获取股票历史行情与分时K线数据 API

AI摘要
本文介绍itick.org提供的全球股票历史K线数据API,支持港股、美股、A股等多市场,可查询分钟至月线周期的OHLCV数据。API提供单只与批量查询接口,并附有Python、Java、Go的调用示例,适用于行情分析、量化交易等场景。注册可获取免费额度。

在全球金融市场中,获取准确的股票历史行情数据至关重要。无论是港股、美股、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 无疑是一个理想的选择。免费额度足以支撑中小规模的项目开发和测试,而付费方案则能为专业用户提供更高频、更稳定的数据服务。

温馨提示:本文仅供参考,不构成任何投资建议。市场有风险,投资需谨慎

参考文档:docs.itick.org/

GitHub:https://github.com/itick-org/

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!