历史 K 线
接口路径
GET /api/market/kline/history
单标的、单周期查询历史 K 线数据。按时间升序(旧 → 新)返回,单次最大返回 500 根。采用基于秒级时间戳(time)的滑动窗口方式进行分页。
请求参数(Query)
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
sym |
string | 是 | - | 产品代码,单次仅支持 1 只,如 AAPL.US |
ktype |
string | 是 | - | K 线周期,单次仅支持 1 个,如 1m |
start |
int64 | 否 | - | 开始时间,秒级时间戳 |
end |
int64 | 否 | - | 结束时间,格式同 start |
autype |
int32 | 否 | 1 | 复权类型:1=不复权, 2=前复权, 3=后复权 |
count |
int32 | 否 | 500 | 返回最大根数,取值范围 [1, 500] |
session |
int32 | 否 | 0 | 美股时段:0/不传=仅盘中, 1=仅盘中, 2=全时段 |
K 线周期(ktype)枚举
| 枚举 | 说明 | 枚举 | 说明 |
|---|---|---|---|
1m |
1 分钟 | 2h |
120 分钟(2 小时) |
3m |
3 分钟 | 3h |
180 分钟(3 小时) |
5m |
5 分钟 | 4h |
240 分钟(4 小时) |
10m |
10 分钟 | 1d |
日 K |
15m |
15 分钟 | 1w |
周 K |
30m |
30 分钟 | 1mo |
月 K |
1h |
60 分钟 | 1q |
季 K |
1y |
年 K |
基于 time 的滑动窗口分页
时间流向(旧 -> 新)=>
[更早历史] <-------- 当前视窗已加载 (500根) --------> [最新实时跳动]
▲ ▲
最旧点 data[0].data[0][0] 最新点 data[0].data[len-1][0]
│ │
▼ (左滑 end=最旧点) ▼ (增量补齐 start=最新点)
| 场景 | start | end | 客户端逻辑 |
|---|---|---|---|
| 首次打开图表 | 不传 | 不传 | 取当前最新往前倒推 500 根 |
| 左滑看更早(向前翻页) | 不传 | 传 | 取已加载数据中最旧一根的 time 作为 end,新返回的 K 线 prepend 到本地头部,按 time 幂等去重 |
| 断线重连补最新(向后增量) | 传 | 不传 | 取本地最新一根的 time 作为 start,新 K 线 append 到末尾 |
| 翻页结束判定 | - | - | 返回根数 < count(如 0 或 120 < 500)即已到上市首日或区间终点 |
完整多步翻页示例
Step 1:首次请求最新 500 根
GET /api/market/kline/history?sym=AAPL.US&ktype=1m&count=500
{
"code": 200,
"msg": "success",
"data": [
{
"sym": "AAPL.US",
"ktype": "1m",
"data": [
[1781962200, 180.50, 181.20, 182.00, 179.80, 480220.0, 86677688.40, 180.00, 1.20, 0.67, 2],
[1781992140, 181.05, 181.65, 181.80, 181.00, 290440.0, 52670736.20, 181.05, 0.60, 0.33, 2]
]
}
]
}
Step 2:左滑加载更早历史
取 Step 1 首根 time=1781962200 作为 end:
GET /api/market/kline/history?sym=AAPL.US&ktype=1m&end=1781962200&count=500
响应字段说明
data[0] 产品对象
| 字段 | 类型 | 说明 |
|---|---|---|
sym |
string | 产品代码 |
ktype |
string | K 线周期 |
data |
array[array] | K 线纯数值矩阵(按时间升序) |
K 线行 `data[i]` 索引定义
| 索引 | 字段 | 类型 | 说明 |
|---|---|---|---|
[0] |
time |
int64 | 秒级时间戳(整周期对齐,可直接用于下次翻页入参) |
[1] |
open |
float64 | 开盘价 |
[2] |
close |
float64 | 收盘价(未完结 K 线为当前最新价) |
[3] |
high |
float64 | 最高价 |
[4] |
low |
float64 | 最低价 |
[5] |
volume |
float64 | 成交量(股数/手数) |
[6] |
turnover |
float64 | 成交额(金额) |
[7] |
pre_close |
float64 | 上一根 K 线收盘价 |
[8] |
chg |
float64 | 涨跌额 |
[9] |
rate |
float64 | 涨跌幅(0.67 代表 +0.67%) |
[10] |
session |
int32 | 美股时段:1=盘前, 2=盘中, 3=盘后;非美股固定 -1 |
美股交易时段(session)
入参(仅美股、美 ETF 的分钟 K 与小时 K 生效):
0或不传:默认仅返回盘中数据1:仅美股盘中时段(Regular Market)2:美股盘中 + 盘前 + 盘后全时段(All Sessions)
矩阵 [10] 列返回值:1=盘前、2=盘中、3=盘后、-1=非美股或不适用。