這份文件說明本工具背後的統計推理,讓你能信任(並質疑)它的結論。
一個人交易一段時間後賺了錢。這代表他有本事,還是只是運氣好?
這不是哲學問題,而是一個可以用統計檢定回答的問題。
統計公式正確,不代表輸入單位正確。工具在計算前先採 fail-closed 資料契約:
可信的淨損益仍可保留在金額統計中;只有依賴缺漏基準的指標會停用。這樣做的目的 不是讓報告更容易變綠,而是避免錯誤單位、猜測時間或乘數把裁決方向翻轉。
每筆交易的期望損益:
期望值 = 勝率 × 平均獲利 − 敗率 × 平均虧損
這是最重要的單一數字。 期望值為負,代表交易越多次、賠越多, 長期的統計預期就是虧損 —— 不論短期帳面多漂亮(樣本期望值是估計, 所以裁決同時附不確定性檢定;但負值就先停手,這是保守原則)。
⚠️ 常見陷阱:
高盈虧比 ≠ 賺錢。盈虧比 5,但勝率只有 13%,期望值仍可能是負的。
(見 core/examples/crypto_luck.json:盈虧比看起來頗高(約 4.3),期望值卻是負的。
因為總獲利幾乎全部來自單筆迷因幣暴賺 —— 那是中樂透,不是方法。
自己跑 anti-gambling-trader analyze --example crypto 就能看到實際數字。)
就算期望值為正,樣本小的時候,它也可能只是隨機波動。我們用兩種互補的檢定:
假設 H₀:真實平均損益 ≤ 0。算出觀察到目前這麼好的平均值「純屬偶然」 的機率(p 值)。p < 0.05 才拒絕「這是運氣」。
我們用真正的 Student-t 分布(透過正則化不完全 beta 函數,純標準庫實作), 而不是常態近似或經驗性的收縮校正 —— 小樣本的尾端機率才會正確。
不假設任何分布(交易損益通常嚴重偏態、厚尾,常態假設未必成立)。 做法(shift method,虛無假設置中):先把樣本平移成均值 0(= 模擬「真實期望 其實是 0」的世界),從平移後的樣本「有放回地」重抽同樣多筆、算平均,重複幾千次, 看有多少比例的重抽平均值 ≥ 你實際觀察到的平均值。這個比例就是單尾經驗 p 值 —— 「若你根本沒有優勢,純靠抽樣波動出現這麼好成績的機率」。
為什麼不直接對原始樣本重抽、數「平均 ≤ 0 的比例」?那是信賴區間的反推, 對偏態分布會偏,而且容易被誤讀成「期望不為正的機率」—— p 值不是那個意思。 (2026-07 外部統計審查後改為置中重抽;型一誤差經蒙地卡羅校準 ≈ α。) 重現:
python experiments/exp_bootstrap_calibration.py。本文件引用的實驗數字都附重現腳本(
experiments/,固定 seed、純標準庫); 倖存者機率的精確解與蒙地卡羅交叉驗證:python experiments/exp_survivorship.py。
只有 t 檢定與 bootstrap 雙雙 p < 0.05,我們才認定「正期望值顯著」。
已知限制(誠實揭露):
- bootstrap 的 p 值是單尾(置中重抽下平均 ≥ 觀察值的比例),而報告中的 95% 信賴區間是 雙尾百分位。因此在 p 值接近 0.05 的邊界,可能出現「顯著、但 CI 下界略低於 0」 的情況 —— 此時報告會明白標示這是「邊際等級」的證據,而非穩固優勢。
- 兩個檢定都假設各筆交易獨立同分布。連續交易可能有序列相關, 我們未做 block bootstrap(會犧牲可解釋性與零依賴)。這是已知的簡化。
如果對你的每一個策略標籤各跑一次顯著性檢定,卻不做多重比較校正, 「至少有一個標籤被誤判為具優勢」的機率會隨標籤數暴增。
我們實測(蒙地卡羅,零期望純隨機資料;可重現:
python experiments/exp_multiple_comparison.py,seed=20260713、2000 次模擬、
每標籤 30 筆、單尾 t 檢定 α=0.05):
| 策略標籤數 | 至少一個被誤判為「具優勢」 |
|---|---|
| 1 | 4.7%(約等於顯著水準 α —— 單次檢定本來就有這個誤判率;重點是它隨標籤數暴增) |
| 5 | 24.3% |
| 10 | 41.0% |
對一個宗旨是「戳破運氣幻覺」的工具,自己對純隨機雜訊頒發「具優勢」徽章, 是直接的自我矛盾。而 per-tag 樣本通常只有 5~30 筆,做 Holm/Bonferroni 校正後 幾乎永遠不顯著 —— 與其給一個沒有資訊量的結論,
我們選擇:逐策略只報「描述統計」(賺或賠、賠多少、樣本夠不夠), 不做任何優勢認證。 「是不是真優勢」的判斷,只由整體裁決(只做一次檢定)給出。
一個策略「在歷史資料上很賺」,可能只是因為它剛好貼合了那段歷史。 要戳破這種假象:
只有五項都成立,edge_persisted 才會是 true。如果前段未顯著,後段再漂亮也只是
新的探索性訊號;如果後段為正但不顯著,只能說「尚未確認」。若優勢在樣本外消失、
不顯著、衰減至少 50% 或翻負,就不能宣稱可延續。
倖存者偏差:你只看到「自己這次賺了」,看不到「無數用同樣方法 賠光退場的人」。樣本外驗證,就是在你自己的資料裡模擬「未來」, 看你的方法會不會也成為那批退場者之一。
最重要的前提: 規則必須在看到後段以前就凍結。若你看完整段歷史後才調整 規則,後段並不是真正未看過的資料;即使程式算出延續,結論仍會偏樂觀。
即使前三關都過,我們仍會掃描結構性風險警訊:
| 警訊 | 為什麼危險 |
|---|---|
| 負期望值 | 方法不變的話,長期的統計預期就是虧損 |
| 獲利過度集中單筆 | 靠運氣中一次,非可重複方法 |
| 高勝率 + 極差盈虧比 | 賺小賠大,一次爆倉吃光獲利 |
| 極端回撤(>50%) | 過程曾瀕臨毀滅,多數人撐不過 |
| 長連虧(≥8 次) | 心理上極難守紀律 |
| 純當沖且不顯著 | 最接近賭場的型態,成本與雜訊極高 |
| 獲利因子接近 1 | 毫無安全邊際,扣成本後很可能在虧 |
寧可錯殺(把賭博誤判為賭博),不可放過(把賭博說成優勢)。
兩種錯誤的代價天差地遠,所以我們刻意偏向保守。
在一個以「拆穿投資詐騙的偽科學」為宗旨的工具裡,若我們自己加入統計上站不住腳的 功能,公信力就崩潰了。以下是經多方對抗驗證(Codex + Grok + 蒙地卡羅實驗)後 明確決定不做的功能,以及為什麼。
很多「金融鑑識」文章都在用它。但它的前提是「跨多個數量級的自然正數」:
[0.19, 0.17, 0.17, …],
與班佛理論值 [0.30, 0.18, 0.12, …] 完全不符 —— 卡方檢定 p=0.0024「沒過關」。也就是說,用它去檢驗報酬,會系統性地對合法資料產生假指控。它在這裡零鑑別力。 所以我們不提供它。
話術偵測的關鍵字權重是我們自己訂的,沒有經過任何標註語料的校準(Platt / isotonic), 也沒有保留集。那個數字不對應任何真實機率 —— 它是假精準。 我們只給序數等級(極高 / 高 / 中 / 低 / 資訊不足)。
同理,scam-check 也不再顯示「風險 48%」,改為「命中 6/12 項詐騙特徵」。
這些量在 n=20~35 的樣本下抖動劇烈(實測破產率的真實估計不確定性 CV 達 18%~37%)。 Kelly 在小樣本會高估激進程度,與「寧可錯殺」的保守精神對立。
模擬誤差(重抽次數帶來的)確實只有約 0.02%。但估計誤差(你只有 30 筆樣本)極大 ——
實測同一份 22 筆的資料,破產率的真實不確定性橫跨 [0.005, 1.000]。
在一個橫跨 0~100% 的量旁邊掛個窄區間,是製造虛假的精確感。
可構造出 p_boot = 0.0477(1−p = 95.2%)但 95% 信賴區間下界 = −0.081 小於 0 的實例。
信心度儀表會與同頁的「CI 涵蓋 0」直接矛盾。p 值不是「優勢為真的機率」。
純外推正是詐騙話術的本體。實測:即使零優勢的純運氣序列,也有約 38%~47% 呈現上升曲線。把那個外推出去,等於把運氣包裝成保證。
實測 1000 人、每人 10 次預測時,出現至少一個連贏 10 次的機率是 62.4% —— 不是 1。任何「必然」「一定」的措辭都與數字矛盾。我們一律用機率陳述。
所以每一項發現都必須同時說明「這代表什麼」與「這不代表什麼」。 把「可疑」講成「造假」,就是我們自己在做假精準。
維護者:好棒棒反詐協會 - 免費顧問 阿軒割割(社群化名,非立案法人)|內容由 AI 輔助撰寫並經多模型交叉審查(見稽核紀錄)|審閱日期:2026-07|本頁非投資建議,疑似詐騙請撥 165