樂透

樂透冷號熱號預測有用嗎?我用 6,772 期台彩開獎回測給你看

幾乎每個樂透網站都有一塊「近期熱門號碼」「冷號遺漏榜」,我自己做工具頁的時候也放了一塊。但我一直很想知道一件事:這些表到底有沒有用?與其聽誰說,我把台彩官方 API 從 2014 年 1 月到 2026 年 10 月的三個彩種全部抓下來,寫了一支回測腳本,讓每一期開獎前的「前 30 期熱號」跟「前 30 期冷號」各下一注,看它們這十二年多到底中了幾顆。

:::tip TL;DR

  • 大樂透 1,411 次回測:熱號策略平均每期命中 0.722 顆、冷號 0.755 顆、隨機 0.736 顆,理論值 0.735 顆,三者看不出差別。
  • 中 3 顆以上(最低可領獎門檻)的比例:熱號 2.1%、冷號 1.7%、隨機 1.9%,理論值 1.86%。
  • 換成 50 期、100 期取樣窗,或換到威力彩、今彩539,結論一樣:冷熱號沒有預測力;它唯一的用途是估「會跟多少人分獎」。 :::

回測規則:我怎麼定義熱號與冷號

資料來源是台彩官方 API(api.taiwanlottery.com),我把每一期的 numbers(排序後的開出號碼)存成 JSON。資料範圍:

彩種 期間 期數 選法
大樂透 2014-01-03 ~ 2026-10-02 1,441 期 49 選 6
威力彩(第一區) 2014-01-02 ~ 2026-10-01 1,331 期 38 選 6
今彩539 2014-01-01 ~ 2026-10-03 4,000 期 39 選 5

回測方法是這樣:從第 31 期開始,每一期開獎前,統計它前 30 期每個號碼出現幾次,取出現次數最多的 6 個(539 取 5 個)當「熱號注」、最少的當「冷號注」,同票數時小號碼優先(規則固定,避免我偷偷挑)。接著拿這一注去對當期實際開出的號碼,記下中幾顆。對照組有兩個:一是用亂數器每期產生 200 組隨機號碼取平均,二是「照買上一期開出的號碼」這種極端的追號法。

for i in range(30, len(draws)):
    window = draws[i-30:i]
    freq = Counter(n for d in window for n in d.numbers)
    order = sorted(range(1, 50), key=lambda n: (-freq[n], n))
    hot, cold = order[:6], order[-6:]
    hit_hot  = len(set(hot)  & set(draws[i].numbers))
    hit_cold = len(set(cold) & set(draws[i].numbers))

理論值怎麼來?從 49 個號碼隨便選 6 個,跟當期 6 個開出號碼的重疊顆數服從超幾何分布,平均是 6 × 6 ÷ 49 = 0.735 顆;中 3 顆以上的機率是 1.86%。任何選號法如果真的有效,數字就該高於這條線。

大樂透回測結果:三種策略貼在同一條線上

策略(取樣窗 30 期) 回測次數 平均命中顆數 中 ≥3 顆比例 中 ≥4 顆比例
前 30 期熱號 6 碼 1,411 0.722 2.1%(30 次) 0.1%(1 次)
前 30 期冷號 6 碼 1,411 0.755 1.7%(24 次) 0.2%(3 次)
照買上期號碼 1,411 0.747 2.0% —
隨機 6 碼(200 組平均) 1,411 × 200 0.736 1.9% 0.1%
理論值(超幾何) — 0.735 1.86% 0.10%

熱號 2.1% 對冷號 1.7%,看起來熱號贏?別急。1,411 次回測、事件機率 1.86%,抽樣的標準誤差大約 0.36 個百分點,2.1% 跟 1.7% 都在理論值一個標準誤內晃。命中顆數那欄也一樣:每期命中數的標準差約 0.76 顆,除以 √1411 之後,平均值的誤差約 ±0.02,三個數字 0.722、0.755、0.736 根本分不出高下。

:::david 老實說我第一輪跑完以為程式寫錯了。三種策略的數字幾乎一模一樣,我還特地把熱號跟冷號的變數名稱對調重跑一次,想確認沒有拿錯陣列。結果當然還是一樣——因為球不會看統計表。 :::

威力彩與今彩539:換彩種,結論不變

彩種(30 期窗) 熱號平均命中 冷號平均命中 隨機 理論 熱號 ≥3 顆 冷號 ≥3 顆 理論 ≥3 顆
威力彩第一區(1,301 次) 0.951 0.929 0.948 0.947 3.8% 2.4% 3.87%
今彩539(3,970 次) 0.653 0.639 0.640 0.641 1.1% 0.8% 1.00%

威力彩的冷號 2.4% 看起來比熱號 3.8% 差很多,但樣本只有 1,301 次,單一比例的標準誤差約 0.53 個百分點,兩個比例相減的誤差要合併算,1.4 個百分點的差距不到 2 個標準誤,而且換成 100 期取樣窗之後冷號反過來變成 4.1%、熱號 4.0%。一個策略的「優勢」會因為取樣窗不同就正負互換,那就不是優勢,是雜訊。

取樣窗換成 50、100 期會怎樣

取樣窗 大樂透 熱/冷 ≥3 顆 威力彩 熱/冷 ≥3 顆 539 熱/冷 ≥3 顆
30 期 2.1% / 1.7% 3.8% / 2.4% 1.1% / 0.8%
50 期 2.4% / 2.1% 4.0% / 3.4% 1.1% / 0.8%
100 期 1.5% / 2.5% 4.0% / 4.1% 0.9% / 1.2%
理論值 1.86% 3.87% 1.00%

九組數字,熱號贏五組、冷號贏四組。如果你想找「哪個取樣窗最準」,我勸你省下這個時間。

為什麼冷熱號沒有預測力

最根本的理由只有一句:每期開獎是獨立事件。搖獎機不會記得上一期開了什麼,所以「前 30 期出現 5 次」這個資訊對下一期的機率毫無影響,每個號碼永遠是 6/49。

那為什麼統計表看起來總有「特別熱」的號碼?因為隨機本來就會長這樣。大樂透全部 1,441 期,每個號碼理論上出現 176.4 次、標準差 12.4 次。實際最熱的 41 號出現 201 次(+1.97 個標準差),最冷的 4 號出現 151 次(−2.05 個標準差),49 個號碼有 48 個落在 ±2 個標準差內。49 個隨機變數裡面最極端那個落在 ±2σ 附近,是教科書上的正常現象。

反過來講,如果某個號碼連十幾年都不偏不倚剛好 176 次,那才可怕——代表搖獎機裡面有人在調。真正隨機的東西一定會有看起來像「趨勢」的片段,人腦又特別擅長在雜訊裡找故事,這兩件事加起來就是冷熱號理論歷久不衰的原因。

:::david 我原本在規格裡寫「大樂透約 1,300 期」,跑完才發現檔案裡有 1,441 期。回頭數了一下:2014 到 2018 年大樂透一年開 108 期左右,2024、2025 年已經各 118 期,因為加開期變多了。這種小細節在回測裡很重要——期數算錯,理論值跟實際值的比對就會偏。所以文章裡每一個數字我都是重新從 JSON 數出來的,不信我自己的記憶。 :::

:::david 我做了一個更狠的實驗:把大樂透切成前 720 期跟後 721 期,看前半段最熱的 10 個號碼到後半段表現如何。前半段冠軍是 32 號,出現 111 次、遙遙領先;後半段它只出現 74 次,在 49 個號碼裡排第 48 名。兩段各號碼出現次數的相關係數是 −0.16,威力彩是 +0.03,539 是 +0.16,全部在零附近晃。熱號不會延續,冷號也不會補開。 :::

冷熱號統計真正能用的地方:獨得機率

這不代表冷熱號表完全沒價值,只是價值不在「預測開獎」,而在「預測別人會買什麼」。中獎機率每一組號碼都一樣,但獎金是分的——跟你選同一組的人越多,頭獎切得越薄。網路上滿天飛的熱號榜會吸引一批人追同樣的號碼,而冷號、大號、沒有規律的組合相對少人碰。我在電腦選號 vs 自選那篇用 1,441 期的分獎人數算過,六個號碼全在 1~31(生日範圍)的期數,五獎中獎人數比其他期多了約 40%,這才是號碼「冷熱」真正影響到你口袋的地方。

想看目前的冷熱號與遺漏值,工具頁每天更新:大樂透開獎與冷熱號、威力彩開獎與第二區統計、今彩539 開獎與遺漏值。看的時候記得這篇的結論:它是「人的行為」地圖,不是「球的行為」地圖。

常見問題

熱號是不是比較容易開? 用大樂透 1,411 次回測,買前 30 期最熱的 6 個號碼,平均每期中 0.72 顆、中 3 顆以上的比例 2.1%;理論值是 0.73 顆與 1.9%。差距都在抽樣誤差內,看不出熱號比較會開。

冷號是不是「該開了」? 不是。每期開獎是獨立事件,球不會記得自己上次什麼時候出現。回測買前 30 期最冷的 6 碼,平均命中 0.75 顆,跟隨機選號的 0.74 顆沒有差別。

取樣窗換成 50 期或 100 期會不會比較準? 我三種取樣窗都跑了,三個彩種九組數字全部落在理論值 ±0.5 個百分點內,沒有哪個窗口特別厲害。

那冷熱號統計到底能幹嘛? 它能告訴你「別人大概會買什麼」。中獎機率每組都一樣,但少人買的號碼中了比較不用分獎。想拉高獨得機率,避開大家都在追的熱號反而比較合理。

延伸閱讀