PanWatch 盘中监测 Agent 详解:RSI/KDJ/MACD 共振信号是如何推送的
【免费下载链接】PanWatchPanWatch — AI stock monitoring for A-shares, HK & US markets, powered by TradingAgents. Portfolio insights, real-time alerts & automated reports.|盯盘侠:覆盖 A股/港股/美股的 AI 盯盘、持仓分析、实时提醒与自动报告。项目地址: https://gitcode.com/GitHub_Trending/pa/PanWatch
PanWatch(盯盘侠)是一款覆盖 A股/港股/美股的 AI 盯盘工具,提供持仓分析、实时提醒与自动报告。它的"盘中监测 Agent"会按交易时段轮询自选股,计算 RSI、KDJ、MACD 等技术指标,当多指标共振时由 AI 判断是否值得提醒,最终通过消息渠道推送给你。本文带你完整看懂这条"信号 → 推送"链路,新手也能读懂。
盘中监测 Agent 是做什么的?
盘中监测(intraday_monitor)是 PanWatch 的核心 Agent 之一,定位是:交易时段实时监控持仓,AI 判断是否有值得关注的信号。
它的特点可以概括为四点:
- 单只逐股分析:逐只股票分析,每只单独发送通知
- AI 智能判断:把行情、K线、持仓、新闻一起交给 AI,由 AI 决定"提醒"还是"安静"
- 通知节流:同一只股票短时间内(默认 30 分钟)不重复轰炸你
- 技术分析兜底:即使 AI 不可用,技术信号也会落库留痕
Agent 主体代码在 intraday_monitor.py,它在 agent_catalog.py 中注册,可像其他 Agent 一样被调度器定时驱动。
第一步:技术指标是怎么算出来的
所有指标的计算集中在 kline_collector.py。它先从行情源拉取日 K 线(带缓存与失败冷却,避免把数据源打爆),然后一次性算出整套指标:
| 指标 | 计算内容 | 状态判定示例 |
|---|---|---|
| MACD | DIF/DEA 交叉,并记录金叉/死叉发生在几日前 | 金叉/死叉 |
| RSI | RSI(6)/RSI(12)/RSI(24) 三条线 | 超买/偏强/中性/偏弱/超卖 |
| KDJ | K/D/J 三线,K 上穿 D 判金叉 | 金叉/超买、死叉/超卖 |
| 布林带 | 上轨、中轨、下轨、带宽 | 触轨 / 收口 / 开口 |
| 量能 | 量比 = 当日成交量 / 5日均量 | 放量/平量/缩量 |
| ATR | 平均真实波幅,衡量个股自身波动率 | 用于自适应异动阈值 |
这些计算函数在 kline_collector.py 中,例如_calculate_macd判定 DIF 与 DEA 的交叉方向,_calculate_rsi输出多周期 RSI 值。
第二步:共振信号如何进入 AI 的"视野"
光有指标还不够,关键是把指标翻译成 AI 能读懂的语言。盘中监测 Agent 的build_prompt会把技术面拼成结构化段落,例如:
MACD:金叉(2日前)RSI(6):72.5(超买)KDJ:K=82.3 D=75.1 J=96.7(金叉/超买)量能:放量(量比=1.85)
对应的提示词模板在 intraday_monitor.txt,其中明确规定了共振研判原则:
- 多指标共振比单一指标更可靠
- RSI/KDJ 超买超卖需结合趋势判断
- 量价配合是确认信号的关键
- 支撑压力位附近更需关注信号
也就是说,单个 MACD 金叉不会触发推送;但"MACD 金叉 + RSI 未超买 + 量比 1.8 放量确认"这类组合,AI 会给出明确的建仓/加仓建议。模板里还给了标准示例:「信号」RSI 超买回落 →「建议」减仓,RSI 从 85 回落至 72,KDJ 高位死叉。
第三步:事件闸门——为什么不是每个 tick 都调 AI
这是 PanWatch 省钱省心的关键设计。intraday_event_gate.py 实现了"事件驱动闸门":只有满足以下任一条件才真正调用 AI:
- 价格异动:|涨跌幅| ≥ max(固定阈值 3%, 1.5×ATR%)——阈值随个股自身波动率自适应,高波动股的常态震荡不会误报(见 intraday_event_gate.py)
- 量能异动:量比 ≥ 2.0
- 技术状态变化:MACD/RSI/KDJ/布林带状态与上一轮不同(比如从"金叉"变"死叉")
闸门还会把每轮观察到的技术指纹持久化到本地状态文件,下次对比判断"状态是否变化"。没有事件 → 直接跳过,零 AI 开销。
第四步:AI 输出 JSON,决定推不推送
AI 被要求只输出一个 JSON 对象(见 intraday_monitor.txt),包含:
action:buy / add / reduce / sell / hold / watch / alertsignal:10-20 字的信号概述(如"KDJ 超卖金叉")reason:1-2 句理由triggers/invalidations/risks:触发条件、失效条件、风险提示
Agent 解析逻辑在 intraday_monitor.py:只有当 action 是"建仓/加仓/减仓/清仓"时才标记should_alert=True——单纯的"持有/观望"永远不会打扰你。
第五步:节流 + 多渠道推送
should_notify是最后一道关卡(intraday_monitor.py):
- 跳过执行的结果不通知(如非交易时段)
- AI 判定无需提醒的不通知
- 节流检查:查数据库中的
NotifyThrottle记录,同一只股票 30 分钟内已通知过就不再发(按 UTC 时间比较,避免容器时区问题)
通过全部关卡后,通知内容会被转成可读文本(而不是原始 JSON),附上当前价、涨跌、建议、信号、理由与风险提示,经通知模块推送到你配置的消息渠道,同时:
- 建议写入建议池(盘中建议 6 小时有效),可在前端"机会"页复核
- 生成 1 日 / 5 日预测记录,事后自动评估 Agent 的准确率
- 极端涨跌时可选联动 TradingAgents 深度分析
最终你会收到类似这样的推送:
【盘中监测】某某股份 +3.25% 建议:减仓 信号:RSI 超买回落 理由:RSI 从 85 回落至 72,KDJ 高位死叉,短线获利建议减仓 1/3。
小结:一条完整的信号链路
- 算指标:kline_collector.py 算出 MACD/RSI/KDJ/布林/量能/ATR
- 事件闸门:intraday_event_gate.py 判断"价格异动/量能异动/技术状态变化"才继续
- 拼 Prompt:行情 + 技术面 + 持仓 + 新闻 + 昨日盘后/今日盘前分析,全部交给 AI
- AI 共振研判:多指标共振 → 结构化 JSON 建议
- 节流推送:AI 判定值得提醒 且 30 分钟节流通过 → 推送到消息渠道
这套"指标共振 + AI 研判 + 事件闸门 + 节流"的三层过滤,就是 PanWatch 盘中监测既能及时提醒、又不会刷屏的核心思路。想自己动手试试,可以克隆仓库后参考 prompts/ 目录下的提示词文件,按需调整阈值与共振规则。
【免费下载链接】PanWatchPanWatch — AI stock monitoring for A-shares, HK & US markets, powered by TradingAgents. Portfolio insights, real-time alerts & automated reports.|盯盘侠:覆盖 A股/港股/美股的 AI 盯盘、持仓分析、实时提醒与自动报告。项目地址: https://gitcode.com/GitHub_Trending/pa/PanWatch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考