165 lines
5.8 KiB
Markdown
165 lines
5.8 KiB
Markdown
# 涨停开盘阈值分组接口文档
|
|
|
|
## 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": "具体错误信息"
|
|
}
|
|
```
|