Back to skills
extension
Category: Data & AnalyticsAPI key required

A股涨停复盘

每日收盘后自动整理 A股全市场涨停板梯队、板块分布(细分北交所30%/科创创业20%)、一字板集合竞价封单、非ST跌停封单、炸板、反包,并匹配舆情催化,生成带全表排序+列级筛选交互的结构化 HTML 复盘报告。梯队表含收盘封单/盘中最大封单/封单增减(日环比)三列封单数据。v1.1.4 起在涨停梯队之上新增"市场涨停风格"板块:涨停股平均总市值、平均涨停成交额及 60 日双轴变化折线(真实逐日累积)。v1.1.5 起精简数据源降级链路、统一界面简称为「A股涨停复盘」,并新增涨停梯队连板矩阵图(按连板高度分行,同行内按收盘封单降序)。v1.1.6 起连板矩阵图美化(高度阶梯+卡片流),并收窄为仅展示 3 板及以上高标连板。v1.1.7 起支持动态连板高度(自动 6 板/7 板)、≥7 板列为龙头股、4 板后断板反包独立展示。v1.1.8 修复顶部统计卡与市场涨停风格板块的 HTML 嵌套与对齐:补全缺失闭合标签、卡片等高拉伸、页面水平边距统一为 22px。v1.1.9 起各章节标题(含表格/连板卡片的 section)右侧新增关键词筛选框(scripts/filter.js,内联于报告),支持实时过滤行、显示 命中/总数 并一键清除。v1.2.0 起在表头每列新增下拉筛选(多选/搜索/全选/清空/反选),与全局筛选、表头排序互不冲突,激活列高亮提示。v1.2.1 起"市场涨停风格"板块新增第 3 个指标「涨停股平均成交金额」:当日全天成交金额(通达信 HQInfo.Amount,由 tdx_quotes 单只轮询取数)的算术平均,区别于既有的"平均涨停成交额"(仅封板期间),用于刻画涨停股当日真实成交体量。v1.2.2 起在「二、涨停板块分布」下方按每个题材主线生成独立的连板高度梯队矩阵图:解析板块分布表的代表标的并与涨停梯队表按名称匹配,分 2 板及以上连续板、断板反包(有效板数 ≥4)、断板续(有效板数 2-3)三组,同行内按收盘封单降序;无高标的主线自动隐藏,保持页面简洁。v1.2.3 起题材主线连板矩阵扩展为展示 1 板+:首板、2 板、3 板+ 高标、断板反包/续全部按连板高度梯队呈现,帮助快速识别主线内部的情绪扩散结构。v1.2.4 起移除所有连板矩阵中的「🔁」emoji 标志(断板反包/断板续标签与汇总药丸均改为纯文字),保持界面简洁。v1.2.5 起将断板反包/断板续的 rail 标签改为固定两字换行(「断板<br>反包」「断板<br>续」),配合 `.lm-h` 居中样式,使窄 rail 内文字对齐整齐。v1.2.7 起优化市场涨停风格 60 日双轴折线的可辨识度:平均总市值线改为蓝色(#2563eb)实心圆点,平均涨停成交额线改为橙色(#f97316)虚线+方形节点,图例同步展示线型与节点形状差异,避免两线颜色/形式过于接近。

personAuthor: user_59ead178hubcommunity

A股涨停复盘

触发词

涨停板复盘、涨停梯队、收盘复盘、每日涨停、跌停统计、炸板、反包、一字板封单、北交所涨停、科创板创业板涨停、A股复盘报告

适用场景

用户(通常是 A股投资者/复盘者)在交易日收盘后(15:00 之后)希望快速拿到一份结构化、可交互的当日涨停板全景复盘,包含:

  • 全市场涨停梯队(连板高度)
  • 涨停个股板块分布
  • 北交所(30%涨停)细分
  • 科创板/创业板(20%涨停)细分
  • 一字涨停个股及其集合竞价封单规模(9:15 / 9:20 / 9:25;无 Level-2 时用"收盘封单 + 盘中最大封单"替代)
  • 涨停梯队封单三列:收盘封单 / 盘中最大封单 / 封单增减(日环比,昨收封单对比)
  • 非 ST 跌停个股、板块分布、封单金额
  • 当日炸板个股及板块分布
  • 当日反包个股及板块分布
  • 涨停背后的舆情与消息催化
  • (可选增强)每月初首个交易日至今日累计涨跌前20(剔除新股)

数据源与降级链路(重要)

本 Skill 优先使用通达信 MCPtdx-connector,已连接)。原计划链路在多数环境不可用,须逐级降级并在报告中如实标注:

  1. 东方财富涨停池 push2ex.eastmoney.com/getTopicZTPool → 返回 {"rc":102,"data":null},需鉴权,通常不可用。
  2. 东方财富龙虎榜 datacenter-web.eastmoney.com RPT_DAILYBILLBOARD_DETAILS → 仅历史日有数据,当日返回空。
  3. 妙想 MCPmx-ds-mcp)→ 依赖 MX_APIKEY,未配则不可用。
  4. 通达信 MCP tdx_screener(自然语言选股,支持"涨停"/"跌停"/"炸板"/"反包")→ 主数据源
  5. Wind 金融数据 MCPwind-finance,已连接)→ 用于区间涨幅/跌幅前20(同花顺 iFinD 密钥未配时降级至此)。
  6. 同花顺 iFinDifind-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=100
  • message="反包", 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 新增)

  • 口径封单增减(亿) = 今日收盘封单 − 昨日收盘封单(用户明确要求日环比,非盘中峰值对比)。
  • 昨日封单获取:通达信接口不提供历史封单。可用两个来源:
    1. 读取上一交易日的收盘复盘报告(HTML)——提取其涨停梯队表的"收盘封单(亿)"列(注意:旧版报告该列名为"封单额(亿)";若旧报告仅连板梯队带封单字段,则仅连板股可算)。
    2. 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)

    1. tdx_screener(message="涨停", pageSize=200) → 取每只 涨停成交额(万)(单位万元,即推动该票涨停的当日成交额,仅封板期间)。
    2. tdx_indicator_select(message="<代码1>,<代码2>,… 的总市值", rang="AG"):取 总市值(交易日:YYYYMMDD)(元)。每批 ≤5 只(NLP 解析超过约 5 只会静默截断,多余代码被丢弃)。
    3. 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 数据,需先确认环境已配置对应数据源,否则如实告知限制。
  • 历史封单不可得:通达信选股器不提供昨日/历史封单;"封单增减"仅当能从上一交易日报告取得昨收封单时计算,否则显示 "—"(红线:禁止估算/编造)。
  • 昨日报告若仅连板梯队带封单字段,则日环比仅能覆盖"昨日连板且今日续板"的少数标的,如实呈现即可。