OptiNod 学院

最大回撤:决定策略能否持续运行的界线

最大回撤不是已经过去的亏损记录,而是决定这个策略能否运行下去的资金和心理界线。回本是不对称的,实盘回撤通常比回测更深。

最大回撤(Maximum Drawdown, MDD)是资金曲线从高点到随后低点的最大跌幅,用百分比表示。如果本金从10,000美元跌到7,000美元,之后又涨了回来,这一段的回撤就是30%。计算本身很简单,找到相对高点跌得最多的那个点就行。


多数交易者把这个数字当作回测报告里的一行,一眼带过。年化收益80%这一行会盯着看很久,最大回撤35%这一行却当成已经结束的亏损记录跳过。但这个数字不只是过去的记录,它还决定这个策略以后能不能继续运行。


回撤之所以成为界线,有三个原因叠加在一起。第一,从回撤回到本金所需的收益率,随回撤加深而不对称地增大。第二,回撤持续太久,不管收益率如何,交易者都会放弃策略。第三,实盘中经历的回撤,通常比回测显示的最大回撤更深。把这三点依次讲清楚,原本被当作收益率旁边参考数字的最大回撤,就会成为仓位管理和策略选择的出发点。


以相对高点的最大跌幅衡量的最大回撤定义
以相对高点的最大跌幅衡量的最大回撤定义

回本所需的收益率总是大于回撤


如果把回撤和回本收益率当成同一个数字,就会把回本需要走的距离看得比实际短。亏20%就以为赚20%能回来,但计算不是这样。亏20%之后剩下的本金是80%,从这80回到本金100,需要25%。亏损是按较大的金额扣掉的,回本却要按缩小后的金额去补,所以回本所需的收益率总是大于回撤。


回撤越深,这个差距扩大得越快。30%的回撤要 +43%才能回本,50%的回撤要 +100%,80%的回撤要 +400%。超过50%之后,回本收益率超过回撤的两倍,从那里开始,靠普通的运作就很难回来了。


BTC正好体现了这个计算。从2021年11月10日约69,000美元的高点,到2022年11月21日约15,476美元的低点,按日线收盘价计算下跌约77.6%。要从这个谷底回到69,000美元,需要约 +346%,BTC实际再次以高于69,000美元收盘,是在2024年3月11日。从高点到回本约28个月,从低点到回本也用了约16个月。报告里一行写着的77%回撤,实际意味着两年多的回本时间。


在策略层面,同样的不对称也在起作用。年化收益再高,一旦碰上一次50%的回撤,之后光是回到前高就要赚 +100%,本该以复利增长的曲线,会在相当长的时间里原地踏步。只看收益率数字选出的策略,实际上会陷入难以回本的区间,问题就出在这里。


交易者先被水下时间耗垮,而不是回撤的深度


回撤除了深度,还有另一个维度:资金低于前高的时间,即回撤持续期(Underwater Period)。深度衡量跌到了多低,持续期看的是在水下待了多久。而真正让交易者放弃策略的,往往是持续期。


原因在心理。30%的回撤一个月就收复,交易者不会怀疑系统。同样的30%到第十个月还没有收复,每天看到账户余额低于前高,就会积累起策略已经失效的怀疑。回测里的回本在图表上一次完成,但实时走过这段区间的人,并不知道回本会不会到来,只能每一笔交易都硬扛过去。最常见的失败,最后就是在回本之前放弃策略。


BTC持有者的行为体现了这种持续期的压力。2022年11月15,476美元的低点只有短短几天,但处于前高之下的时间超过两年。许多长期持有者撑过了触底的那几天,却在2023年全年持续的漫长而乏味的横盘阶段卖出了持仓。许多人是在觉得回本遥遥无期、疲惫感最重的时候抛掉的。卖盘集中的位置,离价格最便宜的底部很远,是已经筋疲力尽的位置。


选策略时只看最大回撤、不看持续期,就会把这个风险整个漏掉。同样是25%的最大回撤,平均回本要3周的策略和要8个月的策略,在实盘里完全是两种策略。回测报告里除了最大回撤,还要一并确认最长持续期,差别就出在这个习惯上。


同样的回撤,回本时间短的策略与长的策略的差别
同样的回撤,回本时间短的策略与长的策略的差别

回测的最大回撤是未来回撤的下限


代价最大的误解,是把回测的最大回撤当成未来回撤的上限。报告里写着最大回撤28%,就假定实盘里也大致以此为底,并据此分配资金。实际上,这个28%并不是上限,更接近未来回撤的下限。未来的回撤几乎总是比过去的最大回撤更深。


原因在样本。回测的最大回撤,只是过去数据里最差的一段,数据中没有出现过的事件不会进入计算。样本之外发生的事件,也就是那段时期没有出现过的规模的冲击,一旦出现,回撤立刻超过过去的记录。即使回测区间很长,多次包含了高波动阶段,其中的最大回撤也只是记录了到目前为止发生过的最坏情况,并没有包含以后可能发生的最坏情况。


此外还有只在实盘中才会出现的额外亏损。回测把滑点设得很小或者干脆不计,把手续费简化,并假定所有订单都按预期价格成交。在波动率飙升、回撤加深的那些区间,滑点和未成交最严重,而回测几乎无法反映这种相关性。所以实盘曲线的谷底,比模拟曲线的谷底挖得更深。


BTC自身就说明冲击来自样本之外。2017年高点到2018年低点的回撤约为84%。只看2017年数据做出的系统,会把80%多的回撤当作最坏情况,但2021年到2022年之间又出现了约77%的下跌。深度回撤是这个资产反复表现出来的特性,把过去的一次记录当作上限的人,在第二次冲击面前毫无准备。实盘仓位管理应当在回测最大回撤之上留出余量,使得出现其1.5倍到2倍的回撤时,仍能继续运行。


样本之外的冲击与滑点使实盘回撤比回测更深的关系
样本之外的冲击与滑点使实盘回撤比回测更深的关系

可运行的回撤取决于资金的性质


同样是30%的回撤,在有些资金上还能承受,在另一些资金上却会让人结束运行。造成差别的,是这笔资金是什么钱。同样的绝对数字,能承受的幅度因资金性质而异。闲钱的30%和下个月生活费的30%,只是数字相同,亏损完全不同。


原因在回本所需的时间。资金曲线回到前高需要时间,如果运行的资金与生计或近期的开支挂钩,就等不起这段时间。回本到来之前就不得不抽出资金时,只能在回撤区间被迫平仓,把亏损落实。这时前面讲过的回本不对称影响最坏。从下跌50%的资金中取走一部分,剩下的资金即使赚了 +100%,也回不到原来的规模。


所以可运行的回撤上限,要从资金的两个维度来定。第一个维度,是投入这个策略的钱占全部资产的比重;第二个维度,是这笔钱到什么时候为止可以不动用。如果把全部身家的大部分投入一个策略,而且这笔钱一年内有开支,可运行的回撤很难超过20%。反过来,如果只投入全部的一部分,而且是五年以上不会动用的钱,即使50%的回撤,也可以留出时间等待回本。


2022年的熊市里,强制平仓蔓延最严重的就是这个环节。借来的钱或短期资金入场的仓位,在价格回升之前就因追加保证金和资金回收而被平仓,蔓延成连锁清算。同样经历价格下跌,用自有资金入场、能够等待回本的仓位,则免于被清算。承受回撤的能力,与策略的统计数据无关,取决于这笔资金是什么钱。


用最大回撤反推仓位大小


把最大回撤当成界线接受之后,决定仓位大小的顺序就倒过来了。先定能承受的回撤,再由此反推大小。这颠倒了原来先定大小以求扩大收益、再确认风险的顺序。界线在先,下注大小在后。


方法接近于把两个数字相乘。首先,在投入这个策略的资金上,定下可运行的最大回撤。接着估计该策略的实盘预期最大回撤,在回测值上加余量,取1.5倍到2倍。用可运行的上限除以预期回撤,就得出应当分配给这个策略的资产占比。预期最大回撤为40%的策略,如果以全部资产计只能承受到20%的回撤,那么这个策略能投入的占比就是50%。


这个顺序也改变了比较策略的标准。年化收益60%、最大回撤50%的策略,和年化收益35%、最大回撤18%的策略,只按收益率比较,前一个看起来更好。但如果是可运行回撤为20%的资金,前一个策略在一次正常的回撤中就会越过界线而结束运行,只有后一个策略能一直运行到底。无法运行到底的策略,它的高收益率只会留在报告上的数字里。


  • 设定运行上限:把投入这个策略的资金,划出占全部资产的一个比重,并先用一个数字定下这笔资金能承受的最大回撤,比如20%。
  • 估计实盘回撤:确认回测的最大回撤,考虑样本之外的事件和滑点,乘以1.5倍到2倍,作为实盘预期回撤。
  • 计算占比:用运行上限除以实盘预期回撤,定出分配给这个策略的资产占比。预期回撤40%、上限20%,占比就是50%。
  • 确认回本时间:确认回测中最长的回撤持续期,检查在这段时间里这笔资金能否不动用。超过一年的话,要与生活资金分开。
  • 失效标准:实盘回撤超过回测最大回撤的2倍时,视为策略与数据不再吻合,降低占比或暂停运行并复查。

先定能承受的回撤上限,再反推分配占比的仓位管理
先定能承受的回撤上限,再反推分配占比的仓位管理

误用回撤的三种情况


也有人知道回撤数字,却用错了。这些情况都是漏掉了前面所讲原理中的某一条。


只看收益率、忽略回撤的情况。 把回测按年化收益率排序,挑出最高的策略,就看不到该策略的最大回撤是否超过自己资金的运行上限。高收益大多伴随大回撤,超过上限的回撤,会在等到回本之前就结束运行。要把收益率和最大回撤当成一对来看,只在落入运行上限的策略中比较收益率。


把回测最大回撤当成上限的情况。 按报告中的最大回撤,恰好把资金分配到极限,样本之外的事件一旦出现,就没有任何余力承受。回测的数值不是上限,而是下限,所以实盘仓位管理总要在其上留出余量。


漏掉回本不对称的情况。 把回撤和回本收益率看成同一个数字,就会把从深度回撤中回来的距离算得比实际短。把50%的回撤看作 +50%就能回本,会漏掉实际需要的 +100%,把回本的可能性看得太大,最后带着大额亏损一路走下去。


把最大回撤当作过去亏损的记录来读,它只是报告里的一行;当作决定策略能否继续运行的界线来读,它就成为仓位管理和策略选择的出发点。回本呈不对称增大,持续期考验心理,实盘回撤比回测更深,只有在仓位管理阶段就预先考虑这三点的交易者,才能撑过深度回撤区间,等到回本。

确认你自己结果的回撤

上传 TradingView 策略的交易列表(CSV)或 MT5 报告,即可计算最大回撤、连续亏损和盈亏分布。无需登录即可分析。

分析我的交易记录 查看分析示例