# 涨停开盘阈值分组接口文档 ## 1. 接口说明 - 接口名称:涨停开盘阈值分组 - 请求方式:`GET` - 请求路径:`/api/v1/limit-board/open-threshold` - 接口用途:查询指定交易日涨停且前一交易日也涨停的股票,并按指定交易日开盘价是否低于前一交易日收盘价的 101% 分为两组。 ## 2. 请求参数 | 参数名 | 类型 | 必填 | 示例 | 说明 | | --- | --- | --- | --- | --- | | `trade_date` | `string` | 是 | `2026-04-24` | 交易日,格式固定为 `YYYY-MM-DD` | 请求示例: ```http GET /api/v1/limit-board/open-threshold?trade_date=2026-04-24 ``` ## 3. 响应说明 ### 3.1 顶层字段 | 字段名 | 类型 | 说明 | | --- | --- | --- | | `trade_date` | `string` | 查询的交易日 | | `previous_trade_date` | `string` | 前一交易日;如果查询日没有前一交易日则为空字符串 | | `summary` | `object` | 摘要信息 | | `groups` | `array` | 分组后的股票列表,固定返回两组 | ### 3.2 summary 字段 | 字段名 | 类型 | 说明 | | --- | --- | --- | | `limit_count` | `int` | 指定交易日涨停且前一交易日也涨停的股票总数 | | `open_within_threshold_count` | `int` | 指定交易日开盘价低于前一交易日收盘价 101% 的股票数量 | | `open_at_or_above_threshold_count` | `int` | 指定交易日开盘价大于等于前一交易日收盘价 101% 的股票数量 | | `threshold_ratio` | `number` | 分组阈值,固定为 `1.01` | ### 3.3 groups 字段 | 字段名 | 类型 | 说明 | | --- | --- | --- | | `key` | `string` | 分组标识,取值为 `open_within_previous_close_101` 或 `open_at_or_above_previous_close_101` | | `label` | `string` | 分组展示文案 | | `count` | `int` | 当前分组内股票数量 | | `stocks` | `array` | 当前分组内的股票列表 | ### 3.4 groups[].stocks 字段 | 字段名 | 类型 | 说明 | | --- | --- | --- | | `symbol` | `string` | 股票代码 | | `ts_code` | `string` | TS 股票代码 | | `name` | `string` | 股票名称 | | `market` | `string` | 所属板块或市场信息 | | `trade_date` | `string` | 交易日 | | `open` | `number` | 当日开盘价 | | `close` | `number` | 当日收盘价 | | `previous_trade_date` | `string` | 前一交易日 | | `previous_close` | `number` | 前一交易日收盘价,优先取前一交易日 `stock_limit_combined_data.calc_close/tushare_close` | | `open_threshold_price` | `number` | 分组阈值价格,即 `previous_close * 1.01` | | `open_previous_close_ratio` | `number` | 当日开盘价 / 前一交易日收盘价 | | `limit_price` | `number` | 理论涨停价 | | `pct_chg` | `number` | 当日涨跌幅 | | `ak_amount` | `number \| null` | Tushare 成交额 | | `ak_float_market_value` | `number \| null` | Tushare 流通市值 | | `ak_total_market_value` | `number \| null` | Tushare 总市值 | | `ak_turnover_rate` | `number \| null` | Tushare 换手率 | | `ak_seal_amount` | `number \| null` | Tushare 封板资金 | | `ak_first_limit_time` | `string \| null` | Tushare 首次封板时间,可能为 `09:35:12` 或 `93200` 这类紧凑格式 | | `ak_last_limit_time` | `string \| null` | Tushare 最后封板时间 | | `ak_break_limit_count` | `int \| null` | Tushare 炸板次数 | | `ak_limit_up_stat` | `string \| null` | Tushare 涨停统计 | | `ak_limit_up_days` | `int \| null` | Tushare 连板数 | | `ak_industry` | `string \| null` | Tushare 所属行业 | | `vol` | `int \| null` | 成交量 | ## 4. 响应示例 ```json { "trade_date": "2026-04-24", "previous_trade_date": "2026-04-23", "summary": { "limit_count": 23, "open_within_threshold_count": 8, "open_at_or_above_threshold_count": 15, "threshold_ratio": 1.01 }, "groups": [ { "key": "open_within_previous_close_101", "label": "开盘价低于前收101%", "count": 8, "stocks": [ { "symbol": "000001", "ts_code": "000001.SZ", "name": "示例股份", "market": "主板", "trade_date": "2026-04-24", "open": 10.09, "close": 11.0, "previous_trade_date": "2026-04-23", "previous_close": 10.0, "open_threshold_price": 10.1, "open_previous_close_ratio": 1.009, "limit_price": 11.0, "pct_chg": 10.0, "ak_amount": 1523000000, "ak_float_market_value": 8245000000, "ak_total_market_value": 12678000000, "ak_turnover_rate": 18.64, "ak_seal_amount": 286000000, "ak_first_limit_time": "93200", "ak_last_limit_time": "144208", "ak_break_limit_count": 2, "ak_limit_up_stat": "2天2板", "ak_limit_up_days": 2, "ak_industry": "软件开发", "vol": 123456789 } ] }, { "key": "open_at_or_above_previous_close_101", "label": "开盘价大于等于前收101%", "count": 15, "stocks": [] } ] } ``` ## 5. 业务规则 - 只统计指定交易日 `stock_limit_combined_data.final_status = 1` 且前一交易日 `stock_limit_combined_data.final_status = 1` 的股票。 - 前一交易日通过 `trade_calendar` 中 `exchange = 'SSE'` 且 `is_open = 1` 的交易日确定。 - 分组阈值为 `previous_close * 1.01`。 - 当 `open < previous_close * 1.01` 时,股票进入 `open_within_previous_close_101` 分组。 - 当 `open >= previous_close * 1.01` 时,股票进入 `open_at_or_above_previous_close_101` 分组。 - 如果当日开盘价或前一交易日收盘价缺失,股票进入 `open_at_or_above_previous_close_101` 分组。 - 每个分组内的 `stocks` 按 `pct_chg` 从大到小排序;如果 `pct_chg` 相同,则按 `ts_code` 升序排序。 ## 6. 错误响应 当缺少 `trade_date` 参数时: ```json { "error": "trade_date 参数不能为空" } ``` 当服务端内部异常时: ```json { "error": "具体错误信息" } ```