1 板块/概念全量排名缓存¶
来源同步:
/Users/mac/Projects/chatgpt-codex/doc/api_Boards.md所属接口集:
板块行情
请求 URL¶
GET /v1/api/boards/top50
认证方式¶
Bearer Token(详见 认证与签名)
接口概述¶
从 Redis 读取当日行业 + 概念全量板块数据(由 boards_boardsnapshot 预计算写入),按主力净流入 TOP 排名排列(rank 从 0 起)。同一响应同时返回 industry / concept / industry_out / concept_out;并提供合并后的 sectors / sectors_out(概念优先补行业、名称去重后的全量榜)。
供以下接口复用:
- GET /v1/api/strategy/auction/today → data.sectors(消费端截取前 50)
- GET /v1/api/market/stats/range → 交易日当天 daily_stats.industry_top_in_names / concept_top_in_names(取前 N)
请求参数¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
day |
string | 否 | YYYYMMDD,默认交易日当日(非交易日回溯上一交易日) |
refresh |
bool | 否 | 1/true 时强制从快照重建并写回 Redis |
top |
int | 否 | 各列表截断前 N 条;不传则返回 Redis 全量排名 |
配置(settings)¶
| 配置项 | 说明 |
|---|---|
| (互补数据源) | 行业快照取 akshare*,概念快照取 push2;BOARDS_DATA_SOURCE 已废弃 |
MARKET_CONF.BOARDS_TOP50_REFRESH_MS |
软新鲜度毫秒,默认 60000。打开本接口即使不带 refresh,超过该时间也会自动重建;调度器同间隔 |
MARKET_CONF.BOARDS_TOP50_REDIS_TTL_SEC |
Redis 键硬过期秒,默认 86400(同 THS_REDIS_TTL_SEC 口径) |
MARKET_CONF.BOARDS_TOP50_WINDOW_START |
交易日调度窗口开始,默认 09:25 |
MARKET_CONF.BOARDS_TOP50_WINDOW_END |
交易日调度窗口结束,默认 15:00 |
Redis¶
- Key:
{REDIS_KEY_PREFIX}:boards:top50:{YYYYMMDD} - Value:JSON,含
day/source/updated_ms/ 全量industry/concept/industry_out/concept_out/sectors/sectors_out(均带rank) - 硬 TTL:
BOARDS_TOP50_REDIS_TTL_SEC(且不超过当日剩余秒) - 调度:交易日
09:25~15:00按BOARDS_TOP50_REFRESH_MS自动刷新
MySQL 日终入库¶
- 表:
boards_board_rank_daily(板块异动排列),字段对齐本接口列表元素 +trade_day/list_type/source/updated_ms - 命令:
python manage.py ingest_boards_top50_daily(详见cmd_IngestBoardsTop50Daily)
接口说明¶
- 不传
refresh时:Redis 缺失或updated_ms超过软新鲜度 → 自动重建回写;重建失败则尽量返回旧缓存。 refresh=1:强制重建。- 流入榜按
main_net降序;流出榜按main_net升序;rank为榜内名次(0 起)。 sectors为概念优先合并后的全量流入榜;sectors_out为流出合并榜。
响应字段(列表元素)¶
sector_name / count / pct / turnover / main_net / flow / signal / signal_rank / flow_tag / rank
(count 为领涨股 leaders_json 条数;rank 为 TOP 名次)
响应格式示例¶
{
"ts": 1739679988,
"day": "20260820",
"source": "mixed",
"updated_ms": 1739679988000,
"industry": [
{
"sector_name": "半导体",
"count": 5,
"pct": 0.02,
"turnover": 2.44,
"main_net": 961325824,
"flow": "in",
"signal": "中性",
"signal_rank": 1,
"flow_tag": "流入",
"rank": 0
}
],
"concept": [],
"sectors": [],
"sectors_out": []
}
返回状态¶
| 状态码 | 说明 |
|---|---|
| 200 | 成功 |
| 401 | 未认证 |
| 403 | 无权限 |
| 503 | TOP50 不可用(无缓存且重建失败) |