GONJUKUcost & risk desk

首页/文章/定投最大回撤怎么算

定投最大回撤怎么算:追加本金为什么会掩盖跌幅

陆嘉行 · 发布 2026-10-27 · 更新 2026-10-27 · 约 9 分钟 ·

假设算例对照图:追加本金后账户市值从 1200 升至 2350 USDT,剔除入金影响的净值却从 1.20 跌到 0.60,最大回撤为 50%
假设算例:两次各追加 1,000 USDT 能抬高账户市值,却不会消除从净值高点算起的跌幅。图中数字与下文同一组计算对应。

定投最大回撤不能只拿不断追加后的账户余额来算。若要衡量资金本身经历的下跌,应先剔除入金、出金的影响,形成一条净值曲线,再逐日比较净值与此前最高点:最大回撤 = 最大的(1 − 当期净值 ÷ 此前及当期最高净值)。本文用净值法演算,回撤记为正的损失幅度。

它与「相对累计投入亏了多少」是两个指标。下面同一笔假设定投,净值最大回撤为 50%,而在所列观察点中,相对累计本金最深浮亏为 21.67%;差别就在分母和追加资金的处理。

账户余额一直增加,为什么仍可能有很大回撤?

假设你分三次各投入 1,000 USDT,到账就按当时价格买入 BTC。期间只持有 BTC,没有借贷、杠杆、利息或提现。为了看清资金流的影响,先不计手续费,也允许小数币量;下面的价格和观察点全部为演算设定,不是某段历史行情。

第一次买入价是 50,000 USDT,买到 0.02 BTC。价格涨到 60,000 时,账户值 1,200;随后跌到 40,000,原来的币只值 800。此时再投入 1,000 并买入 0.025 BTC,账户变成 1,800。余额比上次记录的 1,200 多了,但其中有 1,000 是你新放进去的钱。

观察时点BTC 价格累计投入账户市值剔除入金后的净值
第一次买入后50,0001,0001,0001.00
中途涨价,未追加60,0001,0001,2001.20
第二次买入后40,0002,0001,8000.80
第三次买入后30,0003,0002,3500.60
最后一次观察,未追加45,0003,0003,5250.90

表内价格、市值和投入均以 USDT 计;净值是无单位的记账数,初值设为 1。第三次买入前,0.045 BTC 值 1,350 USDT,加上新投的 1,000 后为 2,350。币量变成约 0.07833333 BTC,最后按 45,000 估值,就是 3,525 USDT。计算使用未四舍五入的币量。

只拿表里五个追加之后的余额算回撤,得到的是 0%:1,000、1,200、1,800、2,350、3,525 一路增加。这既漏掉了入金前的下跌,又把新本金当成了账户表现。第五列记录的才是本文要比较的、剔除外部入金影响的净值路径。

追加本金时,怎样让净值不被抬高?

可以把自己的账户想成一个只用于记账的小份额池。这里的「份额」不是 BTC 数量,也不是买了另一种产品。

  1. 起初投入 1,000 USDT,净值设为 1,于是记 1,000 份。以后用账户市值 ÷ 总份额求净值。
  2. 价格涨到 60,000,账户 1,200 USDT、份额仍是 1,000,净值为 1.20。跌到 40,000 时,入金前市值 800,净值便降为 0.80。
  3. 第二笔 1,000 入金,按入金前净值新增 1,000 ÷ 0.80 = 1,250 份。总份额 2,250,入金后市值 1,800,净值仍是 0.80。
  4. 价格再跌到 30,000,入金前市值 1,350,除以 2,250 份得 0.60。第三笔 1,000 增加约 1,666.6667 份。总份额约 3,916.6667,入金后市值 2,350,净值仍为 0.60。

一般地,净值为正且入金本身没有费用时,新份额 = 入金金额 ÷ 入金前净值。如果净值已经归零,这个除法不能继续用;账户全额取空后重新开始的记录,也应分段计算,不能硬接一条曲线。

这样记账的理由可以直接验算:原市值等于「原份额 × 净值」,入金又同时增加等值的份额,所以入金那一瞬间的净值不变。买入产生的手续费则会减少资产,不能当作入金一样消掉。若卖币后 USDT 仍留在你定义的这个账户内,只是账户内部换了资产,也不是外部提现。

这个处理对应时间加权收益的思路:把外部资金流与投资涨跌分开。Portfolio Performance 官方手册的时间加权收益说明要求按现金流拆分期间,再把各段收益连接起来;精确计算需要现金流发生前的估值。这里用份额记账展示同一个原理,不需要先计算年化收益率。

最大回撤怎么算,为什么不能拿全段最高和最低直接相减?

对每一个观察时点,先找截至当时出现过的最高净值,再算相对它跌了多少。本文把回撤写成正的损失幅度:

当期回撤 = 1 − 当期净值 ÷ 此前及当期最高净值
最大回撤 = 所有观察时点中最大的当期回撤

本例净值依次是 1.00、1.20、0.80、0.60、0.90。对应的回撤是 0%、0%、约 33.33%、50%、25%。最大的一段从 1.20 到 0.60,算式是 1 − 0.60 ÷ 1.20 = 50%。最后虽然反弹到 0.90,已经发生过的最大回撤仍为 50%,最后时点相对旧高点的回撤才是 25%。

高点必须在低点之前。假如另一条曲线只有 1.00 → 0.80 → 1.20,最大回撤是从 1.00 跌到 0.80 的 20%,不能拿后来才出现的 1.20 和前面的 0.80 算成 33.33%。

这两个公式定义的是给定观察序列中的回撤。用日末价格算,就是日末净值的最大回撤;若日内曾经跌得更深而收盘回升,日末数据不会保留那个低点。每月只看一次的结果,也不能直接与逐日观察的结果比较。

回撤 50%,是不是代表投入的 3,000 已经亏了一半?

不是。第三次买入后,累计投入 3,000,账户值 2,350,实际少了 650 USDT,相对累计投入的浮亏为 650 ÷ 3,000 ≈ 21.67%。这个数的分母是投入本金;50% 的分母则是此前的净值高点,两者回答不同的问题。

最后账户值 3,525,相对累计投入赚了 525,即 17.5%。这是期末对本金的结果,中途净值跌去一半的经历仍然存在。记录时把三项分开:

  • 净值最大回撤:50%。
  • 在所列观察点中,相对累计投入最深浮亏:650 USDT、21.67%。
  • 期末盈亏:+525 USDT。

还有一个容易误会的地方:在本文这种每笔到账资金立即全部买同一种币、无费用、没有闲置现金的设定下,剔除现金流后的净值会跟着币价同比变化。因此,净值最大回撤并不能单独证明某个定投日期比另一个好,也不能用来声称「分批买入把币价回撤降低了」。要看分批投入对你资金的实际影响,还得一起看投入时间、金额和对应盈亏。平均买入成本与回本价,另见定投平均成本的计算。

给定投回测补回撤记录,需要留下哪些数?

先固定账户范围:只算已买到的币,还是把计划内尚未买币的 USDT 也放进来。两种范围都能计算,但不能一段包含现金、另一段又排除现金。多种资产要在同一时点换算成同一种计价单位;用 USDT 记账的下跌幅度,不自动等于用人民币衡量的下跌幅度。

  • 入金记录:每笔金额与发生时间,以及入金前一刻的账户市值。缺少这个估值时,不能声称已精确消除了资金流影响。
  • 资产记录:币量、现金余额、估值价格与时点;手续费按实际扣除的币种和金额进入资产变化,不把费用加回去美化结果。
  • 净值记录:每次增加或减少份额后保留总份额;在一致的观察频率下算净值、累计最高净值及当期回撤,最后取最大值。

若只有每天的汇总数,可以采用明确的日内时点假设来近似。上述官方手册使用「入金发生在日初、出金发生在日末」的约定,其日收益因子为(日末市值 + 当日出金)÷(前一日末市值 + 当日入金)。实际入金发生在盘中且币价波动明显时,这个约定与按真实时点估值可能有差异,回测说明里应写清。

本站定投回测器标出的是每月买入后账面收益率最低的月份,没有计算净值最大回撤。需要回撤数据时,可按本文的份额法另行计算。起止日期与收益率如何影响解读,见比特币定投回测怎么看。

比较两份回撤结果前,先核对观察区间、资金流、现金范围和费用处理。

方法来源:Portfolio Performance:收益衡量与外部资金流,以及上文的时间加权收益章节,查阅于 2026-10-27。表格为本文假设演算;它解释计算方法,不代表 BTC 的历史最大回撤或未来亏损上限。