日线/周线/月线查询¶
来源同步:
/Users/mac/Projects/chatgpt-codex/doc/api_Kline.md所属接口集:
K 线数据
请求 URL¶
GET /v1/api/kline
认证方式¶
Bearer Token(详见 认证与签名)
接口概述¶
查询历史 K 线 OHLCV 数据,支持日线(D)、1 分钟(1m)、5 分钟(5m)等频率。数据来源于 MySQL 通达信历史库;可选附加均线(MA/EMA)指标。当请求日期包含当天且频率为日内或日线当天时,缓存 TTL 较短(30 秒),其余为 86400 秒。
请求参数¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
code |
string | 是 | 股票代码,支持带市场后缀(如 600000.SH、000001.SZ)或纯数字(如 600000)。系统自动识别市场:以 .SH 结尾、SH 开头或数字以 5/6/9 开头归为沪市,其余默认深市 |
freq |
string | 是 | K 线频率:D(日线)、1m(1 分钟)、5m(5 分钟)等 |
start |
string | 否 | 起始日期时间,格式 YYYY-MM-DD 或 YYYY-MM-DD HH:MM:SS |
end |
string | 否 | 结束日期时间,格式同上 |
fields |
string | 否 | 返回字段逗号分隔列表,用于筛选输出列。trade_date 和 ts 始终返回 |
adj |
string | 否 | 复权方式,默认 none。暂不支持 qfq/hfq,传非 none 值会返回 400 |
indicators |
string | 否 | 附加技术指标,格式 ma=5,10;ema=12,26,分号分隔多组,等号前为指标名,等号后为逗号分隔的周期列表。支持 ma(简单移动平均)和 ema(指数移动平均) |
接口说明¶
- 根据传入的
code自动解析市场与纯数字代码。 - 调用
get_kline_data从通达信 MySQL 库获取原始 DataFrame。 - 如果传入了
indicators,按ma=周期列表;ema=周期列表格式解析,基于close列计算对应均线,新增ma{N}/ema{N}列。 - 如果该股票在
StockBasics表中有free_float_shares,则追加: free_float_shares:流通股本(整数)free_float_mcap:流通市值 =close × free_float_sharesturnover_rate:换手率 =volume / free_float_shares × 100(保留 4 位小数)value_turnover:换手率(金额口径)=amount / free_float_mcap × 100(保留 4 位小数)- 格式化输出:
trade_date转为YYYYMMDD字符串,ts转为带Asia/Shanghai时区的 ISO 格式,追加ts_tz和ts_code(如600000.SH),移除原始code列。 - 如果指定
fields,筛选输出列(trade_date和ts始终保留)。 NaN/None统一输出为 JSONnull。- 缓存策略:日内频率(
1m/5m)或日线当天数据 TTL = 30 秒,其余 TTL = 86400 秒。
响应格式示例¶
{
"code": 1,
"message": "success",
"data": [
{
"trade_date": "20260115",
"ts": "2026-01-15T00:00:00+08:00",
"ts_tz": "Asia/Shanghai",
"ts_code": "600000.SH",
"market": "SH",
"open": 7.5,
"high": 7.6,
"low": 7.4,
"close": 7.55,
"volume": 1000000,
"amount": 7550000.0,
"pre_close": 7.48,
"change": 0.07,
"pct_chg": 0.94,
"turnover_rate": 0.1234,
"free_float_shares": 8100000000,
"free_float_mcap": 61155000000.0,
"value_turnover": 0.0123,
"ma5": 7.52,
"ma10": 7.50
}
]
}
返回状态¶
| 状态码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | adj 参数传了非 none 值(暂不支持复权) |
| 401 | 未认证 |
| 403 | 无权限 |