A股涨停复盘
触发词
涨停板复盘、涨停梯队、收盘复盘、每日涨停、跌停统计、炸板、反包、一字板封单、北交所涨停、科创板创业板涨停、A股复盘报告
适用场景
用户(通常是 A股投资者/复盘者)在交易日收盘后(15:00 之后)希望快速拿到一份结构化、可交互的当日涨停板全景复盘,包含:
- 全市场涨停梯队(连板高度)
- 涨停个股板块分布
- 北交所(30%涨停)细分
- 科创板/创业板(20%涨停)细分
- 一字涨停个股及其集合竞价封单规模(9:15 / 9:20 / 9:25;无 Level-2 时用"收盘封单 + 盘中最大封单"替代)
- 涨停梯队封单三列:收盘封单 / 盘中最大封单 / 封单增减(日环比,昨收封单对比)
- 非 ST 跌停个股、板块分布、封单金额
- 当日炸板个股及板块分布
- 当日反包个股及板块分布
- 涨停背后的舆情与消息催化
- (可选增强)每月初首个交易日至今日累计涨跌前20(剔除新股)
数据源与降级链路(重要)
本 Skill 优先使用通达信 MCP(tdx-connector,已连接)。原计划链路在多数环境不可用,须逐级降级并在报告中如实标注:
- 东方财富涨停池
push2ex.eastmoney.com/getTopicZTPool→ 返回{"rc":102,"data":null},需鉴权,通常不可用。 - 东方财富龙虎榜
datacenter-web.eastmoney.com RPT_DAILYBILLBOARD_DETAILS→ 仅历史日有数据,当日返回空。 - 妙想 MCP(
mx-ds-mcp)→ 依赖MX_APIKEY,未配则不可用。 - 通达信 MCP
tdx_screener(自然语言选股,支持"涨停"/"跌停"/"炸板"/"反包")→ 主数据源。 - Wind 金融数据 MCP(
wind-finance,已连接)→ 用于区间涨幅/跌幅前20(同花顺 iFinD 密钥未配时降级至此)。 - 同花顺 iFinD(
ifind-finance-data)→ 密钥为占位符时不可用;若用户配置真实密钥可优先用于区间统计。
红线:禁止编造数据。任何接口返回空/不可用,须如实标注,不得用占位数字填充。
工作流
Step 1 · 采集涨停/跌停/炸板/反包(通达信 MCP)
调用 mcp__tdx-connector__tdx_screener:
message="涨停", pageSize=200→ 全量涨停(含字段:sec_code、sec_name、now_price、chg、封单金额、首次涨停时间、最近涨停时间、涨停打开次数、涨停原因、连续涨停天数、几天几板、原因揭秘、板型、涨停成交额、涨停最大封单额、封成比、封单量)message="跌停", pageSize=100→ 全量跌停(含封单金额、短线主题等)message="炸板", pageSize=100message="反包", pageSize=100(注意:选股器"反包"多为"阳包阴"形态,需按涨停反包二次筛选)
北交所细分:自然语言 message="北交所涨停" 通常返回 0 条。需用代码前缀维度确认:83/43/87/920 开头。若全量涨停列表无此类代码且炸板/反包中仅出现 920 开头非涨停标的,则判定北交所当日 0 只涨停。
科创创业细分:300/301(创业板)、688(科创板)开头中 chg≈20% 的为 20% 涨停;其余主板为 10%。
Step 2 · 一字板与集合竞价封单
- 一字板判定:板型为"一字板(涨停)"且涨停打开次数=0、09:25 封板。
- 数据限制:通达信选股仅含收盘封单与盘中最大封单(
涨停最大封单额),无 9:15/9:20/9:25 分时封单。报告中以"收盘封单 + 板型 + 盘中最大封单"替代,并明确提示需 Level-2 逐笔/盘口快照才能精确获取。不要在报告中编造集合竞价具体数字。
Step 2.5 · 封单增减(日环比,v1.1 新增)
- 口径:
封单增减(亿) = 今日收盘封单 − 昨日收盘封单(用户明确要求日环比,非盘中峰值对比)。 - 昨日封单获取:通达信接口不提供历史封单。可用两个来源:
- 读取上一交易日的收盘复盘报告(HTML)——提取其涨停梯队表的"收盘封单(亿)"列(注意:旧版报告该列名为"封单额(亿)";若旧报告仅连板梯队带封单字段,则仅连板股可算)。
message="昨日涨停"选股可确认昨日涨停名单(48只示例),但该查询无封单字段,仅用于判断"昨日是否涨停"。
- 显示规则:昨日未涨停(今日首板)或拿不到昨日封单数据的标的,该列显示"—",不编造、不估算。
- 口径声明:报告 notice 中须写明"昨日封单取自上一交易日收盘报告"。
Step 3 · 跌停封单补全
- 跌停表部分标的通达信不携带封单字段,仅标注有值的(如百合花、速达股份、养元饮品)。其余标注"未返回封单字段",不编造。
Step 4 · 舆情/消息匹配
- 利用涨停数据中的"原因揭秘""涨停原因""短线主题"字段,归类主线题材(如 mRNA疫苗、机器人、贵金属、锂电、重组、海运、煤炭、数字货币、光伏、种业等),与消息面催化对应。
Step 5 · (可选)月内累计涨跌前20
- 用 Wind
mcp__wind-finance__search_stocks:question="筛选A股(剔除上市不足30天新股)YYYY年M月1日至今区间涨幅最大的前20只股票,返回代码、简称和区间涨跌幅"- 同样拉跌幅前20。
- 删除"上市天数"列、补充"题材概念"(依据主营业务+当月主线手工标注,明确声明非 Wind 原字段)。
- 统计窗口:"每月初第一个交易日"= 当月 1 日若为周末则顺延至首个工作日。
Step 6 · 生成 HTML 报告并归档
- 使用
scripts/report_template.html作为骨架,填入当日数据。 - 归档路径(v1.1.1 新增,v1.1.2 改为绝对路径):报告统一保存到本地持久归档文件夹
C:\Users\悟空空\WorkBuddy\A股全市场涨停板复盘\(绝对路径,独立于日期工作区,长期留存),文件名A股涨停复盘_YYYY-MM-DD.html。每日复盘均落入该目录,便于按日期回溯。 - 生成报告后,同步更新归档索引
C:\Users\悟空空\WorkBuddy\A股全市场涨停板复盘\index.html:列出该目录下所有A股涨停复盘_*.html(按日期倒序),提供链接跳转。运行技能scripts/build_index.py即可重扫目录自动重建(脚本默认指向上述绝对路径,无需特定 cwd)。 - 顶部 8 卡片摘要(v1.1.3 新增):与昨日 08-24 复盘一致,固定 8 张指标卡(4×2 网格,颜色 .r/.g/.p/.o/.t/.pk/.y + 默认蓝),字段为:①非ST涨停(主板10%为主)②跌停(全部非ST)③科创创业20%涨停 ④炸板(触板未封) ⑤北交所30%涨停 ⑥一字涨停(判定)⑦反包(阳包阴形态)⑧连板最高:{名称}。占位符:
__NONST_ZT__ __DT_NONST__ __KC_ZT__ __ZB__ __BJ__ __YIZI__ __FB_RAW__ __MAX_BOARD_TXT__ __MAX_BOARD_NAME__。
Step 6.5 · 市场涨停风格(平均总市值 / 平均涨停成交额 / 平均成交金额 + 60 日折线)
-
位置:置于涨停梯队(
<section id="s1">)之上,板块id="s0",导航锚点"〇·涨停风格"。用三个指标刻画当日涨停股的市值结构与资金量级,并叠加 60 日双轴折线,判断行情是"大票/小票主导、资金充裕/偏紧"。 -
取数(主数据源:通达信 MCP):
tdx_screener(message="涨停", pageSize=200)→ 取每只涨停成交额(万)(单位万元,即推动该票涨停的当日成交额,仅封板期间)。tdx_indicator_select(message="<代码1>,<代码2>,… 的总市值", rang="AG"):取总市值(交易日:YYYYMMDD)(元)。每批 ≤5 只(NLP 解析超过约 5 只会静默截断,多余代码被丢弃)。tdx_quotes(code, setcode)→ 取HQInfo.Amount(当日全天成交金额,元)。因多代码仅回首条且批量取易限流,须单代码逐个轮询(并行可靠);对全部涨停股(含 ST)算术平均;报告注明含 ST 只数。
-
计算脚本:
scripts/market_style.py(默认内嵌当日真实数据;也可python market_style.py --data data.json读取 screener/indicator 结果)。输出:avg_mcap_yi/median_mcap_yi(平均/中位总市值,亿元)avg_turnover_yi/median_turnover_yi(平均/中位涨停成交额,亿元,仅封板期间)avg_amount_yi/median_amount_yi(平均/中位成交金额,亿元,当日全天)- 风格判定:
cap_style(大票主导≥100亿 / 中盘均衡50-100 / 小票主导<50)、money_style(资金充裕≥10亿 / 资金适中5-10 / 资金偏紧<5) - 维护
style_history.json(仅保留最近 60 个交易日,按日期升序;含avg_amount_yi),并渲染 60 日双轴折线 SVG(左轴=平均总市值,右轴=平均涨停成交额)。
-
注入:
scripts/inject_style.py把板块注入report_template.html与当日报告(置于s1之前),模板用占位符__STYLE_AVG_MCAP__/__STYLE_AVG_TURNOVER__/__STYLE_AVG_AMOUNT__/__STYLE_MED_MCAP__/__STYLE_MED_TURNOVER__/__STYLE_MED_AMOUNT__/__STYLE_COUNT__/__STYLE_COUNT_ST__/__STYLE_CAP__/__STYLE_MONEY__/__STYLE_CAP_DESC__/__STYLE_MONEY_DESC__/<!-- __STYLE_SVG__ -->,报告用真实值。 -
红线:60 日历史为真实逐日累积,启用首日仅 1 个数据点,禁止插值/伪造;约 60 个交易日后形成完整窗口,可直观观察市值/资金风格的轮动。ST 股计入平均(报告注明含 ST 只数),不剔除、不单算以保口径统一。
-
涨停梯队连板矩阵图(v1.1.5 新增,v1.1.6 美化 + 收窄口径,v1.1.7 动态高度 + 龙头股 + 断板反包):在「一、涨停梯队」章节顶部,仅展示 3 板及以上高标连板(剔除 2板/首板),同行内按收盘封单(亿)降序排列。连板高度动态:自动出现 6板/7板 等,无需改代码。7 板及以上(≥7板)列为「👑龙头股」(金色高亮,独立分组置顶)。「断板反包」组:原梯队表中「断板续」且 几天几板的有效板数 ≥4(即在 4 板之后断板又反包涨停) 的个股,单独成组、展示在 3 板以下位置(紫色高亮 + 「反包」角标)。美化版采用「高度阶梯(渐变色块 + 只数)+ 卡片流」布局:表头含标题/「3板+ / 龙头 / 断板反包」标签/排序说明,每行左侧渐变色块(3板橙→4板红→5板深红→6板紫红→龙头金),右侧卡片流展示个股名称、收盘封单(红色药丸)、题材(最多 2 行)、几天几板+首次时间+板型;底部汇总为各高度药丸 + 合计只数。数据来自当日涨停梯队表格,由
scripts/ladder_matrix.py解析并注入;模板占位符为<!-- __LADDER_MATRIX__ -->。 -
题材主线连板高度梯队(v1.2.2/v1.2.3):在「二、涨停板块分布」表格下方,按每个题材主线生成独立的连板高度矩阵图。实现方式:
scripts/ladder_matrix.py解析 section#s2 板块分布表的"代表标的"列,按股票名称与 section#s1 涨停梯队表匹配,获取每只标的的连板高度、收盘封单、几天几板、首次涨停时间、板型、题材;每个主线内部按 1 板及以上连续板(v1.2.3 起含首板、2 板)、断板反包(有效板数 ≥4)、断板续(有效板数 2-3) 分组(紫色高亮 + 角标),同行内按收盘封单降序。每个矩阵表头显示主线名称与涨停总数,底部汇总各高度/断板组药丸。模板占位符为<!-- __SECTOR_LADDER_MATRIX__ -->,由scripts/ladder_matrix.py在注入全市场连板矩阵后一并注入。 -
报告含 11 个章节:市场涨停风格(〇) / 涨停梯队(一) / 板块分布(二) / 北交所(30%)(三) / 科创创业(20%)(四) / 一字板封单(五) / 跌停(非ST)(六) / 炸板(七) / 反包(八) / 舆情汇总(九) / (可选)月内涨跌前20(十)。
-
涨停梯队表(v1.1 三列封单模型):
收盘封单(亿)(通达信"封单金额"字段)|盘中最大封单(亿)("涨停最大封单额"字段/1亿)|封单增减(亿)(日环比,见 Step 2.5)。三列均参与全表头排序。 -
交互排序:
scripts/sort.js提供全表头排序——数值列按数字、时间列(HH:MM)按时间、文本列按localeCompare('zh');默认降序列保持 ▼,点击切换 ▲/▼。 -
列级筛选(v1.2.0):每个表格表头(th)右侧显示下三角
▾,点击弹出该列唯一值多选菜单:支持搜索、全选、清空、反选;多列筛选叠加生效;已筛选列高亮显示。filter.js同时保留 v1.1.9 的章节标题全局关键词筛选,二者互不冲突。 -
顶部 sticky 毛玻璃导航,9-10 节锚点跳转。
-
响应式:表格外层
.tablescroll横向滚动,小屏不溢出。 -
数据来源/抓取时点/降级链路在 footer 如实标注。
报告字段约定(A股红涨绿跌)
- 涨幅为正用红色
.up,跌幅为负用绿色.down。 - ST/*ST 用
.zt角标标记;用户若要求"非ST",则剔除或单列。 - 封单金额单位:亿元。
- 封单增减列:正(封单增加)红色
.up,负(封单减少)绿色.down,无昨日数据—(class="na")。
注意事项
- 时间均为北京时间;交易时段 9:30-15:00,复盘在收盘后执行。
- 北交所 30%、创业板/科创板 20%、主板 10% 涨停阈值不同,分类时必须按代码前缀 + 涨跌幅双重校验。
- 反包数据噪声大,优先呈现"涨停反包"(当日收盘仍封板且前一日收阴/断板)。
- 若用户要求补齐集合竞价分时封单或 Level-2 数据,需先确认环境已配置对应数据源,否则如实告知限制。
- 历史封单不可得:通达信选股器不提供昨日/历史封单;"封单增减"仅当能从上一交易日报告取得昨收封单时计算,否则显示 "—"(红线:禁止估算/编造)。
- 昨日报告若仅连板梯队带封单字段,则日环比仅能覆盖"昨日连板且今日续板"的少数标的,如实呈现即可。
微信扫一扫