跳转至

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/todaydata.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*,概念快照取 push2BOARDS_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:00BOARDS_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 不可用(无缓存且重建失败)