上一篇 的所有式子都以 q 為輸入。這篇處理一個殘酷的事實:你的 q 幾乎總是比你以為的更接近市價,而且你系統性地高估自己的 edge。 這不是心理學勸誡,它有一個可以量測、可以校正的形式。


第一步:市價是一個很強的估計量,把它當成先驗

多數人的流程是「我估 70%,市場說 55%,所以我有 15 個百分點的 edge」。這個流程在統計上是錯的,因為它把市價當成對手的報價,而不是當成證據。

市價是數千個參與者的資訊聚合,而且實證上校準得很好(Reichenbach & Walther 在 1.24 億筆交易上發現市價緊貼實現機率,甚至略優於博彩公司賠率,見 錯價從哪來)。忽略它等於丟掉最大的一份證據。

正確的流程是貝氏合併。 在對數勝率空間裡:

ℓ_post = w · ℓ_model + (1 − w) · ℓ_market

其中 ℓ = ln(q/(1−q))關鍵問題是 w 該是多少。

w 不是憑感覺,是回歸出來的

在已結算的歷史市場上跑一個 logistic 回歸:

outcome  ~  a · logit(p_market)  +  b · logit(q_model)  +  const

然後

w = b / (a + b)

這是唯一誠實的做法,而且它會給你一個通常令人沮喪的答案。三個要注意的事:

一、b 若在樣本外不顯著為正,你的模型的增量價值是零。 不是「小」,是零。此時正確的部位是零,無論模型的絕對準確率看起來多好。模型的絕對準確率完全不是重點——市場已經很準了,你要證明的是你在市場之上還有增量。

二、a + b 通常小於 1,代表兩者合併後應該「去極端化」。 這與大眾對「合併多個預測要 extremize」的直覺相反,因為那條建議適用於合併多個獨立的人類預測,而市價本身已經是聚合過的。對已聚合的估計再 extremize 會過度自信。

三、w 要分類別估。 你的模型在氣象市場上可能 w = 0.4,在地緣政治上 w = 0.05。混在一起估會把兩者都弄壞。

收縮後的 edge 才是可下注的 edge

回到那個例子:模型 70%、市價 55%。若 w = 0.25

ℓ_model = ln(0.7/0.3) = 0.847
ℓ_market = ln(0.55/0.45) = 0.201
ℓ_post = 0.25(0.847) + 0.75(0.201) = 0.363
q_post = 0.590

edge 從 15 個百分點縮到 4 個百分點。 部位規模因此縮到不到四分之一(Kelly 是線性於 edge),成長率貢獻縮到十六分之一(g ∝ edge²)。

這一步是自動化交易系統裡最容易被跳過、也最貴的一步。 跳過它的系統會在每一筆交易上過度下注約 4 倍——參照 Kelly 的成長率曲線,超過 2 倍 Kelly 的長期成長率是負的。


第二步:量測校準,不是量測準確率

「準確率」在機率預測上幾乎沒有意義。要看的是三個東西。

Brier score 與它的分解

BS = (1/N) Σ (qᵢ − oᵢ)²        (oᵢ ∈ {0,1})

Murphy 分解:

BS = 可靠度(Reliability) − 解析度(Resolution) + 不確定性(Uncertainty)
      ↑ 越小越好              ↑ 越大越好           ↑ 資料本身的性質
  • 可靠度:你說 70% 的那些事,實際發生率是不是 70%。這是可以事後校正的(用 isotonic 回歸或 Platt scaling)。
  • 解析度:你的預測有沒有離開基準率。一個永遠說 50% 的模型,可靠度完美但解析度為零,完全沒有交易價值
  • 不確定性:與模型無關。

兩個常見的誤讀

  • 「我的 Brier 是 0.18,很好」——沒有對照就沒有意義。要看的是 Brier Skill Score 相對於市價BSS = 1 − BS_model / BS_market。若 BSS ≤ 0,你的模型不如直接抄市價。
  • 「我的可靠度很好」——可靠度好但解析度低,代表你只是在複述基準率。兩者都要看。

對數損失(log loss)才是與 Kelly 對齊的分數

LL = −(1/N) Σ [ oᵢ·ln qᵢ + (1−oᵢ)·ln(1−qᵢ) ]

為什麼重要:Kelly 最大化的是期望對數財富,而對數損失的改善量,直接等於 Kelly 下注下的期望對數成長率的改善量。Brier 是方便的診斷工具,log loss 是與你的目標函數同一個單位的分數

實務上兩個都算:log loss 用來排序模型,Brier 分解用來診斷問題出在可靠度還是解析度。

可靠度圖與極端區的樣本稀少問題

把預測分箱、畫實際發生率 vs 預測值。幾乎所有模型的問題都出現在兩端:說 95% 的事只發生 88%,說 3% 的事發生了 8%。

問題是極端區的樣本天生就少——要驗證「95% 這一箱」是不是真的 95%,你需要至少幾百個樣本才能區分 95% 和 90%。這造成一個實務困境:你最需要驗證校準的地方(極端價格區,因為那裡的 Kelly 部位最大),恰好是樣本最少的地方。

處理方式:

  • 極端區用 beta-binomial 的後驗區間而不是點估計,並用區間下界做決策。
  • 或者更保守:q > 0.9q < 0.1 的預測直接施加一個上限/下限,理由不只是統計,還有 [[projects/polymarket-strategy-research/04-uma-resolution|預言機的 β 天花板]]——兩個理由指向同一個做法。

第三步:要多少樣本才能證明你有 edge

這是最常被忽略的問題,而它有一個簡單的答案。

單筆交易的 Sharpe 是 edge/σ。累積 n 筆後的 t 統計量是

t = (edge/σ) · √n

要達到 t = 2(大約 95% 信心):

n = 4 / (edge/σ)²
單筆 Sharpe需要的已結算交易數
0.051,600
0.10400
0.15178
0.20100

一個典型的預測市場策略,單筆 Sharpe 大概在 0.05–0.15 之間。 也就是說,你需要 200–1,600 筆已結算的交易才能區分「有 edge」和「運氣好」。

三個殘酷的推論:

  1. 如果你的策略每週只有 5 個機會,你需要 1.5–6 年才能知道它有沒有用。 這直接決定了策略選擇——應該優先設計高頻的策略,不是因為高頻賺得多,而是因為高頻可證偽。
  2. 上面的計算假設交易獨立。 預測市場的交易高度相關(同一個總體事件的多個市場、同一場比賽的多個合約),有效樣本數遠低於名目筆數。用事件叢集而不是交易筆數來數 n
  3. 多重比較會摧毀這個檢定。 若你同時試了 20 個策略,其中一個達到 t = 2 是機率上的必然。上線前要決定要測哪一個,這是 pre-registration 的實質理由,不是形式主義。

第四步:預先登記——把它變成系統的一部分

因為上面的統計問題,校準紀錄必須是自動產生、不可事後修改的。這在 系統藍圖 裡是估計層的強制輸出:

每次產生一個 q 時,寫入一筆不可變紀錄:

{
  timestamp, market_id, condition_id,
  q_model,              // 模型原始輸出(看不到市價,見盲估協議)
  p_market,             // 當下市價
  w_used, q_post,       // 收縮權重與後驗
  evidence_hash,        // 用到的證據集合的雜湊
  model_version,
  traded: bool, size    // 是否真的下單、下多大
}

traded: false 的紀錄和 true 的一樣重要——只保留有下單的紀錄會產生選擇偏誤,讓你的校準統計偏樂觀。

結算後回填 outcome,就得到一份可以直接跑上面所有檢定的資料集。

q_model 必須在看不到 p_market 的情況下產生,否則 w 的回歸會被汙染(模型偷看市價後,b 會虛假地顯著)。這個工程要求是 盲估協議 的核心,也是我認為 LLM 驅動的預測系統裡最常見、最致命的設計缺陷。


一個實務上的判準

如果你只能記一條規則:

在你累積 400 筆獨立的、預先登記的、已結算的預測之前,你的部位規模應該由「你能承受多少學費」決定,不是由 Kelly 決定。

Kelly 是知道 q 之後的最優解。在你證明自己知道 q 之前,你在做的是買資料,而不是交易。買資料的正確規模是「這筆學費值不值得」,而不是「期望值是多少」。


這篇的重點

  1. 市價是證據,不是對手的報價。 q 必須是包含市價的後驗。
  2. 收縮權重 w 用歷史 logistic 回歸估b 不顯著就代表模型零增量價值。
  3. 收縮後 edge 通常縮到原本的 1/4 以下,跳過這步的系統會過度下注約 4 倍。
  4. 看 Brier Skill Score(相對市價)與 log loss,不看準確率。
  5. n = 4/Sharpe²:單筆 Sharpe 0.1 需要 400 筆已結算交易才能證明 edge。→ 優先設計可證偽的高頻策略。
  6. 預先登記是統計必需品,且 q_model 必須在看不到市價的情況下產生。

下一步:資金管理