历史资金曲线只显示一种结果顺序,也就是实际发生的顺序。蒙特卡洛模拟会问,同一组证据沿着许多不同路径发展时可能呈现什么结果。它不会改善 Trade,也不会预测市场。它揭示过去结果的顺序和重复出现方式,会在多大程度上改变你必须经历的交易路径。
这种区别让模拟能用于一项具体工作:检验策略表面上的稳定性是否依赖某个有利顺序。结果是一组有条件的结果范围,而不是预测。
交易者可以针对交易历史提出两个不同问题:
- **预测:**如果与这组筛选样本相似的结果在接下来一批 Trade 中再次出现,可能得到什么结果范围?
- **重排:**如果这些完全相同的 Trade 以另一种顺序出现,路径会有多大不同?
两种模式使用相同的源数据,但回答不同的问题。把它们视为可以互换,是误读结果最直接的方式。
Tradeways 会根据实际导入的 Trade,在浏览器内运行这两种模式。当前账户范围和实时交易筛选条件会定义输入,因此无需重新输入胜率和盈亏比估值,就能按策略、代码、方向、时间范围或其他支持的条件筛选数据。蒙特卡洛分析会随范围变化而更新,并明确将结果标示为基于过去 Trade 的模拟,而不是预测。
预测模式每次从筛选后的历史结果中抽取一个 Trade,逐步构建每条路径。同一个结果在一次运行中可以被抽中多次,也可能一次都没有被抽中。这就是有放回抽样。
你可以选择一个范围,例如接下来的 100 个 Trade,模拟会多次重复这一过程。输出结果会显示在一个明确假设下,各条路径和最终结果的分布有多宽。这个假设是:所选历史记录可以合理代表未来可能再次出现的结果。
当问题面向未来但附带条件时,预测模式较为合适。它可以显示,即使历史平均值为正,仍可能出现亏损路径、较深的 Drawdown 或漫长的恢复期。它无法说明策略的 Edge 是否会持续、市场环境是否会变化,或未来 Trade 是否遵循同一种分布。
重排模式会在每条路径中恰好使用筛选样本里的每个 Trade 一次,只改变它们的顺序。因此,在累加 P&L 视图中,每条路径最终都会达到相同总额。改变的是到达这个总额的过程,包括连续亏损、资金峰值、恢复时间和最大 Drawdown。
这种模式回答归因问题。如果历史曲线看起来平稳,但许多其他排序都有明显更深的 Drawdown,那么部分平稳性来自顺序上的好运。如果不同排序的 Drawdown 分布都很集中,观察到的路径就较少依赖盈利和亏损出现的时间。
重排不会创造新的 Trade 结果,也不会估计下一批 Trade。它还会打破原始顺序中的任何连续结构。如果结果取决于市场阶段、持仓重叠或有意调整仓位规模,应把结果理解为顺序测试,而不是这些依赖关系的模型。
扇形图的横轴是 Trade 数量,纵轴是累计结果。模拟会在每一步把所有路径值排序,并标出百分位数。中位线表示模拟结果的中间值。较宽的区间,例如第 5 至第 95 百分位区间,会显示更多模拟离散程度。
预测示例:从 80 个筛选后的历史 Trade 中抽样,进行 4,000 次、每次 100 个 Trade 的模拟。基于同一组证据,中位数上升,第 5 百分位数却没有上升。
分 3 步阅读图表:
- **看中心。**中位数显示每个 Trade 数量下的模拟中间结果。它不是预期路径,也不是承诺。
- **看宽度。**扇形迅速变宽,表示在所选假设下,该序列会产生范围很广的累计结果。
- **比较实际曲线。**历史路径显示已实现的顺序处于模拟范围的什么位置。路径接近外侧区间,表示它在这个模型中不常见,并不能证明策略或执行在所有可能模型中都不寻常。
每一步的百分位边界都会单独计算。因此,第 5 百分位线不一定代表一条连续的模拟路径,也不表示未来资金曲线有 95% 的概率始终位于它上方。它只是对每一步所有运行结果的汇总。
扇形图显示累计结果。Drawdown 分布回答另一个问题:每条模拟路径在恢复或结束前,相比自身先前峰值最大下跌了多少?
模拟会记录每次运行中从峰值到谷值的最大跌幅,再把这些最大 Drawdown 分组。分布中心描述典型的模拟最严重跌幅,上端尾部则显示少数运行中出现的更深跌幅。
同一批运行,回答不同的问题。最严重跌幅的中位数为 11.4R,每 20 次运行中有 1 次超过 23.3R。
请特别关注尾部,不要只看平均值。可接受的 Drawdown 中位数可以与大得多的第 95 百分位 Drawdown 同时存在。两者之间的差距反映路径风险。将其与你的资金限制,以及策略无法再按计划执行的临界点进行比较。
这与破产风险相关,但并不相同。Drawdown 衡量一条路径从峰值到谷值的损失。破产风险需要先定义资金门槛,再询问模拟路径触及该门槛的频率。如果要测试手动设定的胜率、盈亏比、每笔 Trade 风险和资金假设,可以使用破产风险模拟器。蒙特卡洛分析则使用筛选后的已导入交易历史分布。
把模拟当作比较工具,而不是单一分数。
- 选择与你正在复盘的策略或决策相符的账户范围和筛选条件。
- 解读输出前检查样本。确认排除项、缺失值和符合条件的 Trade 数量都可以接受。
- 先运行重排模式,把总表现与顺序运气分开。
- 先查看最大 Drawdown 的尾部和连续亏损范围,再看最终结果中位数。
- 切换到预测模式,选择与决策周期相符的范围,并观察扇形扩大的速度。
- 每次只更改一个有依据的筛选条件。如果移除某个市场阶段、Setup 或账户后分布明显改变,应调查原因,而不是挑选你更喜欢的结果。
模拟可以说明观察到的结果对抽样和顺序有多敏感。它无法验证策略的 Edge、修复有偏差的输入数据,也无法替你选择仓位规模。仓位规模是另一个决策。凯利公式说明了在严格假设下实现增长最优的比例,而破产风险分析关注资金跌破某个门槛的概率。
蒙特卡洛结果只能支持以输入为条件的陈述:在这组筛选样本、这种模式、这个范围和这些运行次数下,出现了某个结果区间。它不能证明未来回报或 Drawdown 必然如此,也不能证明结果互相独立,或筛选样本以后仍具有代表性。
这些限制并不意味着应该放弃分析。正因如此,你需要标示数据来源、检查分布尾部,并在基础 Trade 集合变化后重新运行测试。它的价值不在于画出更好看的资金曲线,而在于更清楚地看见同一组交易证据本身包含多少不确定性。