源码级核验:decision.py + agent_prediction_evaluation.py + news_ranker.py

PanWatch 的 AI 结论怎么复核:评级从哪来、后验怎么算、多少样本才算够

PanWatch 的多 Agent 推理链看起来很有说服力,但「看起来完整」不等于「结论可靠」。本页把可核验的三件事讲清楚:评级是从哪一步取出来的(原文里有一处明确的优先顺序)、REVIEW 代表什么(它不是「持有」)、后验评估按什么口径算命中(含项目自己设的 20 样本门槛)。目标不是证明 AI 能预测市场,而是判断它有没有提供有价值的第二意见。

评级档位:5 档(买入/增持/持有/减持/卖出)+ REVIEW后验口径:按真实交易日 K 线取价样本门槛:5 日样本不足 20 条标记为不足依据:decision.py + prediction_outcome.py(固定 commit)
输出与评级
落库记录
按交易日取后验
人工复核
依据 agent_prediction_evaluation.py 与 prediction_outcome.py 整理的后验复核闭环示意图;非官方架构图,口径见本页表格。
Rating source

PanWatch 评级是从哪里取出来的:一处明确的优先顺序

PanWatch 官方的 decision.py 里写了一段注释,解释为什么不能直接用上游返回的评级——这是本站认为整份代码库里最值得单独引用的一段。

src/modules/automation/tradingagents/decision.py(原文节选)# 评级以 PM 正文(final_trade_decision,用户实际看到的最终决策书)为权威来源:
# 上游 propagate() 第二个返回的 decision 是对正文的二次提炼,会失真(正文写"卖出"
# 却返回 "HOLD"),所以优先解析正文里的显式评级标签。
# 优先级:正文显式标签 > 上游 decision > 正文模糊扫描兜底。
优先级取值来源为什么这样排失败时怎么办
① 最高PM 决策书正文(final_trade_decision)里的显式评级标签这是用户实际看到的最终结论,最接近「模型说了什么」解析不到就降到下一级
② 次之上游返回的 decision 字段它是对正文的二次提炼,官方注释明确说会失真(正文写卖出、字段返回 HOLD)仍解析不到就降到第三级
③ 兜底对正文做模糊关键词扫描宁可给出可能不精确的档位,也不留空全部失败则标记为 REVIEW
REVIEW上游判定整份 PM 输出不可解析官方注释:REVIEW 不是可交易的 Hold显示为「待人工复核」,动作降级为不触发自动交易
上游 5 档界面中文标签用于动作的 3 档是否触发提醒
buy买入buy是
overweight增持buy是
hold持有hold否
underweight减持sell是
sell卖出sell是
review待人工复核hold(为阻止自动交易而刻意降级)是(提醒你去人工看)
三个实操结论。① 看到「持有」时,要先确认它是真的 hold,还是 REVIEW 被降级显示——界面上两者标签不同,但动作字段都落在 hold 上。② 提醒的触发条件里包含 REVIEW:无法解析的结论也会提醒你,这是设计上希望你介入,而不是让你忽略。③ 上游返回的 decision 字段与正文可能不一致,以正文为准。
Evaluation policy

PanWatch 后验评估怎么算?按真实交易日取价、±2% 判定、20 样本门槛

PanWatch 的后验评估口径写在一个纯计算模块里,官方把它称为「公开政策」——API 与前端都不自行复制规则,因此判定标准只有这一份。

src/modules/automation/agent_prediction_evaluation.py(原文节选)FLAT_THRESHOLD_PCT = 2.0

EVALUATION_POLICY = {
    "horizon_unit": "trading_days",
    "flat_threshold_pct": FLAT_THRESHOLD_PCT,
    "actions": {
        "buy":    "后续收益大于 0 记为命中",
        "add":    "后续收益大于 0 记为命中",
        "sell":   "后续收益小于 0 记为命中",
        "reduce": "后续收益小于 0 记为命中",
        "avoid":  "后续收益小于 0 记为命中",
        "hold":   "后续绝对收益小于 2% 记为命中",
        "watch":  "后续绝对收益小于 2% 记为命中",
    },
}
建议方向命中判定含义与陷阱
买入 / 加仓(buy / add)后续收益 > 0 即命中只要涨了就算命中,哪怕只涨 0.1%
卖出 / 减仓 / 回避(sell / reduce / avoid)后续收益 < 0 即命中只要跌了就算命中,幅度不计
持有 / 观察(hold / watch)后续绝对收益 < 2% 即命中横盘算命中;涨跌超过 2% 就算不命中
无法判定(缺结果价或基准价)不计入命中率分母样本不足时统计会失真,所以项目另有门槛
评估环节实现方式为什么这样设计
取价基准日预测日当天或之前最后一根有行情的 K 线避开停牌与休市:K 线序列本身就是交易日历
结果价基准日之后第 N 根 K 线的收盘价(N = horizon 交易日)停牌、周末与节假日不占用 horizon,比自然日更贴近真实持有期
基准价优先用建议的触发价 trigger_price,缺失时才用预测日收盘价用触发价更接近「你实际会在什么价位上行动」
旧数据按自然日评估(calendar_days_legacy)历史行没有标的交易日口径,且统计时会单独区分
样本不足5 日口径已完成样本 < 20 条 时标记 insufficient_sample项目自己认为少于 20 条不足以说明问题
单次处理量每次最多处理 300 条待评估、最长 horizon 10 天避免一次性拉爆行情接口
请把这条读两遍:连项目自己都设了「5 日样本不足 20 条即标记样本不足」的门槛。所以任何第三方(包括本站)拿几周数据就宣称「AI 命中率 X%」的说法都不成立。正确用法是:把它当第二意见,用后验记录观察它在你的标的上是否持续提供增量信息,而不是把命中率当成可外推的收益预期。
Hazard map

PanWatch 输出里哪些部分是「规则的」、哪些部分是「模型的」

把 PanWatch 的一条分析结论拆开看,你会发现不同环节的可信度差别很大。下表按环节标明实现方式——这部分几乎不会出现在任何项目介绍里,但它直接决定你该怎么读结论。

环节实现方式可靠性含义你该怎么对待
行情与 K 线来自数据源的原始数值 + 主备降级受数据源本身质量限制;部分字段未校准关键数值自己复核一次来源
新闻情绪规则化:10 个正向词 + 10 个负向词计数比较这是词表匹配,不是模型判断;措辞不标准就会判错不要把情绪标签当结论,回到原文标题
新闻排序规则化:importance×5 + 命中标的 +2 + 关键词表 +2 + 含「公告」+1排序反映的是启发式权重,不是「重要性」的客观度量关注被排到前面的是哪几条,以及为什么
新闻主题摘要规则化:标题中文词频减去停用词本质是词频统计,可能把无意义高频词当主题把它当索引,不当摘要
四类分析师报告模型生成,输入是上面这些数据与上下文质量取决于输入质量与模型能力重点看它的依据是否指向真实数据
多空辩论与风控模型生成的多轮对话能暴露分歧,但不代表任何一方正确看双方各自的依据,而不是看谁声音大
PM 决策与评级模型生成,经映射规则转成档位映射规则可靠(可核验);结论本身仍不可预测作为第二意见,并按后验记录长期观察
PanWatch 结论的实用读法:把输出分成「可核验的事实层」与「不可核验的判断层」。事实层(行情数值、公告标题、资金流水)可以去源头复核;判断层(评级、辩论、PM 决策)无法事前验证,只能靠后验记录积累。把这两层混在一起读,就会把「推理链完整」误当成「结论可靠」。
Human review

PanWatch 人工复核怎么做?每次看结论都按这七项过一遍

下面这张 PanWatch 复核清单是本站基于官方口径整理的(证据等级 ④),目的是把复核变成可重复动作,而不是凭感觉。

七步人工复核清单

  • 确认数据新鲜度:看行情时间戳与最新交易日,确认不是在用停牌前或休市日的旧数据下结论。
  • 确认输入完整性:港股/美股拿不到龙虎榜、两融、股东户数等维度,输入缺项时结论的确定性本就更低。
  • 区分事实层与判断层:把引用到的数值、公告标题先核对,再进入对判断的评估。
  • 检查是否有 REVIEW 标记:若评分为「待人工复核」,说明系统自己都没解析出明确档位,此时不要自行补完。
  • 看多空双方的依据是否对称:若辩论里一方明显缺论据,结论的置信度应下调(该字段在结果里也保留)。
  • 记录触发价与时点:后验评估依赖 trigger_price 与预测日;自己动手记录能让后续统计更可信。
  • 等样本够再谈规律:单个标的至少积累到项目建议量级(5 日口径 20 条以上)再回头看统计,否则只当个案。
  • 你要回答的问题看什么什么情况下应该下调信任度
    数据是不是最新的分析时间戳、行情时间、最新交易日数据源健康度有失败记录,或标的正处于停牌
    输入维度够不够该市场支持哪几类数据(见数据源页覆盖矩阵)港股/美股缺少事件、两融、龙虎榜等维度
    依据能不能核结论引用的数值与公告结论里出现无法回溯到数据源的数字或事件
    结论有没有被系统标记是否显示「待人工复核」出现 REVIEW 标记,或提醒里带出该标记
    有没有反例风控三方是否提出了与结论相反的风险点风控提出明确反例但 PM 结论毫无变化
    历史上对不对后验评估页的命中统计与样本量样本量低于门槛,或统计口径含大量旧的自然日数据
    要不要动手你自己的资金规则任何时候——工具给的是研究材料,不是执行指令
    FAQ

    PanWatch AI 输出可信度与复核常见问题

    答案基于固定 commit 的源码与官方文档;涉及具体标的的判断请以你自己的研究为准,本站不提供投资建议。

    相关页面:运行成本与运维安全 · 故障排查手册

    它的评级是怎么来的?可以信任吗?

    评级优先从 PM 决策书正文里解析显式标签,取不到才退回上游的 decision 字段,再取不到才做模糊扫描;三者都失败则标记 REVIEW。这条优先顺序是官方为了修正「上游二次提炼会失真」而刻意设计的(正文写卖出、字段却返回 HOLD)。也就是说映射规则本身是可核验的,但被映射的那个结论仍不可预测。

    「待人工复核」是什么意思?等于持有吗?

    不等于。上游从 0.4.0 起在无法解析 PM 评级时返回 REVIEW,PanWatch 把它显示为「待人工复核」,并把动作降级成不触发自动交易的状态。官方注释明确写:REVIEW 不是可交易的 Hold。界面上两者标签不同,但都会落在 hold 这个动作字段上——看标签而不是看动作字段。

    它会不会自动下单?

    不会。项目定位是监控与研究;把深度分析结论写进模拟盘信号的开关默认关闭,即使打开也只处理买入方向(buy/add),只写模拟信号用于演练,不接触真实资金。

    后验评估的「命中」怎么算?

    按方向判定:买入/加仓只要后续收益大于 0 就算命中;卖出/减仓/回避只要收益小于 0 就算命中;持有/观察则要求后续绝对收益小于 2% 才算命中。取价按真实交易日(基准日之后第 N 根 K 线),基准价优先用建议触发价。幅度只在持有类判定里参与。

    能不能看命中率来判断值不值得用?

    可以看,但要先确认样本量。项目自己设了门槛:5 日口径已完成样本少于 20 条时标记为「样本不足」。在这个量级以下,命中率会被少数几笔结果主导,不具参考性。另外旧数据是按自然日评估的(calendar_days_legacy),统计口径与新数据不同,混在一起看会失真。

    新闻情绪和技术面分析是模型做的吗?

    不全是。新闻情绪是规则化的:10 个正向词与 10 个负向词做计数比较;新闻主题摘要本质是标题中文词频统计;新闻排序用的是「重要度×5 + 命中标的 +2 + 关键词表 +2 + 含公告 +1」这类启发式权重。真正的模型判断发生在四类分析师报告、多空辩论与 PM 决策这几步——知道哪些环节是规则的,能显著改善你读结论的方式。

    那我该怎么用这个工具?

    把它当第二意见:用它的多角度检查补你自己容易忽略的维度,用它的后验记录长期观察它在你的标的上有没有增量信息,但决策与执行仍然由你负责。这也是官方自己的定位——监控与研究工具,不是交易系统。

    知道怎么复核了,运行成本和风险呢?

    月度成本由模型、服务器与通知三块构成;而自托管把密钥、备份与公网暴露的责任也一并交给你。