如何获取美股指数的实时K线(含代码示例)
接口介绍
该接口用于批量获取指定美股指数的K线数据(K线 = 开盘价、最高价、最低价、收盘价、成交量等),支持精确到分钟级别的数据。
使用步骤
第一步:准备请求
你需要安装并导入 requests 库(通常已预装在Python中):
import requests
第二步:设置请求地址和参数
url = "https://data.infoway.io/stock/batch_kline/1/10/.DJI.US%2C.IXIC.US"
headers = {"apiKey": "YOUR_API_KEY"}
# API KEY申请: www.infoway.io
说明:
- 1 表示获取分钟线
- 10 表示每个指数返回最近10个时间点
- .DJI.US%2C.IXIC.US 是 URL 编码后的请求标的(即“道琼斯”和“纳斯达克”)
- apiKey:你的 API 密钥,需要替换为你自己的。
第三步:发起请求并获取数据
response = requests.get(url, headers=headers)
print(response.json())
返回是一个结构化的 JSON 数据,其中包含每个指数的多条K线数据。
完整代码如下:
import requests
url = "https://data.infoway.io/stock/batch_kline/1/10/.DJI.US%2C.IXIC.US"
# 申请API KEY: www.infoway.io
headers = {"apiKey": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.text)
返回数据结构解析
每条数据包含以下字段:
- t: 时间戳(秒)
- o: 开盘价
- h: 最高价
- l: 最低价
- c: 收盘价
- v: 成交量
- vw: 成交额
- pc: 涨跌幅百分比
- pca: 涨跌额
示例数据片段:
{
"s": ".IXIC.US",
"respList": [
{
"t": "1752597480",
"h": "20761.726",
"o": "20758.473",
"l": "20756.968",
"c": "20761.705",
"v": "6390026",
"pc": "0.02%",
"pca": "3.402"
}
]
}
你可以通过 datetime.fromtimestamp(int(t)) 将时间戳转换为可读时间。
实用小贴士
- API Key 是必须的,没有它将无法请求成功。
- 如需获取更多标的,例如标普500,可以在URL中添加 .INX.US。
- 时间序列从最新往过去排序,第一个为最近一分钟数据。
- 返回最多支持 100 条数据(可自行调整第二个参数)。