Back to skills
extension
Category: Data & AnalyticsNo API key required

a-share-strong-limit-up

识别沪深A股市场中短线强势封板股。根据用户提供的交易日,通过腾讯自选股(westock-mcp)获取当日涨停股池,按「成交额>1亿 →

personAuthor: user_2d89c009hubcommunity

A股强势封板选股

用于识别沪深A股市场中中短线强势封板股(涨停且封板坚决、换手充分、所属板块强势)。 核心思想:封板越坚决(封单/成交比越高)、筹码交换越充分(换手10%~20%)、所处板块越强(当日上涨且活跃度≥市场),次日接力与连板概率越高。

一、触发与不触发

命中即触发(用户表述含以下任一):

| 类别 | 触发词 | | --- | --- | | 选股本体 | 强势封板股、涨停选股、封板强度、封单选股、打板、涨停池筛选、短线强势股、封板成交比选股 | | 数据维度 | 封单金额、封板成交比、涨停封单、封板坚决度 | | 板块联动 | 板块强度选股、主线板块涨停、板块涨停筛选 |

不触发(改用通用金融能力):

  • 非涨停类的趋势/价值选股(换 wb-finance-skill)。
  • 纯行情查询、个股诊断、买卖点提示。
  • 可转债/ETF/基金筛选。

不确定时先一句话确认:"这次按『强势封板选股』流程走(涨停池→封板强度→换手→板块强度,出列表+HTML+Excel),还是只看某一步?"

二、数据源前置检查(硬性)

本技能依赖 腾讯自选股(westock-mcp) 提供涨停股池、封单金额、换手率与板块行情。

  1. 先确认 westock-mcp 已连接。若未连接:
    • 提示用户:在 设置 → 连接器 → 腾讯自选股 中点击连接/信任并授权。
    • 在连接器就绪前不要臆造数据,直接停下等待,并向用户说明需要的数据字段(见 references/data_schema.md)。
  2. 连接器就绪后,用 ToolSearch(query: westock / 腾讯自选股 / 涨停 / 板块)加载其工具 schema,按其真实接口名调用(2026-08 实测口径):
    • 涨停股池tool_ranking metric=limitup_seal_volume(收盘涨停封单量)直接给出涨停池+封单量(单位:手),省去涨幅榜降级。注意该指标只有最近收盘日数据,盘中请求会自动回退上一交易日。
    • 个股明细data_quote codes 批量取 成交额/换手率/涨停价,date 指定日。
    • 所属板块data_profile 取申万一级行业。
    • 板块行情data_sector mode=ranking 的 plate* 数组取 板块涨跌幅/换手率(申万二级粒度)。
    • 换算与字段映射详见 references/data_schema.md(含实测说明)。
  3. 若 westock 无独立「涨停」接口,降级用「涨幅榜」筛 涨幅≥9.9%(创业板/科创板 ≥19.9%)且 非ST封板(最高价=涨停价)的标的。
  4. 若 westock 仍无法提供封单金额板块换手率,用 WebSearch/WebFetch 补抓(东方财富涨停板专题、同花顺板块页),并在输出中标注「封单数据来源:网页补抓」。

三、必填输入

缺失即用 AskUserQuestion 一次问清,不要臆造交易日

  1. 交易日(trade_date):YYYY-MM-DD,默认=最近一个已收盘交易日。需为交易日,非交易日提示用户改期。
  2. 未收盘日回退:若指定交易日尚未收盘(如盘中请求),收盘类指标(收盘涨停封单量)不可得,回退到最近一个已收盘交易日,并在输出与报告中显著标注「数据基准日=回退日」。待指定日收盘后可重跑。
  3. 工作目录:默认 <workspace>/strong-limit-up/<trade_date>/,用于存放 candidates.json 与三件套产出。沿用既有目录,不新建第二套。

四、执行流程(四阶段,端到端)

统一约定:PY 指受管 Python 解释器(见下方 Windows 注意);S<本skill目录>/scripts/strong_limit_up.pyD 指工作目录。

阶段 1 · 抓取并整理涨停股池 → candidates.json

  • 通过 westock 拉取当日涨停股池与每只个股的 成交额 / 封单金额 / 换手率 / 所属板块 / 板块涨跌幅 / 板块换手率。
  • references/data_schema.md 的字段与单位(成交额亿元、封单金额万元)整理为 D/candidates.json
  • 顺手记录「全市场行业板块换手率中位数」作为 market_avg_sector_turnover(用于阶段4活跃度基线;缺失则由脚本用候选板块中位数兜底)。

阶段 2 · 运行筛选脚本

$PY $S --input D/candidates.json --outdir D \
  --market-baseline <可选:市场板块换手率中位数>

脚本内部分五道关卡(严格对应需求规格,阈值均可在命令行覆盖):

  1. 剔除成交额 ≤ 1 亿元--min-amount-yi,默认 1.0)。
  2. IQR 剔除封单金额极端值:对封单金额做 IQR 栅栏(Q1−1.5·IQR, Q3+1.5·IQR),剔除异常高/低(--iqr-k,默认 1.5)。
  3. 封板成交比前 25封板成交比 = 封单金额(万元) ÷ 成交额(万元),降序取前 --top-n(默认 25)。
  4. 换手率 10%~20%:剔除 <10%>20%--min-turnover/--max-turnover)。
  5. 板块强度:保留「板块当日涨跌幅 > 0 且 板块换手率 ≥ 市场基线」的个股。

注意:amount_yi亿元入参、seal_wan万元入参,脚本内部统一换算为万元后再算比值,勿颠倒单位。

阶段 3 · 产出三件套

脚本一次生成:

| 文件 | 内容 | | --- | --- | | D/result.json | 结构化股票列表(7 字段,按封板成交比降序) | | D/result.xlsx | Excel 工作簿(红头表头,封板成交比加粗标红) | | D/report.html | 自包含 HTML 仪表盘:筛选漏斗、封板成交比条形图、明细表、板块分布 |

阶段 4 · 呈现与复盘提示

  • present_files 打开 report.html 并列出 result.xlsxresult.json
  • 在回复中原样呈现最终股票列表(代码/名称/成交额/封单金额/封板成交比/换手率/板块),并附一句风险提示: 「封板强度仅为短线情绪指标,不预示收益;需结合大盘环境、消息面与个股地位综合判断,仅供研究,不构成投资建议。」
  • 空/极少结果诊断:若最终达标 ≤ 2 只,说明当日涨停池以低换手一字板/缩量板为主,规则严格执行下大概率空结果。此时额外生成 D/诊断报告.htmlD/候补清单.xlsx(列出封板成交比前25候选及其逐关卡淘汰原因:换手率/板块强度),并在回复中给出可调阈值建议(如换手区间放宽 5%~20%、封板比门槛、板块基线口径),由用户决定是否调整后重跑——不得为了凑数私自放宽规则

五、产出物结构

<workspace>/strong-limit-up/<trade_date>/
├── candidates.json     # 涨停股池原始数据(westock 抓取整理)
├── result.json         # 结构化筛选结果(7 字段)
├── result.xlsx         # Excel 工作簿
└── report.html         # HTML 仪表盘

六、参考资料

  • references/data_schema.md:candidates.json 字段契约、westock 字段映射、单位换算、输出说明。
  • assets/sample_candidates.json:示例数据,可用于离线验证脚本($PY $S --input assets/sample_candidates.json --outdir /tmp/demo)。

七、Windows 注意

  • PY 用受管解释器绝对路径:C:\Users\yangming\.workbuddy\binaries\python\versions\3.13.12\python.exe。若运行环境缺 openpyxl,先在隔离 venv 安装:python -m venv .venv && .venv/Scripts/pip install openpyxl,再运行脚本。
  • 路径用原生反斜杠或 Git Bash 正斜杠,--outdir 不要混用导致建错目录。

八、红线

  • 不虚构、不估算任何行情/封单/板块数据;westock 未连接或字段缺失时,停下来向用户说明,绝不编造数字。
  • 不承诺收益、不给出买卖点;输出须带「仅供研究,不构成投资建议」声明。
  • 不删除历史 candidates.json 与往期产出;纠错通过重跑脚本覆盖新产出。
  • 涉及 ST、退市风险、异常波动警示的个股,在列表中显著标注风险提示。