蒙地卡羅模擬跑幾次才夠:一千次與 10,000 次
約一千次可讓中位數回撤穩定,約 10,000 次可讓第 95 與第 99 百分位的尾端穩定,而交易明細太短、不足以洗牌時,再多次數也補不回來。交易筆數決定了不確定性的下限,增加次數降不下來。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
蒙地卡羅模擬要跑幾次才夠?
蒙地卡羅模擬跑幾次才夠,要看你讀的是哪個數字:約一千次可讓中位數回撤穩定,約 10,000 次可讓第 95 與第 99 百分位的尾端穩定,而交易明細太短、不足以洗牌時,再多次數也補不回來。決定下限的是交易筆數,不是跑的次數。
交易策略的蒙地卡羅模擬,是把回測產生的交易,用新的隨機順序重排多次,並記錄每種新順序的最大回撤。結果是一個回撤分布,而不是回測顯示的單一數字。這個方法從頭說明,見蒙地卡羅模擬與期貨交易範例;你也可以用免費的交易用蒙地卡羅模擬器,跑自己的交易明細。本文要論證的主張只有一個:跑的次數是問題中便宜的一半,交易筆數才是昂貴的一半。
為什麼答案取決於你讀的統計量?
最大回撤的中位數在跑了幾百次後就不再變動,尾端百分位則要等到稀有的最糟情況累積到足夠的數量,才會穩定。百分位是指某個比例的結果落在其下的值:第 95 百分位回撤,是 95% 的洗牌順序都停留在其下的水準。中位數就是第 50 百分位。
想像量一個小鎮上居民的身高。量過幾百人之後,平均身高就穩定了。最高的百分之一,要量到樣本裡有少數幾個特別高的人,才會穩定。中位數回撤由每一次模擬構成,所以每多跑一次,都會增加一點資訊。第 99 百分位只由最糟的百分之一構成,所以跑一千次時,它只靠十個順序,單一個不尋常的順序就能把它拉到相當遠的位置。這就是蒙地卡羅回測常顯示,你真正的最大回撤多半比單次回測的數字更深:尾端是資訊所在,也是最慢穩定的部分。
一千次夠嗎?還是需要 10,000 次?
讀中位數或第 75 百分位時,一千次就夠;估計第 95 或第 99 百分位回撤,10,000 次是實務上的下限;再往上提高,多半只是多買幾位小數。值得記住的公式只有一條,算出真正決定尾端的次數:
決定尾端的次數 = 總次數 × (1 − 以小數表示的百分位)
其中總次數是你產生的洗牌順序數量,以小數表示的百分位在第 95 百分位是 0.95,在第 99 百分位是 0.99。跑一千次時,第 95 百分位只靠 50 個順序,第 99 百分位只靠 10 個。跑 10,000 次時,分別變成 500 與 100。五十個資料點只能給出粗略的估計;五百個才給出穩定的估計。例行檢查時,跑一千次、讀中位數與第 75 百分位,是時間與資訊之間的合理交換。要決定帳戶規模、需要第 95 百分位時,用 10,000 次。
若要自己建立這個檢驗,用 Excel 做蒙地卡羅模擬的逐步教學會標出模擬次數在哪一步輸入;免費蒙地卡羅模擬器的整理文章,則比較三種工具各產出什麼。
交易筆數比模擬次數更重要嗎?
是。模擬重排的是回測產生的交易,所以一份只有 109 筆交易的明細,會讓回撤估計帶著 100,000 次也降不下來的不確定性,因為每一次都在重複使用同樣的 109 筆結果。對樣本重新抽樣,說的只是這個樣本;Efron(1979)正是以這個想法建立自助重抽法(bootstrap),它的限制也一樣。同樣的交易換個新順序,變不出交易本身容不下的更大連續虧損,也看不出策略在它從未交易過的行情年份會有什麼表現。
以下這次回測來自 AlphaPrime(Valynox):在 ES 日線上,從 2019-01-02 到 2025-06-30 做搜尋,多空雙向、一口,每筆交易都收手續費與滑價。它是搜尋從試過的一千多個裡留下來的一個候選策略,依報酬相對於回撤選出,事後挑出留下來的那一個,會讓它顯得好看。規則是以標準的成交量(Volume)指標做成的替代規則,不是本文的主題。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $108,520 |
| 最大回撤 | $33,032.5 |
| 交易筆數 | 109 |
| 勝率 | 61.47% |
| 獲利因子 | 1.659 |
| 平均每筆 | $995.6 |
| 在市場中的時間 | 59.08% |
這裡重要的數字是 109 筆交易。洗牌一千次或 100,000 次,中位數回撤都會收斂,但收斂到的是這 109 筆結果各種順序的中位數,這是一個小而偏好看的樣本。這次回測裡沒有任何內容說明規則賺到了那個結果,也沒有說明讀者應該預期同樣的結果;它只是一個留下來的候選策略,用來示範太短的交易明細會對分布造成什麼影響。

兩種不確定性疊在一起。模擬雜訊是只產生有限數量的隨機順序所帶來的晃動;次數越多,它越小。交易樣本不確定性,是你手上的 109 筆交易,與策略在更長歷史上會產生的交易之間的差距;只有更多交易才能縮小它,來源可以是更長的歷史,或是增加樣本外交易的推進分析視窗。策略檢驗裡的推進分析,是 AlphaPrime 在候選策略進入回撤檢驗前,補上這些樣本外交易的步驟,方法詳見推進分析一文。
為什麼蒙地卡羅每次跑的結果都不一樣?
每次模擬抽出的交易順序都不同,所以除非固定隨機種子,各百分位每次都會略有變動;而這個變動幅度本身,就是你有沒有跑夠次數的徵兆。隨機種子是電腦產生隨機選擇序列的起始數字;同一個種子產生同一個序列,同一個序列產生同樣的洗牌順序。Metropolis 與 Ulam(1949)因此用賭場為這個方法命名:答案由機率構成,而機率每次抽出的結果都不同。
這一點可以善加利用。用不同種子把檢驗跑兩、三次,比較你在意的百分位。如果第 95 百分位回撤在不同種子之間只差百分之幾,這個統計量的次數就夠了。如果差到其數值的四分之一,就提高次數,直到差距縮小。然後固定種子,讓同事或一個月後的你,能重現完全相同的數字。
假設性範例
用不同種子跑三次、每次洗牌一千次,得到的第 95 百分位回撤是 $14,100、$16,800 與 $13,400,差距約四分之一。跑三次、每次洗牌 10,000 次,得到 $15,200、$15,500 與 $15,300,差距約百分之二。第二組已穩定;第一組還沒有。
實際可做的下一步:拿你自己的交易明細,用兩個不同種子各洗牌一千次,再用同樣兩個種子各洗牌 10,000 次,每次都記下第 95 百分位回撤。兩個種子的結果相差在百分之幾以內的那個次數,就是該策略該用的次數。接著數一數明細裡的交易筆數,因為這個數字決定了你到底能信任這個分布到什麼程度。
常見問題
蒙地卡羅要跑幾次,結果才穩定?
看你讀的是哪個數字。中位數回撤通常在約一千次後穩定,第 95 百分位在約 10,000 次後,第 99 百分位則需要更多。檢驗是否穩定的方法,是換一個隨機種子重跑模擬,看統計量變動多少;變動只有百分之幾時,次數就夠了。
蒙地卡羅模擬要固定隨機種子嗎?
先檢查收斂,再固定,不要反過來。先用兩、三個不同種子跑模擬,看各百分位變動多少;這個差距會告訴你次數夠不夠。然後設定固定種子,讓之後能重現完全一樣的數字,並在不同策略之間比較。
只有 30 筆交易的策略,可以跑蒙地卡羅嗎?
可以跑,也會產生一個分布,但這個分布只描述這 30 筆交易的新順序。它無法呈現樣本從未包含的連續虧損,也無法呈現策略從未交易過的行情期間。把結果當成線索,並在依賴回撤百分位之前,設法增加交易,例如用更長的歷史,或推進分析的樣本外視窗。
交易筆數與模擬次數,哪個更重要?
交易筆數。更多模擬次數縮小的是估計分布時的雜訊,但分布本身是由你手上的交易構成,再多洗牌也改變不了。一個有幾百筆交易、跑一千次的策略,得到的回撤範圍,比一個只有一百筆交易、跑 100,000 次的策略更可信。
參考文獻
- Metropolis, N., & Ulam, S. (1949). The Monte Carlo Method. Journal of the American Statistical Association, 44(247), 335–341.
- Efron, B. (1979). Bootstrap Methods: Another Look at the Jackknife. The Annals of Statistics, 7(1), 1–26.
- Magdon-Ismail, M., & Atiya, A. F. (2004). Maximum Drawdown. Risk, 17(10), 99–102.

