交易中的 Monte Carlo 模拟:回撤、爆仓风险与仓位大小

Monte Carlo 模拟会把您策略的交易结果重排数千次,展示同一个优势可能产生的完整资金曲线和回撤范围。它并不预测收益;它告诉您亏损阶段可能有多深、出现多频繁,而这正是决定您仓位大小的关键。请在下方模拟器中运行一次。
我给订阅者看过的最有用图表不是一笔交易,而是他自己策略的 1,000 个版本:曲线像扇面一样展开,其中五分之一在 200 笔交易后仍处于亏损。他确实有优势,却像买彩票一样给它配仓位。本页就是那张图、图背后的直方图,以及一个模拟器,让您在市场替您运行这些数字之前,先自己跑一遍。
经得起公开验证的指标。
一个引擎,四款精准工具:Gold(XAU)Scalper、机构级 Gravity Zone、Zeno 动量振荡指标,以及面向股票的 Zeno Stocks。



Monte Carlo 模拟能告诉您哪些回测无法告诉您的事?
回测给您的是一段历史:交易按一个顺序发生,产生一条资金曲线、一个最大回撤和一个最终余额。Monte Carlo 模拟拿同一批交易重排数千次,让您看到该策略在运气顺序不同的情况下,本来可能产生的整组资金曲线。

这很重要,因为交易顺序是您对未来唯一无法知道的事。55% 胜率、1.8R 平均盈利是一个不错的策略;本指南顶部的图展示了这个完全相同的策略在 200 笔交易中的 1,000 次运行,而第 5 百分位路径在 200 笔后仍处于亏损,第 95 百分位路径则达到中位数的 3 倍。同样的优势。同样的交易。不同的年份。
一旦您看过这张扇形图,就不会再问“回撤是多少?”,而会开始问“我应该预期多大回撤,以及它会多频繁出现?”——这才是决定仓位大小的问题。
Monte Carlo 模拟如何运作?
这种方法需要 3 个输入,并反复做一件事:
- 一份以 R 倍数表示的交易结果列表——如果您没有列表,也可以使用胜率加平均盈利和平均亏损。
- 每次运行的交易笔数,通常是您关心周期的长度(例如您一年交易 150–300 笔)。
- 运行次数,通常为 1,000 到 10,000。
每次运行时,它从列表中随机抽取交易(可重复抽样),把它们串成一条资金曲线,记录最终结果和最深回撤,然后进入下一次运行。最后您会得到 1,000 个最终余额和 1,000 个最大回撤,并把它们作为分布来阅读:中位数、第 5 和第 95 百分位,以及有多少比例越过了您定义为爆仓的那条线。
这里没有预测。它不知道市场接下来会怎么走;它只知道当同样的结果以不同顺序出现时,您的策略会怎样。这一限制也是它的优势——它无法被曲线拟合。
如何阅读 Monte Carlo 回撤分布?
本指南中的直方图是会改变行为的输出。55%/1.8R 策略在每笔交易风险 1% 下运行 1,000 次:大多数运行的最高回撤落在 8% 到 12% 之间,尾部延伸到 35%,并且 3.2% 的运行越过了 25% 回撤。

您需要从中带走 3 件事:
- 回测中的单个回撤数字只是从这个分布中抽到的一次结果,而您不知道它是不是幸运样本。
- “爆仓风险”不再是一句口号。如果您的资金账户限制是 25%,那么这个策略在这个仓位下大约每 30 年会有 1 年让账户失败。这是一个您可以决策的数字。
- 右侧尾部很长。中位结果让人安心;真正终结交易生涯的是尾部。
仓位大小如何改变回撤尾部?
三联图是本页最有用的图。同一个策略,同样 1,000 次运行,每笔交易风险分别设为 0.5%、1% 和 2%:

- 在 0.5% 时,分布集中在约 5% 回撤,几乎没有运行越过 25%。
- 在 1% 时,分布集中在约 10%,约 3% 的运行越过 25%。
- 在 2% 时,分布集中在约 15%,约 14% 的运行越过 25%。
三种情况下每笔交易的期望值完全相同。仓位翻倍并没有让爆仓风险翻倍——而是让它扩大到 4 倍以上。这种非线性让“优势为正,直接加仓就行”成为一句代价高昂的话,也正因如此,我们的仓位大小指南把风险百分比视为生存参数,而不是收益旋钮。
如何设置现实的爆仓风险阈值?
爆仓不是归零。爆仓是指回撤达到某个水平后,您无法再按设计执行策略:
- 资金账户:该计划的最大回撤,考核中通常为每日 5%、总计 10%,资金账户阶段更宽。请精确使用这些数字。
- 自有资金:您知道自己会开始改规则的回撤水平——对大多数人来说,这通常在 20% 到 30% 之间,远早于账户清零。
- 受托资金:授权书中规定的任何数值,再减去一段缓冲。
把这条线画出来运行模拟,然后读取尾部比例。任何超过约 5% 运行的结果,都是仓位问题,不是策略问题,修正方法就在上一节。
哪些输入会让 Monte Carlo 模拟不可靠?
Monte Carlo 对交易顺序很诚实;但如果您喂给它的东西很差,它对其他所有事情都会不诚实。
交易太少。30 笔交易只给您 30 个可抽取结果;模拟会很乐意用它们生成一张漂亮的扇形图,但这张图建立在一个连 55% 策略和 45% 策略都无法区分的样本上。低于约 100 笔交易时,应把输出当作草图。本指南顶部的 BTCUSDT 图表很好地说明了这个问题:6 个月内 5 个市场状态标签是真实形态,但观测数量远远不足以模拟——您需要的是它们背后的账本,而不是图片。
序列相关。真实连续亏损往往聚集在市场状态变化附近;随机重采样会把它们均匀打散。如果您的策略在震荡中亏损、在趋势中盈利,模拟尾部就会过于友好。修正方法是区块重采样——抽取连续 5 笔或 10 笔交易,而不是单笔交易——大多数电子表格设置可以做到,下方工具也可以。
遗漏成本。如果交易列表未扣除手续费、滑点和资金费率,每次运行都会继承这种乐观偏差。请使用净 R 倍数;我们的利润计算器指南展示了如何净化这些结果。
Monte Carlo 与滚动样本外测试有什么不同?
人们常把它们当作相互竞争的方法。其实它们回答的是不同问题。
滚动样本外测试问的是:规则在未被拟合的数据上是否仍然有效?它测试的是优势。
Monte Carlo 问的是:在规则确实有效的前提下,它在好起来之前可能糟到什么程度?它测试的是仓位。
顺序应当是先滚动样本外测试,再 Monte Carlo,而免费算法交易课程正是因为这个原因,把它们放在第 7 周和第 8 周。
回测、Monte Carlo 与滚动样本外测试速览
| 方法 | 它回答的问题 | 它使用什么 | 它测试什么 | 盲点 |
|---|---|---|---|---|
| 单次回测 | 规则在历史数据上表现如何? | 一条历史交易序列 | 一条资金曲线和一个最大回撤 | 只显示一种交易顺序 |
| Monte Carlo 重排 | 在变好之前,它可能糟到什么程度? | 同一批交易,重采样数千次 | 仓位:回撤范围和爆仓风险 | 假设优势仍然有效;会打散聚集亏损 |
| 区块重采样 | 同一个问题,但把连续亏损保持在一起 | 连续 5 笔或 10 笔交易的一段序列 | 亏损按市场状态聚集时的尾部风险 | 仍然假设优势有效 |
| 滚动样本外分析 | 规则在未被拟合的数据上是否有效? | 滚动拟合窗口与样本外窗口 | 优势本身 | 对回撤尾部或仓位说明很少 |
◆先运行滚动样本外测试来检验优势,再用 Monte Carlo 决定仓位。
您如何自己运行 Monte Carlo 模拟?
本页模拟器足够做第一次观察:输入胜率、平均盈利、平均亏损、每次运行交易数和每笔交易风险,它会在浏览器中绘制资金扇形图和回撤直方图。对于您自己的交易列表,电子表格就能完成:把 R 倍数粘贴到一列中,用随机索引重采样,累计结果,并记录每次运行的回撤——1,000 次运行只需几分钟重新计算。Python 用户可以用 numpy 在 20 行内完成;回测指南中有这个模式。
无论您使用哪种工具,在信任一个策略之前,都请写下 3 个数字:最终 R 中位数、第 5 百分位最终 R,以及越过您爆仓线的运行比例。
回测是抽一张牌;Monte Carlo 展示整副牌。阅读中位数、第 5 百分位和越过爆仓线的运行比例,喂给它净交易结果且至少 100 笔;如果亏损会聚集,就使用区块重采样;并把风险百分比当作生存旋钮——当您加仓时,期望值不会改变,但尾部会改变。
◆ 互动检查
这张扇形图到底告诉您什么?
交易者关于 Monte Carlo 模拟常问的问题
至少需要 100 笔真实交易,输出才不只是草图;要讨论尾部,最好有 300 笔或更多。模拟运行次数没有输入其中的真实交易数量重要。
不会。它告诉您,当同样的交易以不同顺序到来时,您现有优势可能产生的结果范围。如果优势消失,模拟所说的一切也随之消失。
它不做建议;它展示尾部。对于大多数胜率 50–60%、盈利为 1.5–2R 的策略,每笔交易 0.5–1% 风险会把 25% 回撤尾部控制在少数几个百分点的运行以内。超过 2% 后,尾部增长会快于收益。
这正是合适的工具:把爆仓线设在该计划的回撤限制处,模拟一个考核长度的运行,并在付款前读取通过和失败概率。
对交易结果进行可重复重采样是一种 bootstrap;Monte Carlo 是更广泛的模拟家族,其中包含这种方法。在交易中,这两个词通常指同一套流程。
原生不支持。Strategy Tester 给出一条资金曲线。请导出交易列表,并在电子表格、Python 或本页模拟器中进行重采样。
这取决于您的爆仓线,而不是某个通用数字。如果您的限制是 10%,中位回撤为 10% 意味着一半未来路径会失败——请降低仓位,直到第 95 百分位落在限制以内。
适用,只要您有带 R 倍数的交易记录列表。它对主观交易者往往更有用,因为他们很少有回测可看。
Zeno 的信号以账本形式发布在 TradingView 上——160 个已关闭信号,每个都有结果——这正是 Monte Carlo 测试所需的输入。订阅者会按自己的风险百分比重采样该列表,再决定如何给这些信号配置仓位。
参考资料与相关指南
接下来阅读
- 什么是量化交易?规则、数据以及真正做这件事的人
- 一年有多少个交易日?(日历、按市场、计算器)
- 仓位大小:完整指南
- 交易策略回测
- 免费算法交易课程
- 交易利润计算器
- 回撤修复(Academy)
- 交易日志:完整指南
- Apex Trader Funding 评测
- 风险管理:完整指南
权威来源
- Investopedia: Monte Carlo simulation
- NumPy: random resampling (Generator.choice)
- CME Group: risk management basics
- TradingView: Strategy Tester (single equity curve)
- Bootstrapping (statistics) — resampling with replacement