方法论:论点如何变成 Gap 分数

四步流水线,把自然语言投资论点转换成一个可比较的概率差距数字。全流程透明,每步都能独立验证。

一句话版本

拆解 → 检索 → 分类 → 计分。主模型把论点拆成可验证的子声明,Polymarket API 检索对应市场, 双模型集成判断方向,加权公式算出 -100 到 +100 的 Gap 分数。典型耗时 30-90 秒。

第 1 步:拆解论点

输入是你写的任何长度自然语言论点。输出是一组原子子声明,每条有:

  • claim_text:一句可验证的陈述("美联储在 2026 年 12 月前累计降息不超过 50bps")
  • timeframe:明确时间窗口("2026-12-31 前")
  • verifiable_predicate:机器可判定的条件("fed_funds_rate 下降 ≤ 0.005")
  • search_keywords:3-5 个用于第 2 步检索的关键词
  • importance:critical / high / medium,用于第 4 步加权

模型:主模型(大语言模型 API)。 选它是因为长论点里隐含条件的挖掘能力 — 上一代模型经常把"BTC 年底破 12 万" 这种原子声明当成一条,而主模型会意识到其中同时蕴含了时间、价格和 "破"(达到 or 超过?)三个独立可验证维度。

温度设为 0.1 保证同一输入输出稳定。失败后有一次重试, 再失败就在该论点上标记 decompose_failed 并自动退回积分。

第 2 步:检索市场

每条子声明拿着自己的 search_keywords, 查询 Polymarket CLOB API 的 /markets 端点。 只保留:

  • 状态为 active(未结算)
  • 24 小时交易量 > $1,000(排除完全没流动性的长尾市场)
  • 截止日期在子声明时间窗口之内

剩下的候选按关键词相关度 + 交易量排名,每条子声明取 Top 5 送入第 3 步。

如果某条子声明一个候选都找不到(比如论点涉及 Polymarket 从不覆盖的细分话题), 系统会把这条子声明标记为 polymarket_matchability = "none", 交给第 3 步之外的 AI fallback(见下方"无匹配项的处理")。

第 3 步:分类方向

有了候选市场池,接下来要判断每个市场相对于子声明的方向:

  • 支持(aligns):市场"YES"概率高 = 子声明为真的概率高
  • 反对(contradicts):市场"YES"概率高 = 子声明为假的概率高
  • 中立(neutral):两者不直接相关

这一步用双模型集成:两个独立家族的大模型并行对同一 (子声明, 市场) 对给出标签, 投票一致时直接采用,不一致时以主模型为准。

为什么不信任单模型?投资领域的语义歧义很细 — "Fed 不降息"和"Fed 保持利率不变" 在市场术语里不完全等价(后者排除了加息可能性)。让两个不同家族的模型独立判断, 可以捕捉单模型的盲区。实测双模型一致率约 82%,剩 18% 的分歧中主模型胜率略高 (人工验证),所以平手时偏向主模型。

无匹配项的处理:如果某条子声明在第 2 步拿到 0 个候选市场, 另一只独立的备用模型会对这条子声明单独生成一段 100-200 字的独立分析, 在前端明确标注 "AI 独立分析 · 非市场信号"(琥珀色卡片)。 用户可以判断是否把它纳入 Gap 计算。

第 4 步:计算 Gap 分数

最后一步纯计算,在浏览器里实时跑。每条子声明 i 有:

  • ui:用户滑动滑块输入的主观概率(0-1)
  • mi:该子声明匹配市场的方向加权概率
  • wi:子声明重要性权重(critical=3, high=2, medium=1)

mi 是候选市场池内所有市场概率的方向加权: 支持方向的市场按 +P 计入,反对方向按 1-P, 中立的不计。再按相关度归一。

最终 Gap 分数:

Gap = 100 × ( Σᵢ wᵢ × (uᵢ - mᵢ) ) / ( Σᵢ wᵢ )

范围 -100 到 +100。正数 = 你比市场更乐观 / 更看多这个论点成立; 负数 = 你比市场更悲观 / 更看空。0 附近意味着你的假设几乎完全符合共识。

颜色分档:|Gap| < 10 绿色(基本吻合),10-25 黄色(显著分歧), > 25 红色(你和共识差距很大,值得重审假设)。

失败怎么办?

以下情况会自动退回积分:

  • 第 1 步失败(主模型拒绝拆解或重试后仍报错)
  • 第 1 步产出 0 条有效子声明
  • 后台任务超过 90 秒无响应(通常是 Vercel serverless 超时)

如果第 2 步所有子声明都 0 匹配 — 不退款, 但第 3 步的 AI fallback 会对每条生成独立分析,你看到的仍是一份有内容的报告, 只是 Gap 分数会基于纯 AI 信号而非市场。

已知局限

  • Polymarket 覆盖有偏。美国政治、加密、特定宏观事件覆盖极密,但中小盘股票、中国宏观、私人市场几乎空白。 涉及后者的论点会大量走 AI fallback,市场信号占比低。
  • 流动性噪声。成交量 < $10K 的市场概率可能单笔 $1000 订单就偏离 5-10%。 我们过滤了 24h 成交 < $1K 的极薄市场,但 $1K-$10K 区间仍会被纳入 — 这些市场 的概率应当理解为弱信号。
  • AI 分类有错。双模型集成后仍有约 5-8% 的 (声明, 市场) 对被标错方向。 分析详情页允许用户手动覆盖每条 link 的方向标签。
  • 地理限制。Polymarket 在美国受 CFTC 限制,在中国大陆无法访问, 在部分司法辖区(印度、多个中东国家)合法性未定。不建议在这些地区参与市场 — 但读取市场数据做研究通常是合规的(属于公开信息)。

准备好试试了?

方法论 · 论点 → 原子声明 → 市场 → Gap 分数 · ThesisGap