新增二板历史角度
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
- 服务前缀:`/api/v1`
|
||||
- 响应格式:`application/json`
|
||||
- 当前项目接口总数:11
|
||||
- 当前项目接口总数:13
|
||||
|
||||
## 2. 接口列表
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
| 涨停低开分组 | `GET` | `/api/v1/limit-board/open-lower-groups` | 获取查询日和前一交易日均涨停的股票,并按是否低于前一交易日收盘价分组 | [limit-board-open-lower-groups.md](./limit-board-open-lower-groups.md) |
|
||||
| 涨停开盘阈值分组 | `GET` | `/api/v1/limit-board/open-threshold` | 获取查询日和前一交易日均涨停的股票,并按开盘价是否低于前一交易日收盘价 101% 分组 | [limit-board-open-threshold.md](./limit-board-open-threshold.md) |
|
||||
| 二板早盘次日盈利 | `GET` | `/api/v1/limit-board/second-board-profit` | 分页查询 T-2 无涨停、T-1 涨停、T 涨停的次日盈利明细 | [download-second-board-profit-csv.md](./download-second-board-profit-csv.md) |
|
||||
| 二板获利综合 | `GET` | `/api/v1/limit-board/second-board-profit-summary` | 汇总每只个股 2020 年至今 09:31:00-09:59:59 二板后的次日最大获利,并按累计获利倒序排序 | [second-board-profit-summary.md](./second-board-profit-summary.md) |
|
||||
| 个股二板获利详情 | `GET` | `/api/v1/limit-board/second-board-profit-detail` | 查询单只个股每次 09:31:00-09:59:59 二板后的次日最大获利 | [second-board-profit-summary.md](./second-board-profit-summary.md) |
|
||||
| 二板日历 | `GET` | `/api/v1/limit-board/second-cal` | 按交易日统计二板数量、封板/炸板数量和 T+1 盘中盈利概率 | [second-cal.md](./second-cal.md) |
|
||||
| 炸板次日表现 | `GET` | `/api/v1/limit-board/break-next-performance` | 分页查询 T-2 未涨停、T-1 涨停、T 日炸板股票及 T+1 表现 | [limit-board-break-next-performance.md](./limit-board-break-next-performance.md) |
|
||||
| 下载 | `GET` | `/api/v1/download/limit-board/second-board-profit-csv` | 下载筛选条件范围内的二板早盘次日盈利 CSV 明细 | [download-second-board-profit-csv.md](./download-second-board-profit-csv.md) |
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
# 二板获利综合与个股详情接口文档
|
||||
|
||||
## 1. 接口说明
|
||||
|
||||
本页包含两个二板获利统计接口:
|
||||
|
||||
- 二板获利综合:汇总每只个股 2020 年至今早盘二板后的 T+1 最大获利,并按累计获利从高到低排序。
|
||||
- 个股二板获利详情:查询单只个股每次早盘二板后的 T+1 最大获利情况。
|
||||
|
||||
接口当前读取缓存表,不再在请求时实时联表计算:
|
||||
|
||||
- `second_board_profit_detail_cache`:保存每次命中的二板详情和 T+1 最大获利。
|
||||
- `second_board_profit_summary_cache`:保存完整缓存范围内按个股聚合后的综合数据。
|
||||
|
||||
业务筛选基础条件:
|
||||
|
||||
- T-2 交易日无涨停。
|
||||
- T-1 交易日涨停。
|
||||
- T 交易日再次触及涨停价,T 日可为封板或炸板。
|
||||
- T 日二板首次涨停时间在 `09:31:00` 到 `09:59:59` 之间,包含起止时间。
|
||||
|
||||
## 2. 接口地址
|
||||
|
||||
| 接口名称 | 请求方式 | 请求路径 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| 二板获利综合 | `GET` | `/api/v1/limit-board/second-board-profit-summary` | 汇总每只个股 2020 年至今 09:31:00-09:59:59 二板后的次日最大获利 |
|
||||
| 个股二板获利详情 | `GET` | `/api/v1/limit-board/second-board-profit-detail` | 查询单只个股每次 09:31:00-09:59:59 二板后的次日最大获利 |
|
||||
|
||||
## 3. 统计规则
|
||||
|
||||
- 统计口径复用二板日历接口:T-2 未涨停、T-1 涨停、T 日再次触及涨停价。
|
||||
- T+1 最大获利百分比为 `next_high_profit_pct`,按 `(T+1最高价 - T日最高价) / T日最高价 * 100` 计算并保留两位小数。
|
||||
- 二板获利综合接口按个股累计 `next_high_profit_pct`,得到 `total_next_high_profit_pct`,并按该字段从高到低排序。
|
||||
- 没有 T+1 最高价或 T 日最高价的数据仍会计入二板次数,但不参与获利累计和平均值计算。
|
||||
- 当请求日期范围覆盖整张明细缓存表时,二板获利综合接口直接读取 `second_board_profit_summary_cache`。
|
||||
- 当请求日期范围小于明细缓存表覆盖范围时,二板获利综合接口从 `second_board_profit_detail_cache` 按日期范围动态聚合。
|
||||
- 个股二板获利详情接口始终从 `second_board_profit_detail_cache` 按日期范围和股票代码查询。
|
||||
|
||||
## 4. 缓存刷新
|
||||
|
||||
缓存表需要由离线脚本或人工任务刷新。接口只返回缓存表中已经落地的数据;如果最新交易日或历史补数未写入缓存表,接口不会临时回退到实时联表计算。
|
||||
|
||||
当前校验结果:
|
||||
|
||||
- `second_board_profit_detail_cache` 当前覆盖 `2020-01-06` 到 `2026-05-14`。
|
||||
- 在该覆盖范围内,缓存明细和原实时计算口径数量一致、键一致、字段一致。
|
||||
- 默认查询范围 `2020-01-01` 到当天如果覆盖了缓存表之外的日期,需要先刷新缓存表,否则接口只返回已落地缓存数据。
|
||||
|
||||
## 5. 请求参数
|
||||
|
||||
两个接口都支持以下日期参数:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 默认值 | 示例 | 说明 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `tradeStartDate` | `string` | 否 | `2020-01-01` | `2020-01-01` | T 日交易开始日期,格式 `YYYY-MM-DD` |
|
||||
| `tradeEndDate` | `string` | 否 | 当天 | `2026-05-16` | T 日交易结束日期,格式 `YYYY-MM-DD` |
|
||||
|
||||
个股二板获利详情接口还需要传入股票代码,`tsCode` 和 `symbol` 二选一:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 默认值 | 示例 | 说明 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `tsCode` | `string` | 否 | 空 | `000001.SZ` | TuShare 股票代码,优先使用 |
|
||||
| `symbol` | `string` | 否 | 空 | `000001` | 市场展示股票代码;未传 `tsCode` 时使用 |
|
||||
|
||||
兼容说明:日期参数兼容 `trade_start_date`、`start_date`、`trade_end_date`、`end_date`;`symbol` 兼容别名 `code`。
|
||||
|
||||
## 6. 请求示例
|
||||
|
||||
二板获利综合:
|
||||
|
||||
```http
|
||||
GET /api/v1/limit-board/second-board-profit-summary
|
||||
```
|
||||
|
||||
指定日期范围的二板获利综合:
|
||||
|
||||
```http
|
||||
GET /api/v1/limit-board/second-board-profit-summary?tradeStartDate=2020-01-01&tradeEndDate=2026-05-16
|
||||
```
|
||||
|
||||
个股二板获利详情:
|
||||
|
||||
```http
|
||||
GET /api/v1/limit-board/second-board-profit-detail?tsCode=000001.SZ
|
||||
```
|
||||
|
||||
## 7. 二板获利综合响应
|
||||
|
||||
| 字段名 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `trade_start_date` | `string` | 查询起始 T 日 |
|
||||
| `trade_end_date` | `string` | 查询结束 T 日 |
|
||||
| `start_time` | `string` | 固定筛选起点,当前为 `09:31:00` |
|
||||
| `end_time` | `string` | 固定筛选终点,当前为 `09:59:59` |
|
||||
| `total` | `int` | 命中的个股数量 |
|
||||
| `list` | `array` | 按累计获利从高到低排序的个股汇总数据 |
|
||||
|
||||
`list[]` 字段:
|
||||
|
||||
| 字段名 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `symbol` | `string` | 股票代码 |
|
||||
| `ts_code` | `string` | TuShare 股票代码 |
|
||||
| `name` | `string` | 股票简称 |
|
||||
| `market` | `string` | 所属板块 |
|
||||
| `industry` | `string` | 所属行业 |
|
||||
| `second_board_count` | `int` | 09:31:00-09:59:59 期间命中的二板次数 |
|
||||
| `limit_count` | `int` | 二板封板次数 |
|
||||
| `break_count` | `int` | 二板炸板次数 |
|
||||
| `profit_data_count` | `int` | 具备 T+1 最大获利百分比的次数 |
|
||||
| `total_next_high_profit_pct` | `number` | T+1 最大获利百分比累计值 |
|
||||
| `average_next_high_profit_pct` | `number` | T+1 最大获利百分比平均值 |
|
||||
| `first_trade_date` | `string` | 首次命中交易日 |
|
||||
| `last_trade_date` | `string` | 最近命中交易日 |
|
||||
|
||||
响应示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"trade_start_date": "2020-01-01",
|
||||
"trade_end_date": "2026-05-16",
|
||||
"start_time": "09:31:00",
|
||||
"end_time": "09:59:59",
|
||||
"total": 1,
|
||||
"list": [
|
||||
{
|
||||
"symbol": "000001",
|
||||
"ts_code": "000001.SZ",
|
||||
"name": "示例股份",
|
||||
"market": "主板",
|
||||
"industry": "银行",
|
||||
"second_board_count": 3,
|
||||
"limit_count": 2,
|
||||
"break_count": 1,
|
||||
"profit_data_count": 3,
|
||||
"total_next_high_profit_pct": 12.36,
|
||||
"average_next_high_profit_pct": 4.12,
|
||||
"first_trade_date": "2021-03-18",
|
||||
"last_trade_date": "2026-04-24"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 8. 个股二板获利详情响应
|
||||
|
||||
| 字段名 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `trade_start_date` | `string` | 查询起始 T 日 |
|
||||
| `trade_end_date` | `string` | 查询结束 T 日 |
|
||||
| `start_time` | `string` | 固定筛选起点,当前为 `09:31:00` |
|
||||
| `end_time` | `string` | 固定筛选终点,当前为 `09:59:59` |
|
||||
| `symbol` | `string` | 股票代码 |
|
||||
| `ts_code` | `string` | TuShare 股票代码 |
|
||||
| `name` | `string` | 股票简称 |
|
||||
| `market` | `string` | 所属板块 |
|
||||
| `industry` | `string` | 所属行业 |
|
||||
| `second_board_count` | `int` | 命中的二板次数 |
|
||||
| `profit_data_count` | `int` | 具备 T+1 最大获利百分比的次数 |
|
||||
| `total_next_high_profit_pct` | `number` | T+1 最大获利百分比累计值 |
|
||||
| `average_next_high_profit_pct` | `number` | T+1 最大获利百分比平均值 |
|
||||
| `list` | `array` | 每次二板获利详情,字段同二板日历接口 `SecondCalStock` |
|
||||
|
||||
`list[]` 关键字段:
|
||||
|
||||
| 字段名 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `trade_date` | `string` | T 日交易日 |
|
||||
| `previous_trade_date` | `string` | T-1 交易日 |
|
||||
| `previous_two_trade_date` | `string` | T-2 交易日 |
|
||||
| `next_trade_date` | `string` | T+1 交易日 |
|
||||
| `status` | `string` | `limit` 表示封板,`break` 表示炸板 |
|
||||
| `first_limit_time` | `string` | T 日二板首次涨停时间,固定落在 `09:31:00` 到 `09:59:59` |
|
||||
| `t_high` | `number \| null` | T 日最高价 |
|
||||
| `next_high` | `number \| null` | T+1 最高价 |
|
||||
| `next_intraday_profitable` | `boolean \| null` | T+1 最高价是否高于 T 日最高价 |
|
||||
| `next_high_profit_pct` | `number \| null` | T+1 最高价相对 T 日最高价的最大获利百分比 |
|
||||
|
||||
响应示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"trade_start_date": "2020-01-01",
|
||||
"trade_end_date": "2026-05-16",
|
||||
"start_time": "09:31:00",
|
||||
"end_time": "09:59:59",
|
||||
"symbol": "000001",
|
||||
"ts_code": "000001.SZ",
|
||||
"name": "示例股份",
|
||||
"market": "主板",
|
||||
"industry": "银行",
|
||||
"second_board_count": 1,
|
||||
"profit_data_count": 1,
|
||||
"total_next_high_profit_pct": 4.12,
|
||||
"average_next_high_profit_pct": 4.12,
|
||||
"list": [
|
||||
{
|
||||
"trade_date": "2026-04-24",
|
||||
"previous_trade_date": "2026-04-23",
|
||||
"previous_two_trade_date": "2026-04-22",
|
||||
"next_trade_date": "2026-04-27",
|
||||
"symbol": "000001",
|
||||
"ts_code": "000001.SZ",
|
||||
"name": "示例股份",
|
||||
"market": "主板",
|
||||
"industry": "银行",
|
||||
"previous_close": 10,
|
||||
"limit_price": 11,
|
||||
"t_high": 11,
|
||||
"t_close": 11,
|
||||
"t_pct_chg": 10,
|
||||
"status": "limit",
|
||||
"first_limit_time": "09:35:12",
|
||||
"open_times": 0,
|
||||
"next_high": 11.45,
|
||||
"next_close": 11.2,
|
||||
"next_intraday_profitable": true,
|
||||
"next_high_profit_pct": 4.09
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 9. 错误响应
|
||||
|
||||
```json
|
||||
{
|
||||
"error": "参数错误"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user