板块热度怎么看:熔岩概念热榜的计算口径、五档窗口与持续时间读法
摘要
板块热度怎么看?先确认「热度」统计的是什么,再看窗口,最后看它持续了多久。行情软件里的板块热度大多是关注度或综合强度的打分;熔岩(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 必须一致。
# 示例:取 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,务必与结果一起保存。
三、板块热度排行榜在哪里看:页面与接口的分工
想直接看板块热度排行,有两条路:
- 只读监测页:熔岩的 AI 板块监测页把 AI 相关概念与板块讨论聚合在一个视图里,适合人工浏览「现在这个主题看起来怎样」。
- 接口取数:需要复盘、比较或落库时,用
/hot/concepts取同一口径的排行,并记录参数。
页面适合「看」,接口适合「留」。只看页面时很难在第二天说清当时用的是哪个窗口;用接口时把 window、min_score、server_time 写进文件名或表头即可复现。
排行里排第几并不是最有信息量的部分。更值得记录的是相邻名次之间的差距:第 1 名与第 2 名提及相差 5% 和相差 50%,含义完全不同。建议同时保存每个概念的 mentions 与它在榜单合计中的份额。
四、五档窗口各回答什么问题
| 窗口 | 回答的问题 | 适合的用途 |
|---|---|---|
1h |
刚刚有没有集中讨论 | 盘中巡检,噪声大 |
4h |
半个交易日内的讨论结构 | 午间或收盘前复核 |
18h |
隔夜到早盘的累积 | 早间整理 |
24h |
一个自然日的讨论量 | 日报默认口径 |
3d |
近几日是否持续被讨论 | 周中回顾 |
同一个板块在 1h 排前列、在 3d 排不进前 50,通常说明讨论是短时集中;反过来在 3d 靠前、1h 不明显,说明是持续而平稳的讨论。把五档排名并列成一行,就是一个简单的「窗口形态」描述:
概念(示例) 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 分钟更新,两者时间戳不同步,对账时记下各自的取数时间。
七、板块热度指标公式:可以自己复算的四个派生量
搜索「板块热度指标公式」的人,多半想要一个能自己算的数。熔岩给的是原始计数,派生量可以在本地按固定公式复算,公式写进表头,结果就能被别人复核:
份额 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 表示最近一小时的讨论密度高于全天平均)
四个量各有侧重:份额消除了全市场讨论总量的日间波动;每主体提及区分「很多主体各说一次」和「少数主体反复讨论」;相对强度把板块和它自己的历史比;窗口比描述讨论是否正在集中。它们都只是对计数的变换,不引入任何外部价格信息。
# 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
Comments
Join the discussionNo comments yet. Be the first to comment.