股票数据接口 API 使用指南
本文介绍股票数据接口的使用方法,涵盖沪深两市实时交易、买卖盘口、历史分时及技术指标(KDJ、MACD、MA、BOLL)等数据获取。提供 Python、JavaScript (Node.js) 和 Java 三种语言的请求示例代码,并详细列出了各接口的返回字段说明及更新频率。
实时数据接口
沪深两市买卖五档盘口
- 接口地址:
GET https://api.example.com/hsstock/real/five/{stock}/{token}
- 描述: 根据股票代码获取实时买卖五档盘口数据。
- 更新频率: 交易时间段每 2 分钟
| 字段名称 | 数据类型 | 字段说明 |
|---|
| ps | number | 委卖价 |
| pb | number | 委买价 |
| vs | number | 委卖量 |
| vb | number | 委买量 |
| t | string | 更新时间 |
沪深两市最新分时交易
- 接口地址:
GET https://api.example.com/hsstock/latest/{stock.market}/{level}/{adjust}/{token}?lt={count}
- 描述: 获取分时交易数据,交易时间升序。支持 5 分钟、15 分钟、30 分钟、60 分钟、日周月年级别(包括前后复权)。
- 更新频率: 分钟级别数据盘中更新,日线及以上级别每日 15:35 更新
| 字段名称 | 数据类型 | 字段说明 |
|---|
| t | string | 交易时间 |
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额 |
| pc | float | 前收盘价 |
| sf | int | 停牌状态 |
沪深两市实时交易数据接口
- 接口地址:
GET https://api.example.com/hsrl/ssjy/{stock}/{token}
- 描述: 获取实时交易数据(可理解为日线的最新数据)。
- 更新频率: 交易时间段每 1 分钟
| 字段名称 | 数据类型 | 字段说明 |
|---|
| fm | number | 五分钟涨跌幅(%) |
| h | number | 最高价(元) |
| hs | number | 换手(%) |
| lb | number | 量比(%) |
| l | number | 最低价(元) |
| lt | number | 流通市值(元) |
| o | number | 开盘价(元) |
| pe | number | 市盈率(动态) |
| pc | number | 涨跌幅(%) |
| p | number | 当前价格(元) |
| sz | number | 总市值(元) |
| cje | number | 成交额(元) |
| ud | number | 涨跌额(元) |
| v | number | 成交量(手) |
| yc | number | 昨日收盘价(元) |
| zf | number | 振幅(%) |
| zs | number | 涨速(%) |
| sjl | number | 市净率 |
| zdf60 | number | 60 日涨跌幅(%) |
| zdfnc | number | 年初至今涨跌幅(%) |
| t | string | 更新时间 yyyy-MM-dd HH:mm:ss |
历史数据接口
沪深两市历史分时交易
- 接口地址:
GET https://api.example.com/hsstock/history/{stock.market}/{level}/{adjust}/{token}?st={start}&et={end}<={count}
- 描述: 获取历史交易数据,交易时间升序。
技术指标接口
支持 KDJ、MACD、MA、BOLL 等指标的历史数据查询,参数结构与历史分时交易类似。
- KDJ 接口:
GET https://api.example.com/hsstock/history/kdj/{stock}/{level}/{adjust}/{token}
- MACD 接口:
GET https://api.example.com/hsstock/history/macd/{stock}/{level}/{adjust}/{token}
- MA 接口:
GET https://api.example.com/hsstock/history/ma/{stock}/{level}/{adjust}/{token}
- BOLL 接口:
GET https://api.example.com/hsstock/history/boll/{stock}/{level}/{adjust}/{token}
代码示例
1. Python
import requests
url = "https://api.example.com/hsrl/ssjy/000001/{YOUR_TOKEN}"
response = requests.get(url)
data = response.json()
print(data)
2. JavaScript (Node.js)
const axios = require('axios');
const url = "https://api.example.com/hsrl/ssjy/000001/{YOUR_TOKEN}";
axios.get(url).then(response => {
console.log(response.data);
}).catch(error => {
console.log(error);
});
3. Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/hsrl/ssjy/000001/{YOUR_TOKEN}"))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
返回数据示例
{
"o": 11.69,
"fm": 0.17,
"h": 11.71,
"hs": 0.5,
"lb": 0.7,
"l": 11.55,
"lt": 225881388026.0,
"pe": 4.26,
"pc": -0.17,
"p": 11.64,
"sz": 225884887825.0,
"cje": 1131033823.93,
"ud": -0.02,
"v": 973969,
"yc": 11.66,