← 返回 Skill 列表
extension
分类: 数据与分析无需 API Key

796策略扫雷

扫描禄得网股票和可转债策略的盘后标的,生成安全分、风险分层、逐项说明及 PDF 报告。

person作者: user_23e7d43dhubcommunity

796策略扫雷

对策略平台或用户提供的股票、可转债盘中(默认)或盘后候选执行独立的当前风险检查,形成二次风险扫描。最终交付带有 796 风险扫雷 Logo 的 PDF 报告与 JSON 数据底稿,不展示任何公司品牌名称或公司 Logo。

使用边界

  • 仅做“盘中或盘后选股/选债 → 当前风险扫描 → 风险信息整理”。
  • 默认走盘中模式(screen_type="realtime");用户在交易时段内未作说明时,直接取当前盘中快照,不再回落到盘后。
  • 不调用任何回测工具,不把当前扫雷结果回填历史回测。
  • 不创建或修改策略、因子、标的池,不执行交易。
  • 不输出买卖、持有、剔除、仓位或价格建议。
  • 通达信风险数据是第三方公开页面的当前截面,必须与候选获取时点(盘中快照时间或盘后交易日)分别标注。
  • 当用户只提供代码或候选文件时,可不依赖策略平台连接器;当用户要求读取其平台策略时,需要已连接且可用的策略工具。
  • 所有用户可见输出统一使用“796 风险扫雷”品牌;不得展示第三方策略平台的公司名称、品牌 Logo 或宣传文案。
  • 策略 ID 仅可在连接器调用时临时使用;不得写入候选 JSON、风险 JSON、PDF、文件名或对话交付摘要。

输入路由

按以下优先级处理:

  1. 平台策略:用户给出策略名称、策略序号或 strategy_id。
  2. 已有筛选结果:用户给出盘中/历史筛选结果或统一候选 JSON。
  3. 本地文件:用户给出 JSON、CSV、TSV 或 TXT。
  4. 直接代码:用户给出 A 股代码;可转债必须同时提供正股代码,或提供可完成映射的正股名称。

文件字段和统一候选协议见 @references/input-schema.md。

工作流

1. 确定扫描模式与候选时点

先判定本次走盘中还是盘后,判定结果写入统一候选文件的 candidate_mode。

盘中模式(默认)

  • 用户未指定日期、未说明口径时,使用 screen_type="realtime" 取当前盘中快照。
  • 候选时点 = 盘中数据时间,由返回行的 time 字段给出;各标的可能不同,报告取快照整体时间。
  • 仅在 A 股交易时段内有效。当前处于收盘后、周末或法定休市时,盘中快照等同于最近交易日收盘截面,必须在报告中标注“非交易时段抓取”。

盘后模式(可选)

  • 以下情况改用 screen_type="history":用户明确指定交易日;用户明确要求盘后口径;用户要求复核某个已收盘日期的截面。
  • 用户指定日期时使用该日期;未指定时使用最近已完成的 A 股交易日。

通用规则

  • 如交易日历工具可用,先查询交易日历,判断当前是否处于交易时段以及最近已完成交易日;否则按北京时间、周末和法定休市信息谨慎判断,并在无法确认时询问用户。
  • 候选时点必须在统一候选 JSON、风险 JSON、PDF 和对话摘要中与扫雷抓取时间分开标注,不得写成“盘中/盘后扫雷结果”。

2. 从策略平台取得候选

仅当用户要求读取其已连接平台策略时执行:

  1. 按品种调用策略列表工具,按返回顺序和真实名称定位策略;连接器要求时可临时使用返回的内部标识调用详情,但不得持久化或展示。
  2. “第一个策略”指策略列表返回的第一项,不按名称或创建时间自行重排。
  3. 同名且无法唯一定位时,仅展示策略名称、顺序、创建或更新时间等非敏感信息后询问用户,不展示内部标识。
  4. 调用策略详情工具读取完整参数,不凭名称重建配置;调用结束后不将内部标识写入任何输出文件。
  5. 调用筛选工具:默认 screen_type="realtime" 取盘中快照;按第 1 步判定需走盘后时改用 screen_type="history" 并携带 trade_date。
  6. 只保留 selected=true 的最终候选以及代码、名称、正股名称、排名、候选时间(盘中为 time)等映射所需字段。
  7. 不调用回测工具。

具体参数结构与异常处理见 @references/strategy-platform-integration.md。

3. 可转债映射正股

  • 股票候选直接使用股票代码扫描。
  • 可转债不得直接用转债代码请求扫雷宝。
  • 优先使用候选中的 code_stk、stock_code 或 underlying_code。
  • 若上述字段缺失,调用股票列表工具,使用候选中的 name_stk 与股票名称精确匹配。
  • 映射结果不是唯一值、名称为空或匹配失败时,停止该标的扫描并列入异常,不得猜测。
  • 报告同时保留转债代码、转债名称、正股代码、正股名称与候选原排名。

4. 保存统一候选文件

使用 Write 将候选保存到用户工作区或用户指定输出目录,不要写入 Skill 安装目录。文件结构见 @references/input-schema.md。

必须写入 candidate_mode(realtime 或 history)与 candidate_time(盘中快照时间;盘后模式下为交易日)。盘中模式保留每个标的的 quote_time。

不要把策略内部标识、完整参数、账户凭证、Cookie、Token 或无关的因子数据写入候选文件。若输入文件含 strategy_id,扫描脚本必须忽略并从风险 JSON 中剥离。盘中返回的 risk_control 仅用于平台侧提示,不进入候选文件与报告。

5. 执行风险扫描

优先使用 Python 3.9 及以上版本运行:

python3 "${CODEBUDDY_SKILL_DIR}/scripts/tdx_risk_scan.py" \
  --input "/absolute/path/candidates.json" \
  --output "/absolute/path/risk-report.json"

规则:

  • 默认只扫描 selected=true 的记录。
  • 默认最多扫描 50 只,硬上限 100 只;不得用于全市场高频抓取。
  • 默认并发 4、单请求超时 12 秒、失败重试 2 次、缓存 30 分钟。
  • 用户明确要求“刷新”或“最新”时增加 --refresh。
  • 输出文件已存在时,不自动覆盖;只有用户明确同意覆盖时才使用 --force。
  • 扫描脚本只向固定的通达信域名发送 6 位公开证券代码,不发送策略名、账户信息或本地文件内容。

接口、字段与计分口径见 @references/tdx-interface.md;数据使用与隐私边界见 @references/data-privacy.md。

6. 生成 PDF 报告

先检查当前 Python 环境是否已提供 ReportLab。不得静默执行全局依赖安装。

如当前解释器缺少 ReportLab:

  1. 先检查宿主管理的隔离 Python 环境(例如 ~/.workbuddy/binaries/python/envs/default/bin/python)是否已经提供 ReportLab;如已提供,直接使用该隔离解释器运行生成脚本,无需安装、无需询问;
  2. 否则优先使用宿主已有的 PDF 能力生成同等内容的矢量 PDF;或
  3. 询问用户是否允许在任务输出目录创建隔离虚拟环境,并仅从官方 PyPI 安装 reportlab>=4,<6;不得使用 sudo、--user 或全局安装。

运行:

python3 "${CODEBUDDY_SKILL_DIR}/scripts/generate_pdf_report.py" \
  --risk-report "/absolute/path/risk-report.json" \
  --candidates "/absolute/path/candidates.json" \
  --output "/absolute/path/796-risk-sweeper-report.pdf"

首页左上角使用 Skill 内置的 templates/796-report-logo.png 扫雷宝 Logo;该资源来自用户确认的品牌图,并由 PDF 脚本按比例缩放嵌入。PDF 的字段、版式、分页和风险提示规范见 @references/report-spec.md。

7. 校验与交付

交付前必须检查:

  • 策略名、品种、扫描模式(盘中/盘后)和候选时点已标注,策略 ID 未出现在任何交付内容中。
  • 扫雷抓取时间与候选时点分开显示;盘中模式不得把候选时点写成交易日收盘时间。
  • 可转债均已映射为正股后扫描。
  • 安全分只扣顶层 trig=1 项的 fs,不重复扣 commonlxid 子项。
  • 候选数、成功数、失败数和四级分层统计一致。
  • 失败、缓存状态、数据缺口和映射异常均已列出。
  • PDF 可复制文本、可正常分页,最后一节为“风险提示”。
  • PDF 页眉、页脚、标题、文档属性与 Logo 仅体现 796 个人品牌。
  • 候选 JSON、风险 JSON、PDF、文件名和对话摘要均不含 strategy_id 或策略内部标识。自动校验 UUID 时只检查策略标识所在字段或已知策略 ID,不得把公告原文 URL 中由交易所生成的文档 UUID 误判为策略标识;此类公告 URL 应按报告规范保留在风险 JSON 中。
  • 未输出第三方策略平台的公司品牌名称、公司 Logo、宣传文案、因子列、回测结果、排雷后候选池或操作建议。

完成后使用 present_files 一次性提供:

  1. PDF 扫雷报告;
  2. JSON 扫雷数据底稿;
  3. 统一候选 JSON。

对话摘要末尾附:本报告只做风险信息整理与揭示,不提供买卖、保留、剔除和其他操作建议。