# 板块热度怎么看：熔岩概念热榜的计算口径、五档窗口与持续时间读法


## 摘要

板块热度怎么看？先确认「热度」统计的是什么，再看窗口，最后看它持续了多久。行情软件里的板块热度大多是关注度或综合强度的打分；熔岩（Lava）的板块热度则来自消息面：在指定时间窗内，某个概念被公开财经信息、券商研报与机构/大V 观点提到了多少次（`mentions`），以及有多少个不同主体参与（`agencies`）。它回答的是「这个板块最近被讨论得多不多、由多少主体在讨论」，不回答价格会怎样。

所以读熔岩的板块热度，只需要抓住三件事：口径是提及计数，窗口是 `1h` / `4h` / `18h` / `24h` / `3d` 五档之一，持续性要用日频序列单独验证。本文按搜索里最常见的几个问法——板块热度怎么看、板块热度是怎么计算的、板块热度排行榜在哪里看、板块热度一般持续多久——逐一给出熔岩口径下的答案、对应的 MCP 工具与 HTTP 路径。文中数字均为示例。

## 一、板块热度怎么看：先分清三种「热度」

市面上被叫作「板块热度」的指标至少有三类，混在一起看是最常见的误读来源。

| 类型 | 典型来源 | 统计对象 | 熔岩是否提供 |
| --- | --- | --- | --- |
| 行情热度 | 涨跌幅、成交额、涨停家数 | 价格与成交 | 否 |
| 关注度热度 | 搜索量、自选人数、页面访问 | 用户行为 | 否 |
| 消息面热度 | 新闻、研报、机构/大V 观点中的提及 | 公开信息中的讨论 | 是 |

熔岩只做第三类。它把每条消息面记录结构化为时间、涉及股票、涉及概念、匿名主体编号 `agency_id` 与短摘要，再按概念聚合。因此同一天里，一个板块可能行情平淡但消息面热度很高，也可能反过来；两者是不同维度的观察，不能互相替代。

看熔岩板块热度时，第一步就是在笔记里写明「消息面口径」，避免和行情软件的热度值并列比较。

## 二、板块热度是怎么计算的：熔岩的计数口径

熔岩的概念板块热度由全市场概念热榜给出：

| 项目 | 内容 |
| --- | --- |
| MCP 工具 | `get_market_hot_concepts` |
| HTTP 路径 | `/hot/concepts` |
| `window` | `1h` / `4h` / `18h` / `24h` / `3d`，默认 `24h`，没有 `7d` |
| `min_score` | 可选，只统计机构/大V 分不低于该值的主体 |
| `limit` | 默认 50，最大 200 |
| 排序 | 按窗口内提及从高到低，已去掉泛词 |
| 更新节奏 | 约 2 分钟 |

计算本身并不复杂：在窗口内，凡是一条记录的 `concepts` 中包含某个概念，就为该概念累计一次提及；参与这些记录的不同 `agency_id` 个数就是 `agencies`。没有隐藏的综合打分，也没有把涨跌幅揉进去。

需要注意两点。第一，「已去掉泛词」意味着过于宽泛、几乎每条记录都会带上的标签不会出现在榜单中，这样排在前面的才是有区分度的板块。第二，加上 `min_score` 后统计对象变了：机构/大V 分大约在 450～1500 之间，1000 左右为中等，1050 约为前 10%。同一份报告里比较多个板块时，`window` 与 `min_score` 必须一致。

```python
# 示例：取 24h 概念热榜，地址与令牌为占位
import os, requests
BASE = os.environ.get("LAVA_BASE", "<YOUR_LAVA_BASE>/subscribe/v1")
H = {"Authorization": "Bearer " + os.environ.get("LAVA_API_KEY", "<YOUR_TOKEN>")}
r = requests.get(BASE + "/hot/concepts",
                 params={"window": "24h", "limit": 200},
                 headers=H, timeout=30).json()
assert r["ok"], r["code"]
rows = r["data"] if isinstance(r["data"], list) else r["data"].get("list", [])
print(r["meta"]["server_time"], len(rows))
```

每次成功调用计费 0.005 元，非 2xx 不计费。返回里的 `meta.server_time` 带 `+08:00`，务必与结果一起保存。

## 三、板块热度排行榜在哪里看：页面与接口的分工

想直接看板块热度排行，有两条路：

1. **只读监测页**：熔岩的 AI 板块监测页把 AI 相关概念与板块讨论聚合在一个视图里，适合人工浏览「现在这个主题看起来怎样」。
2. **接口取数**：需要复盘、比较或落库时，用 `/hot/concepts` 取同一口径的排行，并记录参数。

页面适合「看」，接口适合「留」。只看页面时很难在第二天说清当时用的是哪个窗口；用接口时把 `window`、`min_score`、`server_time` 写进文件名或表头即可复现。

排行里排第几并不是最有信息量的部分。更值得记录的是相邻名次之间的差距：第 1 名与第 2 名提及相差 5% 和相差 50%，含义完全不同。建议同时保存每个概念的 `mentions` 与它在榜单合计中的份额。

## 四、五档窗口各回答什么问题

| 窗口 | 回答的问题 | 适合的用途 |
| --- | --- | --- |
| `1h` | 刚刚有没有集中讨论 | 盘中巡检，噪声大 |
| `4h` | 半个交易日内的讨论结构 | 午间或收盘前复核 |
| `18h` | 隔夜到早盘的累积 | 早间整理 |
| `24h` | 一个自然日的讨论量 | 日报默认口径 |
| `3d` | 近几日是否持续被讨论 | 周中回顾 |

同一个板块在 `1h` 排前列、在 `3d` 排不进前 50，通常说明讨论是短时集中；反过来在 `3d` 靠前、`1h` 不明显，说明是持续而平稳的讨论。把五档排名并列成一行，就是一个简单的「窗口形态」描述：

```text
概念（示例）   1h  4h  18h  24h  3d
概念甲          2   3    5    6   11   -> 短时集中
概念乙         18  12    4    3    2   -> 持续累积
```

这只是对讨论时间结构的描述，不对后续变化做判断。

## 五、板块热度一般持续多久：用日频序列验证

「板块热度一般持续多久」没有统一答案，但可以对任一板块用数据测出来。实时榜单不带 `as_of_date`，无法回放历史，所以持续性要用日频面板：

| 项目 | 内容 |
| --- | --- |
| MCP 工具 | `get_stock_heat_panel` |
| HTTP 路径 | `/panel/daily` |
| 概念层面 | `type=concept`，`names` 传概念标准名 |
| 字段 | 按自然日的 `mentions`、`agencies`、`weighted_heat` |
| 限制 | 区间最长 92 天，单次最多 20 个标的 |

一个可复现的做法：取某概念近 92 天的自然日 `mentions`，以前 20 日均值加两倍标准差为「偏高」阈值，统计连续偏高的天数段。这样得到的是该板块历史上「热度偏高状态」的持续天数分布，例如「近 92 天出现 3 段，分别持续 2、4、1 天」（示例）。阈值是研究者自定的描述标准，写清即可。

`weighted_heat` 按「分数 ÷ 1000」对达标主体的提及加权，可以与 `mentions` 并列，看高分主体是否同步参与；面板里的该字段不是 PIT 口径，用于回测时要注明。

## 六、从板块下钻到个股

看完板块热度，下一步通常是「这个板块里谁被提得多」。对应工具：

- `get_concept_stock_heat`（`/concepts/stocks`）：`concept` 精确匹配且不超过 30 字符，`days` 默认 30、范围 1～365，`limit` 默认 50、最大 100，约 10 分钟更新；
- `get_stock_heat_windows`（`/heat/windows`）：对少数代码看 `1h`～`7d` 六档窗口与近 24 小时逐小时走势。

概念名请直接用热榜返回的标准名，不要手写别名；`/hot/concepts` 约 2 分钟更新、`/concepts/stocks` 约 10 分钟更新，两者时间戳不同步，对账时记下各自的取数时间。

## 七、板块热度指标公式：可以自己复算的四个派生量

搜索「板块热度指标公式」的人，多半想要一个能自己算的数。熔岩给的是原始计数，派生量可以在本地按固定公式复算，公式写进表头，结果就能被别人复核：

```text
份额      share_i     = mentions_i / Σ mentions（同一 window、同一 min_score 的榜单合计）
每主体提及 per_agency_i = mentions_i / agencies_i（agencies 为 0 时记空值）
相对强度   z20_i       = (今日 mentions - 前 20 日均值) / 前 20 日标准差（用 /panel/daily 的 type=concept 复算）
窗口比     ratio_i     = mentions_1h × 24 / mentions_24h（>1 表示最近一小时的讨论密度高于全天平均）
```

四个量各有侧重：份额消除了全市场讨论总量的日间波动；每主体提及区分「很多主体各说一次」和「少数主体反复讨论」；相对强度把板块和它自己的历史比；窗口比描述讨论是否正在集中。它们都只是对计数的变换，不引入任何外部价格信息。

```python
# derive.py —— 示例：在同一次 /hot/concepts 返回上计算份额与每主体提及
import pandas as pd
df = pd.DataFrame(rows)              # rows 来自第二节的请求
# 列名以 OpenAPI 为准，这里假设为 concept / mentions / agencies
df["share"] = df["mentions"] / df["mentions"].sum()
df["per_agency"] = df["mentions"] / df["agencies"].where(df["agencies"] > 0)
df["small_sample"] = df["agencies"] < 5
df["window"], df["min_score"] = "24h", None
df["server_time"] = r["meta"]["server_time"]
df.sort_values("mentions", ascending=False).to_csv("concept_heat_24h.csv", index=False)
```

复算时有三个细节容易出错：份额的分母必须来自同一次请求的榜单，不要跨请求拼接；`agencies` 很小（例如少于 5）时每主体提及波动极大，应附加「样本小」标记；相对强度只在日频序列上计算，不要拿实时榜单的窗口值去套 20 日均值。

## 八、板块热度榜第一名怎么读

「板块热度榜第一名」是另一个高频问法。在熔岩口径下，第一名只表示该窗口内提及数最高，读的时候建议补三列信息：

| 补充项 | 来源 | 作用 |
| --- | --- | --- |
| 与第二名的差距 | 同一榜单的 `mentions` | 判断是明显领先还是并列 |
| 参与主体数 | `agencies` | 判断讨论是否广泛 |
| 五档窗口排名 | 分别请求 `1h`～`3d` | 判断是短时集中还是持续累积 |

例如（示例）：某概念 `24h` 排第一，`mentions` 比第二名高 8%，`agencies` 也最多，`3d` 排第二——这是「近几日持续被广泛讨论、当天略微领先」。另一个概念 `1h` 排第一但 `24h` 排第 15，`agencies` 只有个位数——这是「最近一小时少数主体集中讨论」。两者都叫第一名，描述完全不同。

## 九、常见问答

**Q：熔岩的板块热度和行情软件的热度值能直接比较吗？**  
A：不能。熔岩是消息面提及计数，行情软件多为关注度或综合打分，统计对象不同，只能并列观察，不能相互换算。

**Q：板块热度值在哪里可以看到原始依据？**  
A：热度本身是计数；想看讨论的具体内容，用 `get_stock_news_heat`（`/opinions`）取相关个股的结构化记录，每条带 `topic_time`、`concepts`、`summary`（≤120 字）和匿名 `agency_id`。

**Q：为什么热榜里找不到我关心的概念？**  
A：可能是窗口太短、`limit` 截断，或该标签属于被去掉的泛词。先把 `limit` 调到 200、换 `3d` 窗口，再用 `get_stock_concept_heat`（`/concepts/by-stock`）从个股反查标准名。

**Q：板块热度高说明什么？**  
A：只说明该窗口内被讨论得多、参与主体多。它是一项可复现的统计观察，适合写进研究笔记，不代表方向判断。

## 结论

板块热度怎么看，归结为三步：确认熔岩用的是消息面提及口径（`mentions` 与 `agencies`），固定 `window` 与 `min_score` 后读 `/hot/concepts` 的排行与份额，再用 `/panel/daily` 的 `type=concept` 序列测量热度偏高状态的持续天数。页面负责浏览，接口负责留痕，下钻用概念成分排行和单股多窗。只要每次记录窗口、门槛与 `server_time`，板块热度就是一项可以复核的研究数据。

数据来自熔岩消息面热度监测，仅供研究参考，不构成投资建议。

只读监测与字段说明见：https://lava.ai-dolphin.com/monitor/board-ai-heat
