期货 聚合 K 线(OHLC) · REST 接口
期货合约 K 线。获取指定期货合约在给定日期范围内的开盘价、最高价、最低价、收盘价与成交量 K 线,可通过 resolution 参数设置粒度,从秒级到整个交易时段、周、月、季度或年。K 线由各时间窗内的成交构建,无成交的窗口不产生 K 线。期货交易时段从前一日晚间开始、至结算日结束,因此时段 K 线的 window_start 是 session_end_date 的前一天;若要取某一结算日的时段 K 线,请查询其前一天的 window_start。
GET /futures/v1/aggs/{ticker}上游时效说明
8 小时历史数据、延迟 10 分钟或实时
上游历史范围
数据可追溯至 2017 年 4 月 3 日
适用场景
- 市场监控、技术分析、回测、交易策略开发。
接入地址与凭据以实际开通时下发为准。下面是上游字段定义与响应示例,文档收录不等于本站已开放全部能力。
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
ticker | string | Yes | 期货合约标识,由基础代码与合约到期月份组成,例如 GCJ5 表示 2025 年 4 月黄金合约。 |
resolution | string | No | 每根聚合 K 线的大小,由数字加单位构成:sec、min、hour、session、week、month、quarter 或 year。每个单位都有最大倍数限制,例如分钟 K 线最大为 59min,超过则需改用 1hour。请求不支持的粒度会返回 400 Bad Request。 |
window_start | string | No | 按每根 K 线的起始时间过滤。可接受 YYYY-MM-DD 格式日期或纳秒级 Unix 时间戳。取值会被对齐到所属 K 线区间的起点。省略时,接口返回截至 limit 的最近若干根 K 线。时段 K 线的时间戳记为该时段的开始时间,而非其结算所对应的交易日。期货时段在前一日晚间开盘,因此 window_start 落在 session_end_date 的前一天。若要获取在某个日期结算的时段,请把 window_start 设为该日期的前一天。例如 window_start=2025-08-05 返回的是在 2025-08-06 结算的时段。周、月、季、年 K 线遵循同一规则:window_start 为该周期的第一天,session_end_date 为其中最后一个交易日。可在字段名后加比较后缀来过滤区间:window_start.gte(大于等于)、window_start.gt(大于)、window_start.lte(小于等于)、window_start.lt(小于)。示例:最近若干根分钟 K 线:/v1/aggs/ESU5?resolution=1min&limit=5;在 2025-08-06 结算的时段(传入其起始日期 2025-08-05):/v1/aggs/ESU5?resolution=1session&window_start=2025-08-05;日期区间:/v1/aggs/ESU5?resolution=1session&window_start.gte=2025-07-01&window_start.lte=2025-07-31;某时间戳之后:/v1/aggs/ESU5?resolution=1sec&window_start.gt=1751409877000000000&limit=1000 |
limit | integer | No | 每页返回的结果数(默认 1000,最大 50000,最小 1)。 |
window_start.gte | string | No | 按 window_start 范围筛选。 |
window_start.gt | string | No | 按 window_start 范围筛选。 |
window_start.lte | string | No | 按 window_start 范围筛选。 |
window_start.lt | string | No | 按 window_start 范围筛选。 |
sort | string | No | 以点号表示法按字段与方向排序结果(例如 ticker.asc、name.desc)。 |
响应字段
| 字段 | 类型 | 说明 |
|---|---|---|
next_url | string | 若存在,为下一页结果的 URL。 |
results | array[object] | 不适用 |
results[].close | number | 该时间段内的最后成交价。 |
results[].dollar_volume | number | 该区间内所有成交的「价格 × 数量」之和,以合约的报价单位表示,与 K 线开盘价、最高价、最低价、收盘价的单位一致。尽管字段名为 dollar_volume,但并未乘以合约乘数,因此它不是名义美元金额。合约乘数详情见产品接口。由于 dollar_volume 是原始求和值,可用于计算任意根 K 线区间的成交量加权平均价(VWAP):将该区间各根 K 线的 dollar_volume 求和,再除以成交量之和。 |
results[].high | number | 该时间段内的最高价。 |
results[].low | number | 该时间段内的最低价。 |
results[].open | number | 该时间段内的开盘价。 |
results[].session_end_date | string | 也称交易日,即交易时段的结束日期,格式为 YYYY-MM-DD。时段以其结束日期命名,而 window_start 保存该时段的开始日期,对时段 K 线而言即前一天。 |
results[].settlement_price | number | 合约在该时段的结算价。时段、周、月、季、年 K 线会返回该字段;对跨越多个时段的 K 线,取值是所在周期最后一个时段的结算价。日内 K 线(sec、min、hour)不返回该字段。 |
results[].ticker | string | 合约代码。 |
results[].transactions | integer | 该时间段内发生的成交笔数。 |
results[].volume | integer | 该时间段内成交的合约数量。 |
results[].window_start | integer | K 线聚合窗口的起始时间戳。 |
status | string | 响应状态。 |
响应示例
{
"request_id": "b452e45b7eaad14151c3e1ce5129b558",
"results": [
{
"close": 2874.2,
"dollar_volume": 380717446,
"high": 2877.1,
"low": 2837.4,
"open": 2850.4,
"session_end_date": "2025-02-04",
"settlement_price": 2875.8,
"ticker": "GCJ5",
"transactions": 74262,
"volume": 133127,
"window_start": 1738540800000000000
},
{
"close": 2884.8,
"dollar_volume": 448429944.1,
"high": 2906,
"low": 2870.1,
"open": 2873.7,
"session_end_date": "2025-02-05",
"settlement_price": 2893,
"ticker": "GCJ5",
"transactions": 83673,
"volume": 155170,
"window_start": 1738627200000000000
}
],
"status": "OK"
}原文:Massive 文档 ↗