如何查询股票历史行情(K 线数据)
【摘要】 本文将介绍如何通过Infoway API查询股票产品的历史 K 线行情,包括 API 参数说明、入参格式、示例代码以及查询结果说明。 1. API 功能简介Infoway API的批量 K 线查询接口 /stock/batch_kline 提供多产品同时查询历史 K 线的能力,可用于获取分钟、小时、日线等多种周期的行情数据。该接口适合用于:获取单支股票的历史 K 线同时获取多支股票最近的 K...
本文将介绍如何通过Infoway API查询股票产品的历史 K 线行情,包括 API 参数说明、入参格式、示例代码以及查询结果说明。
1. API 功能简介
Infoway API的批量 K 线查询接口 /stock/batch_kline 提供多产品同时查询历史 K 线的能力,可用于获取分钟、小时、日线等多种周期的行情数据。
该接口适合用于:
- 获取单支股票的历史 K 线
- 同时获取多支股票最近的 K 线
- 根据时间戳向前回溯查询历史数据
2. 接口说明
请求方式:GET
示例 URL 格式:
https://data.infoway.io/stock/batch_kline/{klineType}/{klineNum}/{codes}
其中路径参数为:
{klineType}:K 线周期类型{klineNum}:请求 K 线根数{codes}:股票代码列表(逗号分隔)
3. 入参字段说明表
| 参数名 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| klineType | int | 是 | kline 类型。1:1分钟k;2:5分钟k;3:15分钟k;4:30分钟k;5:1小时k;6:2小时k;7:4小时k;8:日k;9:周k;10:月k;11:季k;12:年k | 1 |
| klineNum | int | 是 | 查询 k 线的数量(单产品最大可查询 500 根 K 线;多产品同时查询时每个产品只能查询最近 2 根 K) | 500 |
| codes | String | 是 | 查询的产品代码,多个之间用逗号分隔(最多可同时查询 100 个产品 K 线)。可参考产品列表 | TSLA.US,AAPL.US |
| timestamp | long | 否 | 仅针对分钟K及小时K;日K及以上不限制。秒级时间戳,支持根据秒时间戳向前查询历史 kline。不传则默认查询最近的 kline(可查询范围根据套餐权限决定,目前仅支持股票产品查询) | 1727007864 |
4. 示例请求(Python)
下面是使用 Python requests 包访问接口的示例代码:
import requests
api_url = 'https://data.infoway.io/stock/batch_kline/1/10/002594.SZ%2C00285.HK%2CTSLA.US'
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0',
'Accept': 'application/json',
'apiKey': 'yourApikey'
}
# 发送GET请求
response = requests.get(api_url, headers=headers)
# 输出结果
print(f"HTTP code: {response.status_code}")
print(f"message: {response.text}")
5. 如何构造你的 API URL
1)选择 K 线周期(klineType)
| k线周期 | 参数值 |
|---|---|
| 1分钟 | 1 |
| 5分钟 | 2 |
| 15分钟 | 3 |
| 30分钟 | 4 |
| 1小时 | 5 |
| 日K | 8 |
| 周K | 9 |
| 月K | 10 |
示例:查询 5 分钟 K → klineType=2 |
2)设置查询数量(klineNum)
例如:
- 查询最近 10 根:
klineNum=10 - 查询最多 500 根:
klineNum=500
3)填写产品代码(codes)
这里指的是交易资产的代码,如果你查询的是股票,则填入对应的股票代码即可。由于Infoway API可查询多个品种,如贵金属、外汇等,对应的产品代码请参考官方文档。
TSLA.US,AAPL.US,9988.HK,600519.SH
注意:多产品查询时,每个产品最大一次只能取 2 根 K 线。
6. 示例返回结果格式说明
接口返回 JSON,主要字段包括:
code:状态码(0 表示成功)msg:提示信息data:包含每个产品的 K 线列表
单根 K 线包含数据例如:
{
"s": "002594.SZ", //产品代码
"respList": [
{
"t": "1751958000", //秒时间戳(UTC+8)
"h": "326.880", //最高价
"o": "326.880", //开盘价
"l": "326.880", //最低价
"c": "326.880", //收盘价
"v": "1410", //成交量
"vw": "460900.80", //成交额
"pc": "0.00%", //涨跌幅
"pca": "0.000" //涨跌额
}
]
}
7. 常见错误与排查
| 错误码 | 说明 |
|---|---|
| 503 | K 线查询数量超出限制 |
| 505 | 产品数量超出限制 |
| 508 | 查询的产品不存在,或已经退市 |
| 401 | 认证错误,API Key 不正确,或者未将 API Key 放置在指定 header 或 query 中 |
| 404 | API 接口不存在 |
| 429 | 请求频率限制,请求不符合您当前套餐配额 |
| 499 | 客户端主动中断,通常发生在网络不稳定的地区,请在良好网络环境连接 |
| 524 | 源服务器连接超时,通常由加速代理节点到源服务器之间不稳定导致,一般很快能够恢复 |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)