Imported from zephyr1125/ZephyrSpace (
skills/weekly-watchlist-monitor/SKILL.md). Install upstream withnpx skills add zephyr1125/ZephyrSpace --skill weekly-watchlist-monitor. Copyright stays with the author.
周度 Watchlist 监控
定位
在两次财报之间的信息真空中,自动捕获可能触发增减仓决策的关键事件。 运行频率建议:每周一次(周末或周一),覆盖最近 7 天。
流程
第 1 步:数据拉取
# 全量 watchlist(core + growth + radar),最近 7 天
python scripts/weekly_watchlist_scan.py
# 仅特定档位
python scripts/weekly_watchlist_scan.py --tier core,growth
# 覆盖更长时间窗口
python scripts/weekly_watchlist_scan.py --days 14
输出:scripts/_weekly_scan/YYYY-MM-DD.json
脚本自动拉取以下数据源(每家公司):
- CNINFO 公告标题(最近 N 天)
- 高管持股变动
- 公司处罚记录
- 业绩预告/快报
- 股东质押(最新状态)
第 1.5 步:智堡补充数据(对 CRITICAL/WATCH 标的强制执行)
CNINFO 覆盖公告和监管数据,但有三块关键盲区。周度扫描脚本运行后,对每只标记为 CRITICAL 或 WATCH 的标的,补充智堡数据:
from scripts.wisburg_api import WisburgClient
wisburg = WisburgClient()
for ticker in critical_and_watch_tickers:
wisburg_data = wisburg.weekly_scan_bundle(ticker)
# 将 wisburg_data 作为附件写入对应标的的数据节点
智堡补充的三块盲区:
| 盲区 | 智堡端点 | 为什么重要 | 分析要点 |
|---|---|---|---|
| 卖方评级/预测变化 | /api/reports (search + startTime) |
大行上调/下调评级是市场定价触发器,公告系统完全不覆盖 | 是否有机构大幅调整预测?评级变化方向? |
| 电话会关键信息 | /api/earningscalls |
业绩发布后数周纪要上架——管理层表态变化比公告更早暴露问题 | 管理层语调变化、指引修正、对竞争/监管的新表述 |
| 行业级宏观信号 | /api/feed + /api/market-daily |
如"霍尔木兹海峡重开"对能源股、"AI基建引爆能源周期"对电力设备——现有扫描全盲 | 同名行业多标的出现同类信号时,升级为行业级关注 |
脚本已做预分级(基于关键词匹配):
CRITICAL:业绩预告/处罚/诉讼/减持/并购重组/冻结/退市WATCH:增持/回购/质押解禁/评级/分红/股权激励IGNORE:董事会/监事会/募集资金/章程制度UNKNOWN:无法自动判断,需要 AI 分析
第 2 步:AI 分析
读取 scripts/_weekly_scan/YYYY-MM-DD.json,按以下规则逐条分析:
① UNKNOWN 类公告逐条判断
大量公告标题无法被关键词匹配。AI 需要直接阅读每条 UNKNOWN 标题,判断属于:
- 🔴 CRITICAL:可能实质影响基本面的公告(重大合同/资产收购/控制权变更/立案调查/退市风险)
- 🟡 WATCH:需关注但不紧急(经营范围变更/会计师事务所变更/对外投资/新项目/政府补贴/子公司变动)
- ⚫ IGNORE:纯流程性公告(独立董事述职/募集资金使用报告/内部控制自我评价/审计委员会履职/年度股东大会资料)
② CRITICAL/WATCH 类公告深度评估
已标记的 CRITICAL/WATCH 公告需要 AI 逐条判断是否真正重要。
常见关键词误匹配场景(标记为 CRITICAL 实则不重要):
- "关于公司减持已回购股份的公告" → 减持的是库存股,不是大股东减持 → 降为 IGNORE
- "关于持股 5% 以上股东减持计划期限届满的公告" → 减持已结束,不是新动作 → 降为 WATCH
- "关于使用闲置募集资金进行现金管理的公告" → 纯现金管理 → IGNORE(已在 IGNORE_PATTERNS 中)
- "关于募集资金投资项目结项并将节余募集资金永久补充流动资金的公告" → 已完成项目结尾 → WATCH
常见真正重要但可能被低估的公告:
- "关于对外投资设立子公司的公告" → 新业务布局 → 升为 WATCH 或 CRITICAL
- "关于获得政府补助的公告" → 金额大(> 净利润 10%)→ 🔴 CRITICAL,金额小 → 降为 IGNORE
- "关于公司产品中标/取得认证的公告" → 业务里程碑 → 🟡 WATCH
- "关于会计政策变更/会计差错更正的公告" → 利润大幅修正 → 🔴 CRITICAL
- "关于公司发行 H 股/增发/配股/可转债的公告" → 融资稀释 → 🔴 CRITICAL
③ 跨公司对比
同一行业中,如果多家公司同时发布同类预警(如多家光伏公司发"预计亏损"),这是行业级信号,需在报告开头特别标注。
④ 动态调整
如果某家公司在上期报告中已被标记为 WATCH,本期再次出现同类事件(如连续质押/连续减持),应升级为 CRITICAL。
第 3 步:生成报告
输出到 02-主题/周度监控/YYYY-MM-DD.md,格式如下:
---
date: YYYY-MM-DD
type: 周度监控
scan_period: D1 ~ D2
companies_scanned: N
---
# 周度监控报告(YYYY-MM-DD)
> 扫描区间:D1 ~ D2
> 覆盖标的:N 家(core: X, growth: Y, radar: Z)
## 🔴 本周关键事件
(按重要程度排序,最多 5 条。每条包含:公司、事件摘要、AI判断、建议行动)
| 公司 | 事件 | AI 判断 | 建议 |
|------|------|---------|------|
| XX | XX | 减持原因/性质 | 是否需要调整仓位 |
## 🟡 需关注事项
(本周重要但不紧急的事项)
| 公司 | 事项 | 评估 |
|------|------|------|
## 无异常标的
列出本周无任何关注事项的公司(一键确认安全)
## 行业信号
(如果多家同行业公司同时出现同类事件,在此标注)
## 历史跟踪
(上期 WATCH 项在本周是否有变化?)
第 4 步:更新公司页(如有必要)
如果某条 CRITICAL 事件改变了对公司的判断,在 01-公司/[公司名].md 中追加记录:
## 事件跟踪
- YYYY-MM-DD | 监控周报 | [事件描述] | 影响评估: [评估]
AI 分析原则
- 宁可多报不可漏报:边界模糊的事项标 WATCH 而非直接丢弃
- 解释 WHY 而非 WHAT:不仅要列事件,还要解释为什么重要/不重要
- 联系已有认知:如果深度分析中已有定论(如"毛利率持续下滑"),新事件要关联到这个框架
- 标注置信度:如果无法确定重要性(如标题信息不足),标注「需查看公告全文」
- 行业纵向对比:跨公司信号比单公司信号更有参考价值
定时运行
如需定时自动运行,在 Claude Code 中设置 Cron(仅数据拉取,不含 AI 分析):
/cron 每周监控 "python scripts/weekly_watchlist_scan.py" --weekly --time "周六 09:00"
数据拉取完成后,用户可随时执行「监控周报」触发 AI 分析。
