跳转至

查询 K 线与指标

HTTP API GET K线 / 指标
请求 URL https://stock-data-api.aibot6.cn/v1/api/kline

返回历史与实时拼接后的 OHLCV 数据。当请求范围包含当天时,会将实时条目拼接到结果中。

请求参数

参数 类型 必填 说明
code string 证券代码,如 600000.SH
freq string D1m5m
start string 开始时间
end string 结束时间
fields string 逗号分隔字段子集
adj string 默认 none
indicators string 附加 MA/EMA 指标

接口说明

  • 当请求区间包含当天时,返回结果会拼接实时条目。
  • adj=qfq/hfq 当前不支持,传入时会直接返回参数错误。
  • trade_datets 通常会在结果中保留,方便前端直接做横轴映射。

扩展接口

GET /v1/api/kline/with_realtime

  • 第 1 页优先从 Redis 读取最多 100 条首屏缓存
  • 第 2 页起统一从 MySQL 分页读取
  • 当天实时数据来自 Redis 的 1 分钟分时序列
  • 支持返回 turnover_rate、大单净量、趋势强度等扩展字段

重点参数:

参数 类型 必填 说明
code string 证券代码
freq string D1m5m
page int 默认 1
page_size int 默认 100,最大 500

GET /v1/api/indicators/macd_bs

计算 MACD、成交量趋势、热度门限,并标记:

  • B:买入
  • S:卖出
  • A:加仓

GET /v1/api/indicators/micro_momentum

支持两种模式:

  • freq=1m:从 Redis 读取最近 6 条已完成 1 分钟数据
  • freq=D:从 MySQL 中间表 strategy_signal_snapshot 读取日级派生指标

输出指标:

  • micro_vol_ratio
  • vol_acc
  • time_adjusted_vol_ratio
  • price_speed_ratio

GET /v1/api/monitor/chip_metrics

用于查询 monitor_chip_metric_snapshot 聚合结果,并按窗口天数、市场、排序字段、分页参数进行筛选。

    <div class="api-code-panel" data-code="python" markdown="1">
        import requests

        url = "https://stock-data-api.aibot6.cn/v1/api/kline"
        params = {
            "code": "000001.SZ",
            "freq": "D",
            "start": "2020-01-01",
            "end": "2020-01-02",
        }
        headers = {
            "Authorization": "Bearer <token>",
            "X-Timestamp": "<ts>",
            "X-Nonce": "<nonce>",
            "X-Signature": "<signature>",
        }

        response = requests.get(url, params=params, headers=headers)
        print(response.text)
    </div>
    <div class="api-code-panel" data-code="javascript" markdown="1">
        const url = new URL("https://stock-data-api.aibot6.cn/v1/api/kline");
        url.searchParams.set("code", "000001.SZ");
        url.searchParams.set("freq", "D");
        url.searchParams.set("start", "2020-01-01");
        url.searchParams.set("end", "2020-01-02");

        const response = await fetch(url, {
          headers: {
            Authorization: "Bearer <token>",
            "X-Timestamp": "<ts>",
            "X-Nonce": "<nonce>",
            "X-Signature": "<signature>",
          },
        });

        console.log(await response.json());
    </div>
  </div>
</section>

<section class="api-card status-card">
  <div class="api-card__header">
    <h3 class="api-card__title">返回状态示例</h3>
  </div>
  <div class="api-card__body">
    <div class="api-status-tabs" role="tablist" aria-label="返回状态">
      <button class="api-status-tab is-active" type="button" data-status-target="200">200</button>
      <button class="api-status-tab" type="button" data-status-target="400">400</button>
      <button class="api-status-tab" type="button" data-status-target="401">401</button>
      <button class="api-status-tab" type="button" data-status-target="403">403</button>
      <button class="api-status-tab" type="button" data-status-target="404">404</button>
    </div>
    <div class="api-status-panel is-active" data-status="200" markdown="1">
        {
          "code": 1,
          "message": "success",
          "data": [
            {
              "ts": "2020-01-02 00:00:00",
              "trade_date": "2020-01-02",
              "open": 12.31,
              "high": 12.55,
              "low": 12.18,
              "close": 12.48,
              "volume": 123456,
              "pre_close": 12.10,
              "change": 0.38,
              "pct_chg": 3.14
            }
          ]
        }
    </div>
    <div class="api-status-panel" data-status="400" markdown="1">
        {
          "code": 0,
          "message": "unsupported adj"
        }
    </div>
    <div class="api-status-panel" data-status="401" markdown="1">
        {
          "code": 0,
          "message": "unauthorized"
        }
    </div>
    <div class="api-status-panel" data-status="403" markdown="1">
        {
          "code": 0,
          "message": "forbidden"
        }
    </div>
    <div class="api-status-panel" data-status="404" markdown="1">
        {
          "code": 0,
          "message": "not found"
        }
    </div>
  </div>
</section>